{"version":3,"file":"idm-update/enrolmentAssistant.site.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,yCAAyC;AAC1C,O;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,KAA4D;AAC7D,CAAC,CAC+B;AAChC,CAAC,sBAAsB;;AAEvB;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gFAAgF;;AAEhF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,SAAS;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE,wCAAwC,UAAc;AACxD;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,KAAK;AACf;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kBAAkB,wBAAwB;AAC1C;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA,oBAAoB,6CAA6C;AACjE;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA,SAAS;AACT;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,OAAO;AACjB,UAAU,QAAQ;AAClB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU,OAAO;AACjB;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA;AACA,sBAAsB,YAAY;AAClC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,KAAK;AACf;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,UAAU,UAAU;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,SAAS;AACT,QAAQ;AACR;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,UAAU,UAAU;AACpB,UAAU,UAAU;AACpB;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,UAAU;AACpB;AACA,WAAW;AACX;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,YAAY,UAAU;AACtB,aAAa;AACb;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;AAID;;;;;;;;ACrpCA;AACA;AACA,gEAAgE;AAChE;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAyD,kDAAkD;AAC3G;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE,8BAA8B,gBAAgB,kBAAkB;AAChE;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,oCAAoC,wBAAwB,iBAAiB;AAC7E,oCAAoC,wBAAwB,IAAI;AAChE;AACA,wCAAwC;AACxC,wCAAwC,oBAAoB;AAC5D;AACA,wCAAwC;AACxC,wCAAwC,kBAAkB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wGAAwG;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,QAAQ;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,uBAAuB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,0BAA0B;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE,sEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,2BAA2B;AAClE;AACA;AACA,iBAAiB;AACjB,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,UAAU;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD,qDAAqD;AACrD,sDAAsD;AACtD,4DAA4D;AAC5D,8DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,wBAAwB;AAC/D;AACA;AACA,iBAAiB;AACjB,uDAAuD;AACvD,uDAAuD;AACvD,0DAA0D;AAC1D,oDAAoD;AACpD,mDAAmD;AACnD,qDAAqD;AACrD,sDAAsD;AACtD,4DAA4D;AAC5D,8DAA8D;AAC9D;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,yBAAyB;AACtF;AACA;AACA;AACA;AACA,gCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,oBAAoB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC,0BAA0B;;;;;;;;;;;;;;;;AC1mC+B;AACb;AACU;AACL;AAC3C;AACP,IAAI,0DAAS;AACb;AACA;AACA;AACA,wBAAwB,2DAAU;AAClC,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC,CAAC,sEAAY;;;;;;;;;;;;;;;;ACd4C;AACb;AACU;AACM;AACtD;AACP,IAAI,0DAAS;AACb;AACA;AACA;AACA,mCAAmC,2DAAU;AAC7C,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC,CAAC,iFAAuB;;;;;;;;;;;;;;;;ACdiC;AACH;AACN;AACJ;AACtC;AACP,IAAI,0DAAS;AACb;AACA;AACA;AACA;AACA;AACA,8CAA8C,8DAA8D;AAC5G;AACA;AACA;AACA,8CAA8C,8GAA8G;AAC5J;AACA;AACA;AACA,8CAA8C,8CAA8C;AAC5F;AACA;AACA;AACA,8CAA8C,gFAAgF;AAC9H;AACA;AACA;AACA,8CAA8C,mFAAmF;AACjI;AACA,2BAA2B,2DAAU;AACrC,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC,CAAC,oEAAU;;;;;;;;;;;;;;;;AClCmC;AACF;AACK;AACK;AAChD;AACP;AACA;AACA,gCAAgC,sEAAY;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,2DAAU;AACpC,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;AC1EuE;AAC1B;AACgB;AACN;AAChD;AACP;AACA;AACA,2CAA2C,iFAAuB;AAClE;AACA;AACA,eAAe,0DAAS;AACxB,mBAAmB,4DAAW;AAC9B;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,2DAAU;AAC/C,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACvF0D;AACb;AACU;AACN;AAC3B;AACf;AACP,IAAI,0DAAS;AACb;AACA;AACA;AACA;AACA;AACA,8CAA8C,kCAAkC,oDAAG,mEAAmE;AACtJ;AACA;AACA;AACA,8CAA8C,mCAAmC,oDAAG,0FAA0F;AAC9K;AACA;AACA;AACA,8CAA8C,mCAAmC,oDAAG,8GAA8G;AAClM;AACA,wBAAwB,2DAAU;AAClC,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC,CAAC,oEAAU;;;;;;;;;;;;;;;;AC3B8C;AACH;AACN;AACJ;AACtC;AACP,IAAI,0DAAS;AACb;AACA;AACA;AACA;AACA;AACA,8CAA8C,0DAA0D;AACxG;AACA,iCAAiC,2DAAU;AAC3C,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC,CAAC,oEAAU;;;;;;;;;;;;;;;;;AClBL;AACA;AACA;AACA;AACA;AACA;AACP,MAAM,+DAA+D,OAAO,mQAA4B,KAAK;AAC7G,MAAM,iEAAiE,OAAO,mQAA6B;AAC3G;;;;;;;;;;;;;;;;;;ACRkC;AAC3B;AACP,IAAI,+BAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;ACZ0B;;;;;;;;;;;;;;;ACA+B;AACZ;AACvC;AACP,IAAI,0DAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAC,iEAAa;AACf;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA,mBAAmB,4DAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iEAAa;AAC/C;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,CAAC;AACqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzC4D;AACrC;AACU;AACN;AAC1C;AACP,IAAI,+BAAS;AACb;AACA;AACA;AACA;AACA,eAAe,+BAAS;AACxB;AACA;AACA,mBAAmB,iCAAW;AAC9B;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA,qBAAqB,IAAI;AACzB,aAAa;AACb,SAAS;AACT;AACA,wBAAwB,gCAAU;AAClC,QAAQ,gCAAU;AAClB,QAAQ,gCAAU,uBAAuB,6BAAU;AACnD;AACA;AACA,CAAC,CAAC,qBAAU;;;;;;;;;;;AC/BmC;AACF;AACvB;AACf;AACP,gBAAgB,0BAA0B;AAC1C,oBAAoB,0BAA0B;AAC9C,cAAc,uBAAuB;AACrC,0BAA0B,wBAAwB;AAClD,eAAe,wBAAwB;AACvC,4BAA4B,yBAAyB;AACrD,qBAAqB;AACrB;AACO;AACP,eAAe,mBAAmB;AAClC,4BAA4B,sBAAsB;AAClD,qBAAqB,WAAW,kBAAG;AACnC;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,gCAAU;AACnC,QAAQ,gCAAU;AAClB,QAAQ,gCAAU;AAClB;AACA;AACA,CAAC;;;AChCsE;AAC1B;AACU;AACT;AACc;AACtC;AACf;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,eAAe,+BAAS;AACxB;AACA,mBAAmB,iCAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,kBAAG;AAC9E;AACA;AACA;AACA;AACA;AACA,kCAAkC,2BAAa;AAC/C;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,kBAAkB,gCAAU;AAC5B,QAAQ,gCAAU;AAClB,QAAQ,gCAAU,uBAAuB,8BAAU,EAAE,kBAAkB;AACvE;AACA;AACA,CAAC;;;ACtDsC;AACD;AACL;AACF;AACQ;;;;;;;;;;;;;;;;ACJ2C;AACrC;AACU;AACpB;AAC5B;AACP,IAAI,0DAAS;AACb;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA,mBAAmB,4DAAW;AAC9B;AACA,qEAAqE,+BAA+B;AACpG,aAAa;AACb,SAAS;AACT;AACA,oBAAoB,2DAAU;AAC9B,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC,CAAC,qDAAU;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBL;AACP;AACA,qCAAqC;AACrC;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACdkF;AACrC;AACF;AACA;AACO;AACP;AAC3C;AACO;AACP,IAAI,+BAAS;AACb;AACA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+BAAS;AACxB;AACA,mBAAmB,iCAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,+BAAS;AACxB;AACA,mBAAmB,iCAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+BAAS;AACxB;AACA,mBAAmB,iCAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,+BAAS;AACxB,mBAAmB,iCAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE;AAChE;AACA;AACA;AACA;AACA,qBAAqB,gCAAU;AAC/B,QAAQ,gCAAU;AAClB,QAAQ,gCAAU,uBAAuB,6BAAU,EAAE,6BAAc;AACnE;AACA;AACA,CAAC,CAAC,iCAAY;;;;;AC7F4C;AACH;AACH;AACG;AACA;AAChD;AACP,IAAI,+BAAS;AACb;AACA;AACA;AACA,yBAAyB,gCAAU;AACnC,QAAQ,4BAAU;AAClB,QAAQ,gCAAU,uBAAuB,6BAAU,EAAE,6BAAc;AACnE;AACA;AACA,CAAC,CAAC,cAAc;;;;;;;;;;;;;ACfS;;;;;;;;;;;;;;ACAC;AACnB;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACPmC;AACU;AACf;AACvB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,gDAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA,6CAA6C,gCAAgC;AAC7E;AACA;AACA,mBAAmB,2DAAU;AAC7B,QAAQ,oEAAU;AAClB;AACA;AACA,CAAC;;;;;;;;;;;;ACnCD;AACO;;;;;;;;;;;;;;;;ACDoD;AACd;AACtC;AACP;AACA,wCAAwC;AACxC;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0DAAS;AACxB,mBAAmB,4DAAW;AAC9B;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,0DAAS;AACxB,mBAAmB,4DAAW;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,qBAAqB;AACrB,aAAa;AACb,SAAS;AACT;AACA;AACA,eAAe,0DAAS;AACxB;AACA;AACA,mBAAmB,4DAAW;AAC9B;AACA;AACA;AACA;AACA;AACA,qEAAqE,6CAA6C;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,iBAAiB,2DAAU;AAC3B,QAAQ,oEAAU;AAClB;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,sCAAsC;AAC1F;AACA;AACA;AACA;AACA;AACA,+BAA+B,4CAA4C;AAC3E,4BAA4B,gGAAgG;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;ACxJ+C;AACF;AACW;AACjD;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,mEAAW;AACpD;AACA;AACA,0CAA0C,mEAAW;AACrD;AACA;AACA,wCAAwC,mEAAW;AACnD;AACA;AACA;AACA;AACA,iBAAiB,2DAAU;AAC3B,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,8DAAU;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA;AACA;AACA,mJAAmJ;AACnJ;AACA;AACA;AACA;;;;;;;;;;;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACyB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChEA;AACA;AACA;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA,iBAAiB,SAAS;AAC1B;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACd6C;AACA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,wBAAwB,yCAAyC,OAAO,sOAA4D,GAAG,6BAA6B,8BAA8B;AAClM,mBAAmB,yCAAyC,OAAO,sOAAsD,GAAG,6BAA6B,+EAA+E;AACxO,8BAA8B,2CAA2C,OAAO,sOAAiE,GAAG,6BAA6B,4EAA4E;AAC7P,2BAA2B,2CAA2C,OAAO,sOAA8D,GAAG,6BAA6B,gFAAgF,qBAAqB,MAAM;AACtR,uBAAuB,2CAA2C,OAAO,sOAA0D,GAAG,6BAA6B,yHAAyH;AAC5R,qBAAqB,yCAAyC,OAAO,sOAAwD,GAAG,sBAAsB,iBAAiB;AACvK,oBAAoB,2CAA2C,OAAO,sOAAuD,GAAG,6BAA6B,iEAAiE;AAC9N,oBAAoB,6CAA6C,OAAO,oOAAuD,GAAG,6BAA6B,gKAAgK;AAC/T,wBAAwB,2CAA2C,OAAO,sOAA2D,GAAG,6BAA6B,kEAAkE;AACvO,mBAAmB,yCAAyC,OAAO,+RAAuD,GAAG,6BAA6B,wLAAwL;AAClV,gBAAgB,yCAAyC,OAAO,sOAAmD,GAAG,6BAA6B,+MAA+M;AAClW,sBAAsB,yCAAyC,OAAO,sOAAyD,GAAG,6BAA6B,oGAAoG;AACnQ,mCAAmC,2CAA2C,OAAO,sOAAuE,GAAG,6BAA6B,8EAA8E;AAC1Q,kCAAkC,yCAAyC,OAAO,sOAAuE,GAAG,6BAA6B,uLAAuL;AAChX,4BAA4B,yCAAyC,OAAO,sOAAiE,GAAG,sBAAsB,iBAAiB;AACvL,oCAAoC,yCAAyC,OAAO,sOAA0E,GAAG,6BAA6B,wIAAwI;AACtU,uBAAuB,yCAAyC,OAAO,oOAA2D,GAAG,6BAA6B,sEAAsE;AACxO;AACA,kCAAkC;AAClC;AACA;AACA,mBAAmB,yDAAQ,CAAC,yDAAQ,GAAG,iBAAiB,eAAe;AACvE;AACA,CAAC,IAAI;AACE;AACP;AACA;AACA;AACA,mCAAmC,uBAAuB;AAC1D,iCAAiC,QAAQ;AACzC,KAAK;AACL;AACA;AACA;AACA,kCAAkC,eAAe;AACjD,iCAAiC,QAAQ;AACzC,KAAK;AACL;AACA;AACA;AACA,mCAAmC;AACnC,KAAK;AACL;AACA;AACA;AACA,kCAAkC;AAClC,KAAK;AACL;AACA;AACA;AACA,mCAAmC;AACnC,KAAK;AACL;AACA;AACA;AACA,kCAAkC;AAClC,KAAK;AACL;AACA;AACA;AACA,mCAAmC;AACnC,KAAK;AACL;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA,CAAC;AACM;AACP;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,wBAAwB;AACxB,wCAAwC,qCAAqC;AAC7E;AACA;AACA,yCAAyC,0CAA0C,+BAA+B,oBAAoB;AACtI;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,4DAA4D,yBAAyB;AACrF;AACA;AACA,2BAA2B,2DAAU;AACrC,QAAQ,oEAAU;AAClB;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,wDAAwD,yBAAyB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzI0D;AACb;AACU;AACN;AAC3B;AACf;AACP,IAAI,+BAAS;AACb;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAG;AAC/B,8CAA8C,+BAA+B;AAC7E;AACA,mBAAmB,gCAAU;AAC7B,QAAQ,gCAAU;AAClB,QAAQ,gCAAU,uBAAuB,6BAAU;AACnD;AACA;AACA,CAAC,CAAC,qBAAU;;;ACpB8C;AACb;AACU;AACN;AAC1C;AACP,IAAI,+BAAS;AACb;AACA;AACA;AACA;AACA;AACA,8CAA8C,wFAAwF;AACtI;AACA,4BAA4B,gCAAU;AACtC,QAAQ,gCAAU;AAClB,QAAQ,gCAAU,uBAAuB,6BAAU;AACnD;AACA;AACA,CAAC,CAAC,qBAAU;;;AClB8C;AACb;AACU;AACK;AACrD;AACP,IAAI,+BAAS;AACb;AACA;AACA;AACA;AACA;AACA,8CAA8C,iGAAiG;AAC/I;AACA,+BAA+B,oBAAS;AACxC;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,8CAA8C,kGAAkG;AAChJ;AACA;AACA;AACA,8CAA8C,oLAAoL;AAClO;AACA;AACA;AACA,8CAA8C,+JAA+J;AAC7M;AACA;AACA;AACA,8CAA8C,2FAA2F,0DAA0D,IAAI;AACvM;AACA;AACA;AACA,8CAA8C,6FAA6F,kCAAkC,IAAI;AACjL;AACA;AACA;AACA,8CAA8C,uGAAuG,oDAAoD,IAAI;AAC7M;AACA,8BAA8B,gCAAU;AACxC,QAAQ,gCAAU;AAClB,QAAQ,gCAAU,uBAAuB,6BAAU;AACnD;AACA;AACA,CAAC,CAAC,qBAAU;;;;;;;AChDsE;AAC3B;AACN;AACJ;AACtC;AACP,IAAI,+BAAS;AACb;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,+BAAS;AACxB;AACA;AACA,mBAAmB,iCAAW;AAC9B;AACA;AACA;AACA;AACA,4EAA4E,qDAAqD;AACjI;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA,2BAA2B,gCAAU;AACrC,QAAQ,gCAAU;AAClB,QAAQ,gCAAU,uBAAuB,6BAAU;AACnD;AACA;AACA,CAAC,CAAC,qBAAU;;;AClCoB;AACU;AACE;AACH;AACH;AACG;;;;;;;;;;;;;;;;;ACLiB;AACb;AACU;AACN;AAC3B;AACf;AACP,IAAI,0DAAS;AACb;AACA;AACA;AACA;AACA;AACA,8CAA8C,kCAAkC,oDAAG,mEAAmE;AACtJ;AACA,wBAAwB,2DAAU;AAClC,QAAQ,oEAAU;AAClB,QAAQ,2DAAU,uBAAuB,0EAAU;AACnD;AACA;AACA,CAAC,CAAC,oEAAU;;;;;;;;;ACnBZ,sDAAe,u2EAAG,EAAC;;;;;;;;;;;;;;;;;;;ACAnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,gBAAgB,sCAAsC,kBAAkB;AACjF,wBAAwB;AACxB;AACA;;AAEO;AACP;AACA;AACA;AACA,kBAAkB;AAClB;AACA;;AAEO;AACP;AACA,+CAA+C,OAAO;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA,2DAA2D,cAAc;AACzE;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA,2CAA2C,QAAQ;AACnD;AACA;;AAEO;AACP,kCAAkC;AAClC;;AAEO;AACP,uBAAuB,uFAAuF;AAC9G;AACA;AACA,yGAAyG;AACzG;AACA,sCAAsC,QAAQ;AAC9C;AACA,gEAAgE;AAChE;AACA,8CAA8C,yFAAyF;AACvI,8DAA8D,2CAA2C;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,kBAAkB,yBAAyB;AAC3C;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA,4CAA4C,yEAAyE;AACrH;;AAEO;AACP;AACA;;AAEO;AACP,0BAA0B,+DAA+D,iBAAiB;AAC1G;AACA,kCAAkC,MAAM,+BAA+B,YAAY;AACnF,iCAAiC,MAAM,mCAAmC,YAAY;AACtF,8BAA8B;AAC9B;AACA,GAAG;AACH;;AAEO;AACP,YAAY,6BAA6B,0BAA0B,cAAc,qBAAqB;AACtG,2IAA2I,cAAc;AACzJ,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC,iCAAiC,SAAS;AAC1C,iCAAiC,WAAW,UAAU;AACtD,wCAAwC,cAAc;AACtD;AACA,4GAA4G,OAAO;AACnH,+EAA+E,iBAAiB;AAChG,uDAAuD,gBAAgB,QAAQ;AAC/E,6CAA6C,gBAAgB,gBAAgB;AAC7E;AACA,gCAAgC;AAChC;AACA;AACA,QAAQ,YAAY,aAAa,SAAS,UAAU;AACpD,kCAAkC,SAAS;AAC3C;AACA;;AAEO;AACP;AACA;AACA;AACA,eAAe,oCAAoC;AACnD;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;AAEM;AACP;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,MAAM;AACxB;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACO;AACP,2BAA2B,sBAAsB;AACjD;AACA;AACA;;AAEA;AACO;AACP,gDAAgD,QAAQ;AACxD,uCAAuC,QAAQ;AAC/C,uDAAuD,QAAQ;AAC/D;AACA;AACA;;AAEO;AACP,2EAA2E,OAAO;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEO;AACP;AACA;AACA,wMAAwM,cAAc;AACtN,4BAA4B,sBAAsB;AAClD,wBAAwB,YAAY,sBAAsB,qCAAqC,2CAA2C,MAAM;AAChJ,0BAA0B,MAAM,iBAAiB,YAAY;AAC7D,qBAAqB;AACrB,4BAA4B;AAC5B,2BAA2B;AAC3B,0BAA0B;AAC1B;;AAEO;AACP;AACA,eAAe,6CAA6C,UAAU,sDAAsD,cAAc;AAC1I,wBAAwB,6BAA6B,oBAAoB,uCAAuC,kBAAkB;AAClI;;AAEO;AACP;AACA;AACA,yGAAyG,uFAAuF,cAAc;AAC9M,qBAAqB,8BAA8B,gDAAgD,wDAAwD;AAC3J,2CAA2C,sCAAsC,UAAU,mBAAmB,IAAI;AAClH;;AAEO;AACP,+BAA+B,uCAAuC,YAAY,KAAK,OAAO;AAC9F;AACA;;AAEA;AACA,wCAAwC,4BAA4B;AACpE,CAAC;AACD;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP,2CAA2C;AAC3C;;AAEO;AACP;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,MAAM,oBAAoB,YAAY;AAC5E,qBAAqB,8CAA8C;AACnE;AACA;AACA,qBAAqB,aAAa;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uFAAuF,SAAS,gBAAgB;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,EAAC;;;;;;;UCzXF;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA,eAAe,4BAA4B;WAC3C,eAAe;WACf,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA,uDAAuD,qCAAqC,kBAAkB;WAC9G;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,sDAAsD;WACtD,sCAAsC,iEAAiE;WACvG,8DAA8D,wBAAwB,uBAAuB;WAC7G;WACA,+BAA+B;WAC/B;WACA;WACA;;;;;WCzBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;;;;;WCRA;WACA;WACA;WACA,mBAAmB,8aAA8a,+BAA+B,4+EAA4+E;WAC58F;;;;;WCJA;WACA;WACA;WACA,kCAAkC,q0BAAq0B;WACv2B;;;;;WCJA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD,8CAA8C;;;;;WCA9C;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WACrC;WACA,mGAAmG,YAAY;WAC/G;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,4CAA4C,mBAAmB;WAC/D;WACA;WACA,mEAAmE,iCAAiC;WACpG;WACA;WACA;WACA;;;;;WCzCA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WClBA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,IAAI;WACJ;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA;WACA;WACA,gBAAgB,6BAA6B;WAC7C;WACA;WACA;WACA;WACA;WACA,gBAAgB,8BAA8B;WAC9C;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA,kBAAkB;WAClB;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,GAAG;WACH;WACA;;WAEA;;;;;WCpEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;WACA,iCAAiC;;WAEjC;WACA;WACA;WACA,KAAK;WACL;WACA;WACA,2DAA2D,oEAAoE;WAC/H;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM;WACN;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,iCAAiC,mCAAmC;WACpE;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA,gEAAgE,iFAAiF;WACjJ;WACA;;;;;;;;;;;;;;;;;;;;;;;;ACxF+C;AAC/C;AACsB;AACuB;AACtC;AACP;AACA;AACA,YAAY,kBAAG;AACf;AACA;AACA;AACA,wCAAwC,kBAAG;AAC3C,mCAAmC,kBAAG;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,mBAAmB,mEAAmE;AACnG;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,gCAAU;AAC5B,QAAQ,gCAAU;AAClB,QAAQ,gCAAU;AAClB;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,mCAAmC,yCAAyC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,oEAAoE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;AACL;AACA;AACA,+CAA+C,cAAc;AAC7D;AACA;AACA;AACA;;;AClJO;AACP,yDAAyD,gEAAgE;AACzH,mDAAmD,qDAAqD;AACxG;AACA;AACA;AACA;;;;;;;ACNsB;AACO;AACtB;AACP;AACA,4BAA4B,kBAAG;AAC/B,sBAAsB,kBAAG;AACzB;AACA;AACA,0CAA0C,uBAAI;AAC9C;AACA;AACA;AACA;AACA,KAAK;AACL;;;ACd+C;AAC/C;AACO;AACP,WAAW,+BAAS;AACpB;AACA,eAAe,iCAAW;AAC1B,kDAAkD,OAAO,+BAAS;AAClE;AACA,uBAAuB,iCAAW;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,wCAAwC;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E,aAAa;AACxF,qDAAqD,6CAA6C;AAClG;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa,IAAI;AACjB;AACA,SAAS;AACT,KAAK;AACL;;;ACrC+C;AACQ;AACA;AACiE;AACtE;AACqB;AAChB;AACC;AACa;AAC9D;AACP,WAAW,+BAAS;AACpB,eAAe,iCAAW;AAC1B,2BAA2B,8BAAU;AACrC,gBAAgB,mBAAmB;AACnC;AACA,aAAa;AACb,2BAA2B,WAAW;AACtC,2BAA2B,6BAAU;AACrC,2BAA2B,6BAAc,sBAAsB,6BAAc;AAC7E,2BAA2B,mCAAkB;AAC7C,gBAAgB,uBAAuB,mCAAmC,WAAW;AACrF,gBAAgB,wBAAwB,mBAAmB,8BAAU;AACrE;AACA,aAAa;AACb,2BAA2B,kCAAiB;AAC5C,2BAA2B,8BAAa;AACxC,2BAA2B,4BAAW;AACtC,2BAA2B,mCAAkB;AAC7C;AACA,SAAS;AACT,KAAK;AACL;;;AC/BsC;AAC/B;AACP;AACA,oBAAoB,+RAAwC;AAC5D,iBAAiB,sOAAoC;AACrD,kBAAkB,sOAAqC;AACvD,2BAA2B,+IAA+C;AAC1E,sBAAsB,+IAA0C;AAChE,wBAAwB,oOAA4C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,uBAAuB;AAC5D;AACA;AACA,0EAA0E,mCAAa;AACvF,iBAAiB;AACjB;AACA,SAAS;AACT,KAAK;AACL,kDAAkD,cAAc;AAChE,4CAA4C,OAAO;AACnD;AACA,KAAK;AACL;;;AC7BoC;AACA;;;;;ACDM;AAC1C,oBAAmB;AACnB;AACA,gCAAgC,mBAAkB;AACnC;AACf;AACA;AACA,sBAAsB,gLAAqC;AAC3D,sBAAsB,kLAA2C;AACjE;AACA;AACA,sBAAsB,qJAAwC;AAC9D;AACA,sBAAsB,oGAAsB;AAC5C;AACA;AACA;;;AChB+C;AACU;AACzD;AACe;AACf,WAAW,+BAAS;AACpB;AACA,eAAe,iCAAW;AAC1B;AACA;AACA;AACA,yCAAyC,oGAAmB;AAC5D;AACA;AACA;AACA;AACA,qBAAqB;AACrB,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;AACL;;;ACxB+C;AACU;AACP;AACb;AACa;AAClD;AACe;AACf,WAAW,+BAAS;AACpB;AACA,eAAe,iCAAW;AAC1B;AACA;AACA,wBAAwB,oGAAa;AACrC,wBAAwB,0GAAuB;AAC/C,wBAAwB,kBAAkB;AAC1C,wBAAwB,QAAQ;AAChC;AACA;AACA;AACA;AACA;AACA,yCAAyC,wBAAwB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,WAAW;AAC9D,qBAAqB;AACrB;AACA,SAAS;AACT,KAAK;AACL;;;;;ACpC+C;AACF;AACtC;AACP;AACA;AACA;AACA;AACA,gBAAgB,gCAAU;AAC1B,QAAQ,gCAAU;AAClB,QAAQ,gCAAU;AAClB;AACA;AACA,CAAC;;;ACZ8C;AACkH;AACzE;AAC/C;AAClC;AACP,WAAW,+BAAS;AACpB,eAAe,iCAAW;AAC1B;AACA,2BAA2B,SAAS,sBAAsB,SAAS;AACnE,0BAA0B,mCAAkB,gBAAgB,kDAAiC;AAC7F,2BAA2B,uCAAY;AACvC,2BAA2B,+CAAqB;AAChD,2BAA2B,kDAAuB;AAClD,2BAA2B,+CAAoB;AAC/C,2BAA2B,+CAAoB;AAC/C,2BAA2B,4CAAiB;AAC5C;AACA,SAAS;AACT,KAAK;AACL;;;;;;;;;;;;;;;;;ACnB+C;AACwB;AACa;AACP;AACF;AACuB;AACvB;AACmB;AACvB;AAChE,SAAS,oCAAuB;AACvC,WAAW,+BAAS;AACpB,eAAe,iCAAW;AAC1B;AACA,2BAA2B,gDAAmB;AAC9C,2BAA2B,uEAA8B;AACzD;AACA,6BAA6B,uCAAY,YAAY,gDAAmB;AACxE,6BAA6B,kDAAuB,YAAY,uEAA8B;AAC9F,2BAA2B,4CAAiB;AAC5C,2BAA2B,yDAA0B;AACrD,2BAA2B,kDAAoB;AAC/C,2BAA2B,4CAAiB;AAC5C,2BAA2B,mEAA4B;AACvD;AACA,SAAS;AACT,KAAK;AACL;;;;;AC1BO;AACP,uCAAuC;AACvC;;;ACFO;AACP,MAAM,oDAAoD,OAAO,gSAAqC,KAAK;AAC3G,MAAM,mCAAmC,OAAO,6TAA6B,GAAG;AAChF,cAAc,yDAAyD,OAAO,+aAAoC,GAAG,UAAU,mBAAmB;AAClJ,cAAc,iEAAiE,OAAO,+RAAwC,GAAG,UAAU,uBAAuB;AAClK,cAAc,mDAAmD,OAAO,+RAAuD,GAAG,UAAU,gBAAgB;AAC5J,cAAc,qDAAqD,OAAO,+RAAkC,GAAG,UAAU,iBAAiB;AAC1I,cAAc,6EAA6E,OAAO,ogBAA8C,GAAG,UAAU,4BAA4B;AACzL,cAAc,6DAA6D,OAAO,6aAAyC,GAAG,UAAU,2BAA2B;AACnK,cAAc,qFAAqF,OAAO,4TAAkD,GAAG,UAAU,wBAAwB;AACjM,cAAc,iFAAiF,OAAO,+RAAgD,GAAG,UAAU,+BAA+B;AAClM,cAAc,kEAAkE,OAAO,8RAAyC,GAAG,UAAU,4BAA4B;AACzK,cAAc,2EAA2E,OAAO,oOAAyC,GAAG,UAAU;AACtJ;AACA,KAAK;AACL,MAAM,uDAAuD,OAAO,+IAAoC;AACxG;;;AChBoD;AACe;AAC5D;AACP,MAAM,sDAAsD,OAAO,ibAAmC,KAAK;AAC3G;AACA;AACA,iCAAiC,OAAO,0eAAiD,GAAG;AAC5F,gBAAgB;AAChB,KAAK;AACL;AACA;AACA,iCAAiC,OAAO,ugBAAwC,GAAG;AACnF,gBAAgB,yBAAyB;AACzC,yBAAyB,wBAAwB;AACjD,KAAK;AACL;AACA;AACA,iCAAiC,OAAO,spBAA4C,GAAG;AACvF,gBAAgB,6BAA6B;AAC7C,yBAAyB,yBAAyB;AAClD,KAAK;AACL;AACA;AACA,iCAAiC,OAAO,mQAAuC,GAAG;AAClF,gBAAgB;AAChB,KAAK;AACL;AACA,4CAA4C,aAAa;AACzD;AACA;AACA;AACA,yCAAyC,OAAO,0eAA8C,GAAG;AACjG,yBAAyB,YAAY;AACrC,wBAAwB;AACxB,aAAa;AACb;AACA;AACA;AACA,yCAAyC,OAAO,0eAA8C,GAAG;AACjG,iCAAiC,cAAc;AAC/C,wBAAwB;AACxB,aAAa;AACb;AACA;AACA;AACA,yCAAyC,OAAO,0VAA8C,GAAG;AACjG,wBAAwB;AACxB;AACA;AACA,KAAK;AACL;AACA;AACA,gBAAgB,gDAAgD;AAChE,iCAAiC,OAAO,8cAAyC,GAAG;AACpF,yBAAyB,wBAAwB;AACjD,kBAAkB,MAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACvEyC;AACS;AACE;AAC7C,IAAI,aAAM;AACjB,MAAM,0BAA0B,aAAa,YAAY,yBAAU,UAAU,gCAAgC;AAC7G,MAAM,sBAAsB,aAAa,YAAY,WAAW,UAAU;AAC1E;;;ACN+C;AACxC;AACP,WAAW,+BAAS;AACpB,eAAe,iCAAW;AAC1B,qDAAqD,OAAO,gSAA6C,GAAG;AAC5G;AACA,SAAS;AACT,KAAK;AACL;;;ACRO;AACP;AACA;AACA,iEAAiE,cAAc,IAAI;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,yDAAyD,yBAAyB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AClEO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;;;ACR+C;AACrB;AACe;AAC+B;AAC4B;AACxD;AACgB;AACgB;AACZ;AAChE,SAAS,GAAG,gCAAgC,wBAAwB,OAAO,+BAAS;AACpF;AACA,WAAW,iCAAW;AACtB;AACA;AACA;AACA;AACA,wBAAwB,mGAAoB;AAC5C,wBAAwB,mQAAsC;AAC9D;AACA;AACA;AACA;AACA;AACA,qCAAqC,uBAAuB,cAAc;AAC1E;AACA;AACA,qCAAqC,oCAA4B;AACjE;AACA;AACA,qCAAqC,kBAAkB;AACvD;AACA;AACA,0CAA0C,6BAA6B;AACvE;AACA;AACA,4BAA4B,aAAM;AAClC,iBAAiB;AACjB;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,+CAA+C,mBAAmB;AAClE;AACA,qBAAqB;AACrB;AACA,KAAK;AACL,CAAC,IAAI;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","sources":["webpack://enrolmentassistant.ui/webpack/universalModuleDefinition","webpack://enrolmentassistant.ui/./node_modules/es6-promise/dist/es6-promise.js","webpack://enrolmentassistant.ui/./node_modules/reflect-metadata/Reflect.js","webpack://enrolmentassistant.ui/./src/admin/services/admin-offer-service.ts","webpack://enrolmentassistant.ui/./src/admin/services/admin-student-enrolment-service.ts","webpack://enrolmentassistant.ui/./src/admin/services/important-note-service.ts","webpack://enrolmentassistant.ui/./src/admin/services/preview-offer-service.ts","webpack://enrolmentassistant.ui/./src/admin/services/preview-student-enrolment-service.ts","webpack://enrolmentassistant.ui/./src/admin/services/spk-content-service.ts","webpack://enrolmentassistant.ui/./src/admin/services/study-component-service.ts","webpack://enrolmentassistant.ui/./src/auth/config/index.ts","webpack://enrolmentassistant.ui/./src/common/errors/friendly.ts","webpack://enrolmentassistant.ui/./src/common/errors/index.ts","webpack://enrolmentassistant.ui/./src/common/services/api.ts","webpack://enrolmentassistant.ui/./src/common/services/file-upload-service.ts","webpack://enrolmentassistant.ui/./src/common/services/help-config-provider.ts","webpack://enrolmentassistant.ui/./src/common/services/help-service.ts","webpack://enrolmentassistant.ui/./src/common/services/index.ts","webpack://enrolmentassistant.ui/./src/common/services/person-service.ts","webpack://enrolmentassistant.ui/./src/core/utils/dedupe-calls-to.ts","webpack://enrolmentassistant.ui/./src/core/services/session.ts","webpack://enrolmentassistant.ui/./src/common/services/user-session-service.ts","webpack://enrolmentassistant.ui/./src/core/decorators/index.ts","webpack://enrolmentassistant.ui/./src/core/decorators/inject.ts","webpack://enrolmentassistant.ui/./src/core/event-emitter.ts","webpack://enrolmentassistant.ui/./src/core/noop.ts","webpack://enrolmentassistant.ui/./src/core/services/http-client.ts","webpack://enrolmentassistant.ui/./src/core/services/rest-client.ts","webpack://enrolmentassistant.ui/./src/core/services/storage.ts","webpack://enrolmentassistant.ui/./src/core/uuid.ts","webpack://enrolmentassistant.ui/./src/enrolment/services/enrolment-step-service.ts","webpack://enrolmentassistant.ui/./src/enrolment/services/offer-service.ts","webpack://enrolmentassistant.ui/./src/enrolment/services/study-component-service.ts","webpack://enrolmentassistant.ui/./src/enrolment/services/student-enrolment-service.ts","webpack://enrolmentassistant.ui/./src/enrolment/services/important-note-service.ts","webpack://enrolmentassistant.ui/./src/enrolment/services/index.ts","webpack://enrolmentassistant.ui/./src/enrolment/services/spk-content-service.ts","webpack://enrolmentassistant.ui/./src/env/index.ts","webpack://enrolmentassistant.ui/./node_modules/tslib/tslib.es6.mjs","webpack://enrolmentassistant.ui/webpack/bootstrap","webpack://enrolmentassistant.ui/webpack/runtime/compat get default export","webpack://enrolmentassistant.ui/webpack/runtime/create fake namespace object","webpack://enrolmentassistant.ui/webpack/runtime/define property getters","webpack://enrolmentassistant.ui/webpack/runtime/ensure chunk","webpack://enrolmentassistant.ui/webpack/runtime/get javascript chunk filename","webpack://enrolmentassistant.ui/webpack/runtime/get mini-css chunk filename","webpack://enrolmentassistant.ui/webpack/runtime/global","webpack://enrolmentassistant.ui/webpack/runtime/hasOwnProperty shorthand","webpack://enrolmentassistant.ui/webpack/runtime/load script","webpack://enrolmentassistant.ui/webpack/runtime/make namespace object","webpack://enrolmentassistant.ui/webpack/runtime/publicPath","webpack://enrolmentassistant.ui/webpack/runtime/css loading","webpack://enrolmentassistant.ui/webpack/runtime/jsonp chunk loading","webpack://enrolmentassistant.ui/./src/common/app-insights.ts","webpack://enrolmentassistant.ui/./src/common/config/session-events.ts","webpack://enrolmentassistant.ui/./src/common/config/http-middleware.ts","webpack://enrolmentassistant.ui/./src/common/config/refresh-user-middleware.ts","webpack://enrolmentassistant.ui/./src/common/config/core-dependencies.ts","webpack://enrolmentassistant.ui/./src/common/config/global-components.ts","webpack://enrolmentassistant.ui/./src/common/config/index.ts","webpack://enrolmentassistant.ui/./src/core/polyfill.ts","webpack://enrolmentassistant.ui/./src/common/container.ts","webpack://enrolmentassistant.ui/./src/common/bootstrap.ts","webpack://enrolmentassistant.ui/./src/enrolment/config/app-config.ts","webpack://enrolmentassistant.ui/./src/enrolment/config/dependencies.ts","webpack://enrolmentassistant.ui/./src/admin/config/dependencies.ts","webpack://enrolmentassistant.ui/./src/common/utils/routes.ts","webpack://enrolmentassistant.ui/./src/enrolment/config/routes.ts","webpack://enrolmentassistant.ui/./src/admin/config/routes.ts","webpack://enrolmentassistant.ui/./src/site/config/routes.ts","webpack://enrolmentassistant.ui/./src/site/config/components.ts","webpack://enrolmentassistant.ui/./src/common/utils/error-handlers.ts","webpack://enrolmentassistant.ui/./src/common/utils/analytics.ts","webpack://enrolmentassistant.ui/./src/site/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})((window.widgets || (window.widgets = {})), function() {\nreturn ","/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n\ttypeof define === 'function' && define.amd ? define(factory) :\n\t(global.ES6Promise = factory());\n}(this, (function () { 'use strict';\n\nfunction objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\n\nfunction isFunction(x) {\n return typeof x === 'function';\n}\n\n\n\nvar _isArray = void 0;\nif (Array.isArray) {\n _isArray = Array.isArray;\n} else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n}\n\nvar isArray = _isArray;\n\nvar len = 0;\nvar vertxNext = void 0;\nvar customSchedulerFn = void 0;\n\nvar asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n};\n\nfunction setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n}\n\nfunction setAsap(asapFn) {\n asap = asapFn;\n}\n\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\nvar browserGlobal = browserWindow || {};\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n\n// test for web worker but not in IE10\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n\n// node\nfunction useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n}\n\n// vertx\nfunction useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n}\n\nfunction useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n}\n\n// web worker\nfunction useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n}\n\nfunction useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n}\n\nvar queue = new Array(1000);\nfunction flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n\n callback(arg);\n\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n}\n\nfunction attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n}\n\nvar scheduleFlush = void 0;\n// Decide what async method to use to triggering processing of queued callbacks:\nif (isNode) {\n scheduleFlush = useNextTick();\n} else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n} else if (isWorker) {\n scheduleFlush = useMessageChannel();\n} else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n} else {\n scheduleFlush = useSetTimeout();\n}\n\nfunction then(onFulfillment, onRejection) {\n var parent = this;\n\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n}\n\n/**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.resolve(1);\n\n promise.then(function(value){\n // value === 1\n });\n ```\n\n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n*/\nfunction resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n}\n\nvar PROMISE_ID = Math.random().toString(36).substring(2);\n\nfunction noop() {}\n\nvar PENDING = void 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\n\nfunction selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n}\n\nfunction cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n}\n\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n}\n\nfunction handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n}\n\nfunction handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n}\n\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n}\n\nfunction resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then$$1 = void 0;\n try {\n then$$1 = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n handleMaybeThenable(promise, value, then$$1);\n } else {\n fulfill(promise, value);\n }\n}\n\nfunction publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n}\n\nfunction fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n}\n\nfunction reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n\n asap(publishRejection, promise);\n}\n\nfunction subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n\n\n parent._onerror = null;\n\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n}\n\nfunction publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n}\n\nfunction invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {\n // noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n}\n\nfunction initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n}\n\nvar id = 0;\nfunction nextId() {\n return id++;\n}\n\nfunction makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n}\n\nfunction validationError() {\n return new Error('Array Methods must be provided an Array');\n}\n\nvar Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n\n if (resolve$$1 === resolve$1) {\n var _then = void 0;\n var error = void 0;\n var didError = false;\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n}();\n\n/**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n\n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n\n Example:\n\n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n\n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n\n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n*/\nfunction all(entries) {\n return new Enumerator(this, entries).promise;\n}\n\n/**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n\n Example:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n\n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n\n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n\n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n\n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n\n An example real-world use case is implementing timeouts:\n\n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n\n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n*/\nfunction race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n}\n\n/**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n\n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n Instead of writing the above, your code now simply becomes the following:\n\n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n\n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n\n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n*/\nfunction reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n}\n\nfunction needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n}\n\nfunction needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n}\n\n/**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n\n Terminology\n -----------\n\n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n\n A promise can be in one of three states: pending, fulfilled, or rejected.\n\n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n\n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n\n\n Basic Usage:\n ------------\n\n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n\n // on failure\n reject(reason);\n });\n\n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Advanced Usage:\n ---------------\n\n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n\n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n\n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n\n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n\n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n\n Unlike callbacks, promises are great composable primitives.\n\n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n\n return values;\n });\n ```\n\n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n*/\n\nvar Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n}();\n\nPromise$1.prototype.then = then;\nPromise$1.all = all;\nPromise$1.race = race;\nPromise$1.resolve = resolve$1;\nPromise$1.reject = reject$1;\nPromise$1._setScheduler = setScheduler;\nPromise$1._setAsap = setAsap;\nPromise$1._asap = asap;\n\n/*global self*/\nfunction polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {\n // silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n}\n\n// Strange compat..\nPromise$1.polyfill = polyfill;\nPromise$1.Promise = Promise$1;\n\nreturn Promise$1;\n\n})));\n\n\n\n//# sourceMappingURL=es6-promise.map\n","/*! *****************************************************************************\nCopyright (C) Microsoft. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar Reflect;\n(function (Reflect) {\n // Metadata Proposal\n // https://rbuckton.github.io/reflect-metadata/\n (function (factory) {\n var root = typeof global === \"object\" ? global :\n typeof self === \"object\" ? self :\n typeof this === \"object\" ? this :\n Function(\"return this;\")();\n var exporter = makeExporter(Reflect);\n if (typeof root.Reflect === \"undefined\") {\n root.Reflect = Reflect;\n }\n else {\n exporter = makeExporter(root.Reflect, exporter);\n }\n factory(exporter);\n function makeExporter(target, previous) {\n return function (key, value) {\n if (typeof target[key] !== \"function\") {\n Object.defineProperty(target, key, { configurable: true, writable: true, value: value });\n }\n if (previous)\n previous(key, value);\n };\n }\n })(function (exporter) {\n var hasOwn = Object.prototype.hasOwnProperty;\n // feature test for Symbol support\n var supportsSymbol = typeof Symbol === \"function\";\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\n var downLevel = !supportsCreate && !supportsProto;\n var HashMap = {\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\n create: supportsCreate\n ? function () { return MakeDictionary(Object.create(null)); }\n : supportsProto\n ? function () { return MakeDictionary({ __proto__: null }); }\n : function () { return MakeDictionary({}); },\n has: downLevel\n ? function (map, key) { return hasOwn.call(map, key); }\n : function (map, key) { return key in map; },\n get: downLevel\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\n : function (map, key) { return map[key]; },\n };\n // Load global or shim versions of Map, Set, and WeakMap\n var functionPrototype = Object.getPrototypeOf(Function);\n var usePolyfill = typeof process === \"object\" && process.env && process.env[\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\n // [[Metadata]] internal slot\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\n var Metadata = new _WeakMap();\n /**\n * Applies a set of decorators to a property of a target object.\n * @param decorators An array of decorators.\n * @param target The target object.\n * @param propertyKey (Optional) The property key to decorate.\n * @param attributes (Optional) The property descriptor for the target key.\n * @remarks Decorators are applied in reverse order.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * Example = Reflect.decorate(decoratorsArray, Example);\n *\n * // property (on constructor)\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Object.defineProperty(Example, \"staticMethod\",\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\n *\n * // method (on prototype)\n * Object.defineProperty(Example.prototype, \"method\",\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\n *\n */\n function decorate(decorators, target, propertyKey, attributes) {\n if (!IsUndefined(propertyKey)) {\n if (!IsArray(decorators))\n throw new TypeError();\n if (!IsObject(target))\n throw new TypeError();\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\n throw new TypeError();\n if (IsNull(attributes))\n attributes = undefined;\n propertyKey = ToPropertyKey(propertyKey);\n return DecorateProperty(decorators, target, propertyKey, attributes);\n }\n else {\n if (!IsArray(decorators))\n throw new TypeError();\n if (!IsConstructor(target))\n throw new TypeError();\n return DecorateConstructor(decorators, target);\n }\n }\n exporter(\"decorate\", decorate);\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\n /**\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\n * @param metadataKey The key for the metadata entry.\n * @param metadataValue The value for the metadata entry.\n * @returns A decorator function.\n * @remarks\n * If `metadataKey` is already defined for the target and target key, the\n * metadataValue for that key will be overwritten.\n * @example\n *\n * // constructor\n * @Reflect.metadata(key, value)\n * class Example {\n * }\n *\n * // property (on constructor, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticProperty;\n * }\n *\n * // property (on prototype, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * property;\n * }\n *\n * // method (on constructor)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticMethod() { }\n * }\n *\n * // method (on prototype)\n * class Example {\n * @Reflect.metadata(key, value)\n * method() { }\n * }\n *\n */\n function metadata(metadataKey, metadataValue) {\n function decorator(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\n throw new TypeError();\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n return decorator;\n }\n exporter(\"metadata\", metadata);\n /**\n * Define a unique metadata entry on the target.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param metadataValue A value that contains attached metadata.\n * @param target The target object on which to define metadata.\n * @param propertyKey (Optional) The property key for the target.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\n *\n * // property (on constructor)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\n *\n * // method (on prototype)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\n *\n * // decorator factory as metadata-producing annotation.\n * function MyAnnotation(options): Decorator {\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\n * }\n *\n */\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n exporter(\"defineMetadata\", defineMetadata);\n /**\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function hasMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"hasMetadata\", hasMetadata);\n /**\n * Gets a value indicating whether the target object has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function hasOwnMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"hasOwnMetadata\", hasOwnMetadata);\n /**\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function getMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"getMetadata\", getMetadata);\n /**\n * Gets the metadata value for the provided metadata key on the target object.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function getOwnMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"getOwnMetadata\", getOwnMetadata);\n /**\n * Gets the metadata keys defined on the target object or its prototype chain.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\n *\n */\n function getMetadataKeys(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryMetadataKeys(target, propertyKey);\n }\n exporter(\"getMetadataKeys\", getMetadataKeys);\n /**\n * Gets the unique metadata keys defined on the target object.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\n *\n */\n function getOwnMetadataKeys(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryOwnMetadataKeys(target, propertyKey);\n }\n exporter(\"getOwnMetadataKeys\", getOwnMetadataKeys);\n /**\n * Deletes the metadata entry from the target object with the provided key.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function deleteMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return false;\n if (!metadataMap.delete(metadataKey))\n return false;\n if (metadataMap.size > 0)\n return true;\n var targetMetadata = Metadata.get(target);\n targetMetadata.delete(propertyKey);\n if (targetMetadata.size > 0)\n return true;\n Metadata.delete(target);\n return true;\n }\n exporter(\"deleteMetadata\", deleteMetadata);\n function DecorateConstructor(decorators, target) {\n for (var i = decorators.length - 1; i >= 0; --i) {\n var decorator = decorators[i];\n var decorated = decorator(target);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsConstructor(decorated))\n throw new TypeError();\n target = decorated;\n }\n }\n return target;\n }\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\n for (var i = decorators.length - 1; i >= 0; --i) {\n var decorator = decorators[i];\n var decorated = decorator(target, propertyKey, descriptor);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsObject(decorated))\n throw new TypeError();\n descriptor = decorated;\n }\n }\n return descriptor;\n }\n function GetOrCreateMetadataMap(O, P, Create) {\n var targetMetadata = Metadata.get(O);\n if (IsUndefined(targetMetadata)) {\n if (!Create)\n return undefined;\n targetMetadata = new _Map();\n Metadata.set(O, targetMetadata);\n }\n var metadataMap = targetMetadata.get(P);\n if (IsUndefined(metadataMap)) {\n if (!Create)\n return undefined;\n metadataMap = new _Map();\n targetMetadata.set(P, metadataMap);\n }\n return metadataMap;\n }\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\n function OrdinaryHasMetadata(MetadataKey, O, P) {\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn)\n return true;\n var parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent))\n return OrdinaryHasMetadata(MetadataKey, parent, P);\n return false;\n }\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return false;\n return ToBoolean(metadataMap.has(MetadataKey));\n }\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\n function OrdinaryGetMetadata(MetadataKey, O, P) {\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn)\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent))\n return OrdinaryGetMetadata(MetadataKey, parent, P);\n return undefined;\n }\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return undefined;\n return metadataMap.get(MetadataKey);\n }\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\n metadataMap.set(MetadataKey, MetadataValue);\n }\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\n function OrdinaryMetadataKeys(O, P) {\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\n var parent = OrdinaryGetPrototypeOf(O);\n if (parent === null)\n return ownKeys;\n var parentKeys = OrdinaryMetadataKeys(parent, P);\n if (parentKeys.length <= 0)\n return ownKeys;\n if (ownKeys.length <= 0)\n return parentKeys;\n var set = new _Set();\n var keys = [];\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\n var key = ownKeys_1[_i];\n var hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\n var key = parentKeys_1[_a];\n var hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n return keys;\n }\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\n function OrdinaryOwnMetadataKeys(O, P) {\n var keys = [];\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return keys;\n var keysObj = metadataMap.keys();\n var iterator = GetIterator(keysObj);\n var k = 0;\n while (true) {\n var next = IteratorStep(iterator);\n if (!next) {\n keys.length = k;\n return keys;\n }\n var nextValue = IteratorValue(next);\n try {\n keys[k] = nextValue;\n }\n catch (e) {\n try {\n IteratorClose(iterator);\n }\n finally {\n throw e;\n }\n }\n k++;\n }\n }\n // 6 ECMAScript Data Typ0es and Values\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\n function Type(x) {\n if (x === null)\n return 1 /* Null */;\n switch (typeof x) {\n case \"undefined\": return 0 /* Undefined */;\n case \"boolean\": return 2 /* Boolean */;\n case \"string\": return 3 /* String */;\n case \"symbol\": return 4 /* Symbol */;\n case \"number\": return 5 /* Number */;\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\n default: return 6 /* Object */;\n }\n }\n // 6.1.1 The Undefined Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\n function IsUndefined(x) {\n return x === undefined;\n }\n // 6.1.2 The Null Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\n function IsNull(x) {\n return x === null;\n }\n // 6.1.5 The Symbol Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\n function IsSymbol(x) {\n return typeof x === \"symbol\";\n }\n // 6.1.7 The Object Type\n // https://tc39.github.io/ecma262/#sec-object-type\n function IsObject(x) {\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\n }\n // 7.1 Type Conversion\n // https://tc39.github.io/ecma262/#sec-type-conversion\n // 7.1.1 ToPrimitive(input [, PreferredType])\n // https://tc39.github.io/ecma262/#sec-toprimitive\n function ToPrimitive(input, PreferredType) {\n switch (Type(input)) {\n case 0 /* Undefined */: return input;\n case 1 /* Null */: return input;\n case 2 /* Boolean */: return input;\n case 3 /* String */: return input;\n case 4 /* Symbol */: return input;\n case 5 /* Number */: return input;\n }\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\n if (exoticToPrim !== undefined) {\n var result = exoticToPrim.call(input, hint);\n if (IsObject(result))\n throw new TypeError();\n return result;\n }\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\n }\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\n function OrdinaryToPrimitive(O, hint) {\n if (hint === \"string\") {\n var toString_1 = O.toString;\n if (IsCallable(toString_1)) {\n var result = toString_1.call(O);\n if (!IsObject(result))\n return result;\n }\n var valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n var result = valueOf.call(O);\n if (!IsObject(result))\n return result;\n }\n }\n else {\n var valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n var result = valueOf.call(O);\n if (!IsObject(result))\n return result;\n }\n var toString_2 = O.toString;\n if (IsCallable(toString_2)) {\n var result = toString_2.call(O);\n if (!IsObject(result))\n return result;\n }\n }\n throw new TypeError();\n }\n // 7.1.2 ToBoolean(argument)\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\n function ToBoolean(argument) {\n return !!argument;\n }\n // 7.1.12 ToString(argument)\n // https://tc39.github.io/ecma262/#sec-tostring\n function ToString(argument) {\n return \"\" + argument;\n }\n // 7.1.14 ToPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-topropertykey\n function ToPropertyKey(argument) {\n var key = ToPrimitive(argument, 3 /* String */);\n if (IsSymbol(key))\n return key;\n return ToString(key);\n }\n // 7.2 Testing and Comparison Operations\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\n // 7.2.2 IsArray(argument)\n // https://tc39.github.io/ecma262/#sec-isarray\n function IsArray(argument) {\n return Array.isArray\n ? Array.isArray(argument)\n : argument instanceof Object\n ? argument instanceof Array\n : Object.prototype.toString.call(argument) === \"[object Array]\";\n }\n // 7.2.3 IsCallable(argument)\n // https://tc39.github.io/ecma262/#sec-iscallable\n function IsCallable(argument) {\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\n return typeof argument === \"function\";\n }\n // 7.2.4 IsConstructor(argument)\n // https://tc39.github.io/ecma262/#sec-isconstructor\n function IsConstructor(argument) {\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\n return typeof argument === \"function\";\n }\n // 7.2.7 IsPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-ispropertykey\n function IsPropertyKey(argument) {\n switch (Type(argument)) {\n case 3 /* String */: return true;\n case 4 /* Symbol */: return true;\n default: return false;\n }\n }\n // 7.3 Operations on Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\n // 7.3.9 GetMethod(V, P)\n // https://tc39.github.io/ecma262/#sec-getmethod\n function GetMethod(V, P) {\n var func = V[P];\n if (func === undefined || func === null)\n return undefined;\n if (!IsCallable(func))\n throw new TypeError();\n return func;\n }\n // 7.4 Operations on Iterator Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\n function GetIterator(obj) {\n var method = GetMethod(obj, iteratorSymbol);\n if (!IsCallable(method))\n throw new TypeError(); // from Call\n var iterator = method.call(obj);\n if (!IsObject(iterator))\n throw new TypeError();\n return iterator;\n }\n // 7.4.4 IteratorValue(iterResult)\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\n function IteratorValue(iterResult) {\n return iterResult.value;\n }\n // 7.4.5 IteratorStep(iterator)\n // https://tc39.github.io/ecma262/#sec-iteratorstep\n function IteratorStep(iterator) {\n var result = iterator.next();\n return result.done ? false : result;\n }\n // 7.4.6 IteratorClose(iterator, completion)\n // https://tc39.github.io/ecma262/#sec-iteratorclose\n function IteratorClose(iterator) {\n var f = iterator[\"return\"];\n if (f)\n f.call(iterator);\n }\n // 9.1 Ordinary Object Internal Methods and Internal Slots\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\n function OrdinaryGetPrototypeOf(O) {\n var proto = Object.getPrototypeOf(O);\n if (typeof O !== \"function\" || O === functionPrototype)\n return proto;\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\n // Try to determine the superclass constructor. Compatible implementations\n // must either set __proto__ on a subclass constructor to the superclass constructor,\n // or ensure each class has a valid `constructor` property on its prototype that\n // points back to the constructor.\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\n if (proto !== functionPrototype)\n return proto;\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\n var prototype = O.prototype;\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\n if (prototypeProto == null || prototypeProto === Object.prototype)\n return proto;\n // If the constructor was not a function, then we cannot determine the heritage.\n var constructor = prototypeProto.constructor;\n if (typeof constructor !== \"function\")\n return proto;\n // If we have some kind of self-reference, then we cannot determine the heritage.\n if (constructor === O)\n return proto;\n // we have a pretty good guess at the heritage.\n return constructor;\n }\n // naive Map shim\n function CreateMapPolyfill() {\n var cacheSentinel = {};\n var arraySentinel = [];\n var MapIterator = /** @class */ (function () {\n function MapIterator(keys, values, selector) {\n this._index = 0;\n this._keys = keys;\n this._values = values;\n this._selector = selector;\n }\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\n MapIterator.prototype.next = function () {\n var index = this._index;\n if (index >= 0 && index < this._keys.length) {\n var result = this._selector(this._keys[index], this._values[index]);\n if (index + 1 >= this._keys.length) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n else {\n this._index++;\n }\n return { value: result, done: false };\n }\n return { value: undefined, done: true };\n };\n MapIterator.prototype.throw = function (error) {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n throw error;\n };\n MapIterator.prototype.return = function (value) {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n return { value: value, done: true };\n };\n return MapIterator;\n }());\n return /** @class */ (function () {\n function Map() {\n this._keys = [];\n this._values = [];\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n Object.defineProperty(Map.prototype, \"size\", {\n get: function () { return this._keys.length; },\n enumerable: true,\n configurable: true\n });\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\n Map.prototype.get = function (key) {\n var index = this._find(key, /*insert*/ false);\n return index >= 0 ? this._values[index] : undefined;\n };\n Map.prototype.set = function (key, value) {\n var index = this._find(key, /*insert*/ true);\n this._values[index] = value;\n return this;\n };\n Map.prototype.delete = function (key) {\n var index = this._find(key, /*insert*/ false);\n if (index >= 0) {\n var size = this._keys.length;\n for (var i = index + 1; i < size; i++) {\n this._keys[i - 1] = this._keys[i];\n this._values[i - 1] = this._values[i];\n }\n this._keys.length--;\n this._values.length--;\n if (key === this._cacheKey) {\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n return true;\n }\n return false;\n };\n Map.prototype.clear = function () {\n this._keys.length = 0;\n this._values.length = 0;\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n };\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\n Map.prototype._find = function (key, insert) {\n if (this._cacheKey !== key) {\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\n }\n if (this._cacheIndex < 0 && insert) {\n this._cacheIndex = this._keys.length;\n this._keys.push(key);\n this._values.push(undefined);\n }\n return this._cacheIndex;\n };\n return Map;\n }());\n function getKey(key, _) {\n return key;\n }\n function getValue(_, value) {\n return value;\n }\n function getEntry(key, value) {\n return [key, value];\n }\n }\n // naive Set shim\n function CreateSetPolyfill() {\n return /** @class */ (function () {\n function Set() {\n this._map = new _Map();\n }\n Object.defineProperty(Set.prototype, \"size\", {\n get: function () { return this._map.size; },\n enumerable: true,\n configurable: true\n });\n Set.prototype.has = function (value) { return this._map.has(value); };\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\n Set.prototype.delete = function (value) { return this._map.delete(value); };\n Set.prototype.clear = function () { this._map.clear(); };\n Set.prototype.keys = function () { return this._map.keys(); };\n Set.prototype.values = function () { return this._map.values(); };\n Set.prototype.entries = function () { return this._map.entries(); };\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\n return Set;\n }());\n }\n // naive WeakMap shim\n function CreateWeakMapPolyfill() {\n var UUID_SIZE = 16;\n var keys = HashMap.create();\n var rootKey = CreateUniqueKey();\n return /** @class */ (function () {\n function WeakMap() {\n this._key = CreateUniqueKey();\n }\n WeakMap.prototype.has = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.has(table, this._key) : false;\n };\n WeakMap.prototype.get = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\n };\n WeakMap.prototype.set = function (target, value) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\n table[this._key] = value;\n return this;\n };\n WeakMap.prototype.delete = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? delete table[this._key] : false;\n };\n WeakMap.prototype.clear = function () {\n // NOTE: not a real clear, just makes the previous data unreachable\n this._key = CreateUniqueKey();\n };\n return WeakMap;\n }());\n function CreateUniqueKey() {\n var key;\n do\n key = \"@@WeakMap@@\" + CreateUUID();\n while (HashMap.has(keys, key));\n keys[key] = true;\n return key;\n }\n function GetOrCreateWeakMapTable(target, create) {\n if (!hasOwn.call(target, rootKey)) {\n if (!create)\n return undefined;\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\n }\n return target[rootKey];\n }\n function FillRandomBytes(buffer, size) {\n for (var i = 0; i < size; ++i)\n buffer[i] = Math.random() * 0xff | 0;\n return buffer;\n }\n function GenRandomBytes(size) {\n if (typeof Uint8Array === \"function\") {\n if (typeof crypto !== \"undefined\")\n return crypto.getRandomValues(new Uint8Array(size));\n if (typeof msCrypto !== \"undefined\")\n return msCrypto.getRandomValues(new Uint8Array(size));\n return FillRandomBytes(new Uint8Array(size), size);\n }\n return FillRandomBytes(new Array(size), size);\n }\n function CreateUUID() {\n var data = GenRandomBytes(UUID_SIZE);\n // mark as random - RFC 4122 § 4.4\n data[6] = data[6] & 0x4f | 0x40;\n data[8] = data[8] & 0xbf | 0x80;\n var result = \"\";\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\n var byte = data[offset];\n if (offset === 4 || offset === 6 || offset === 8)\n result += \"-\";\n if (byte < 16)\n result += \"0\";\n result += byte.toString(16).toLowerCase();\n }\n return result;\n }\n }\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\n function MakeDictionary(obj) {\n obj.__ = undefined;\n delete obj.__;\n return obj;\n }\n });\n})(Reflect || (Reflect = {}));\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { OfferService } from 'enrolment/services';\nexport var AdminOfferService = /** @class */ (function (_super) {\n __extends(AdminOfferService, _super);\n function AdminOfferService(restClient) {\n return _super.call(this, restClient) || this;\n }\n AdminOfferService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], AdminOfferService);\n return AdminOfferService;\n}(OfferService));\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { StudentEnrolmentService } from 'enrolment/services';\nexport var AdminStudentEnrolmentService = /** @class */ (function (_super) {\n __extends(AdminStudentEnrolmentService, _super);\n function AdminStudentEnrolmentService(restClient) {\n return _super.call(this, restClient) || this;\n }\n AdminStudentEnrolmentService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], AdminStudentEnrolmentService);\n return AdminStudentEnrolmentService;\n}(StudentEnrolmentService));\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from 'common/services/api';\nimport { injectable } from 'core/decorators';\nexport var ImportantNoteService = /** @class */ (function (_super) {\n __extends(ImportantNoteService, _super);\n function ImportantNoteService(client) {\n return _super.call(this, client) || this;\n }\n ImportantNoteService.prototype.createImportantNote = function (importantNote) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.post('/important-notes', importantNote); });\n };\n ImportantNoteService.prototype.saveImportantNote = function (importantNote) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.post(\"/important-notes/\".concat(encodeURIComponent(importantNote.name)), importantNote); });\n };\n ImportantNoteService.prototype.getImportantNotes = function () {\n var _this = this;\n return this.sendRequest(function () { return _this.client.get('/important-notes'); });\n };\n ImportantNoteService.prototype.getImportantNote = function (name) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.get(\"/important-notes/\".concat(encodeURIComponent(name))); });\n };\n ImportantNoteService.prototype.deleteImportantNote = function (name) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.delete(\"/important-notes/\".concat(encodeURIComponent(name))); });\n };\n ImportantNoteService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], ImportantNoteService);\n return ImportantNoteService;\n}(ApiService));\n","import { __decorate, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { OfferService } from 'enrolment/services';\nimport { RestClient } from 'core/services/rest-client';\nexport var PreviewOfferService = /** @class */ (function () {\n function PreviewOfferService(client) {\n this.previewOffers = getDefaultOffers();\n this.offerService = new OfferService(client);\n }\n PreviewOfferService.prototype.getOffersByUser = function () {\n return Promise.resolve(this.previewOffers);\n };\n PreviewOfferService.prototype.addOffer = function (offer) {\n this.previewOffers.push(offer);\n };\n PreviewOfferService.prototype.fetchUserOffers = function (userId) {\n return this.offerService.getOffersByUser(userId);\n };\n PreviewOfferService.prototype.clearOffers = function () {\n this.previewOffers = [];\n };\n PreviewOfferService.prototype.resetOffers = function () {\n this.previewOffers = getDefaultOffers();\n };\n PreviewOfferService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], PreviewOfferService);\n return PreviewOfferService;\n}());\nfunction getDefaultOffers() {\n return [\n {\n id: 1,\n spkCode: 'B-COMM',\n spkNumber: 319266,\n spkVersion: 1,\n title: 'Bachelor of Education (Secondary)',\n duration: '4 years',\n credits: 800,\n availabilityYear: 2020,\n studyPeriod: 'Semester 1',\n isAdvancingAdmissionsOffer: true,\n conditions: [\n {\n studentNumber: '11000033',\n sspNumber: 101010,\n parentSspNumber: 101011,\n offerStatusCode: 'OF',\n offerStatusCodeDescription: 'Offered',\n spkNumber: 101010,\n availabilityYear: 2020,\n studyPeriodCode: 'Semester 1',\n requisiteType: 'requisiteType',\n requisiteDetails: 'requisiteDetails',\n satisfied: true,\n spkCode: '101010'\n }\n ]\n },\n {\n id: 2,\n spkCode: 'B-ENG',\n spkNumber: 319333,\n spkVersion: 1,\n title: 'Bachelor of Engineering (Honours)',\n duration: '5 years',\n credits: 1000,\n availabilityYear: 2020,\n studyPeriod: 'Semester 1',\n isAdvancingAdmissionsOffer: false,\n conditions: []\n }\n ];\n}\n","import { __awaiter, __decorate, __generator, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { StudentEnrolmentService } from 'enrolment/services';\nimport { RestClient } from 'core/services/rest-client';\nexport var PreviewStudentEnrolmentService = /** @class */ (function () {\n function PreviewStudentEnrolmentService(restClient) {\n this.previewEnrolment = getDefaultEnrolment();\n this.studentEnrolmentService = new StudentEnrolmentService(restClient);\n }\n PreviewStudentEnrolmentService.prototype.getActiveEnrolment = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.resolve(this.previewEnrolment)];\n });\n });\n };\n PreviewStudentEnrolmentService.prototype.createEnrolment = function (_studentId, offer) {\n this.previewEnrolment = this.previewEnrolment || getDefaultEnrolment();\n this.previewEnrolment.offerId = offer.id;\n this.previewEnrolment.isAdvancingAdmissionsOffer = offer.isAdvancingAdmissionsOffer;\n this.previewEnrolment.courseSpkCode = offer.spkCode;\n this.previewEnrolment.courseSpkNumber = offer.spkNumber;\n this.previewEnrolment.courseSpkVersion = offer.spkVersion;\n return Promise.resolve(this.previewEnrolment);\n };\n PreviewStudentEnrolmentService.prototype.saveStudyPlanComponents = function (_userId, _offerId, studyPlanComponents) {\n if (!this.previewEnrolment)\n return Promise.resolve([]);\n this.previewEnrolment.studyPlanComponents = studyPlanComponents;\n return Promise.resolve(this.previewEnrolment.studyPlanComponents || []);\n };\n PreviewStudentEnrolmentService.prototype.getStudyPlanComponents = function () {\n if (!this.previewEnrolment)\n return Promise.resolve([]);\n return Promise.resolve(this.previewEnrolment.studyPlanComponents || []);\n };\n PreviewStudentEnrolmentService.prototype.fetchUserActiveEnrolment = function (userId) {\n return this.studentEnrolmentService.getActiveEnrolment(userId);\n };\n PreviewStudentEnrolmentService.prototype.resetPreviewEnrolment = function () {\n this.previewEnrolment = getDefaultEnrolment();\n };\n PreviewStudentEnrolmentService.prototype.saveVaccinationEvidence = function (_userId, hasSubmittedVaccineEvidence) {\n if (this.previewEnrolment)\n this.previewEnrolment.hasSubmittedVaccineEvidence = hasSubmittedVaccineEvidence;\n return Promise.resolve(this.previewEnrolment);\n };\n PreviewStudentEnrolmentService.prototype.saveUsiSubmitted = function (_userId, hasSubmittedUsi) {\n if (this.previewEnrolment)\n this.previewEnrolment.hasSubmittedUsi = hasSubmittedUsi;\n return Promise.resolve(this.previewEnrolment);\n };\n PreviewStudentEnrolmentService.prototype.saveCareerSurveyCompleted = function (_userId, hasCompletedCareerSurvey) {\n if (this.previewEnrolment)\n this.previewEnrolment.hasCompletedCareerSurvey = hasCompletedCareerSurvey;\n return Promise.resolve(this.previewEnrolment);\n };\n PreviewStudentEnrolmentService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], PreviewStudentEnrolmentService);\n return PreviewStudentEnrolmentService;\n}());\nfunction getDefaultEnrolment() {\n return {\n studentId: '16003163',\n offerId: 1,\n courseSpkCode: 'B-COMM',\n courseSpkNumber: 319266,\n courseSpkVersion: 1,\n availabilityYear: (new Date()).getFullYear() + 1,\n ecafRequired: false,\n ecafApproved: false,\n offerStatus: 'Accepted',\n studyPlanExpanded: false,\n hasEnrolledUnits: false,\n hasSubmittedVaccineEvidence: false,\n hasSubmittedUsi: false,\n classRegistrationRequired: true,\n studyPlanComponents: null,\n conditions: [],\n courseHasStudyComponents: false,\n liabilityCategoryCode: '5',\n hasCompletedCareerSurvey: false,\n isAdvancingAdmissionsOffer: true,\n advancingAdmissionsOfferStatus: 'Accepted'\n };\n}\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from 'common/services/api';\nimport env from 'env';\nexport var SpkContentService = /** @class */ (function (_super) {\n __extends(SpkContentService, _super);\n function SpkContentService(client) {\n return _super.call(this, client) || this;\n }\n SpkContentService.prototype.getSpkContent = function (spkCode) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.get(\"\".concat(env.urls.api, \"/spk-content/\").concat(encodeURIComponent(spkCode))); });\n };\n SpkContentService.prototype.saveSpkContent = function (spkContent) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.post(\"\".concat(env.urls.api, \"/spk-content/\").concat(encodeURIComponent(spkContent.spkCode)), spkContent); });\n };\n SpkContentService.prototype.saveSpkContentEnrolmentGuide = function (spkContent) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.post(\"\".concat(env.urls.api, \"/spk-content/\").concat(encodeURIComponent(spkContent.spkCode), \"/enrolment-guide\"), spkContent); });\n };\n SpkContentService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], SpkContentService);\n return SpkContentService;\n}(ApiService));\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from 'common/services/api';\nimport { injectable } from 'core/decorators';\nexport var AdminStudyComponentService = /** @class */ (function (_super) {\n __extends(AdminStudyComponentService, _super);\n function AdminStudyComponentService(client) {\n return _super.call(this, client) || this;\n }\n AdminStudyComponentService.prototype.SaveStudyPackageComponents = function (changes) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.patch('/study-components', changes); });\n };\n AdminStudyComponentService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], AdminStudyComponentService);\n return AdminStudyComponentService;\n}(ApiService));\n","export var StateKey = 'oidc-state';\nexport var IdTokenKey = 'oidc-idtoken';\nexport var ReturnToKey = 'returnTo';\nexport var LoginRoute = 'auth.login';\nexport var LogoutRoute = 'auth.logout';\nexport var AuthRoutes = [\n { name: LoginRoute, path: 'oidc-login', component: function () { return import('../views/login.vue'); } },\n { name: LogoutRoute, path: 'oidc-logout', component: function () { return import('../views/logout.vue'); } }\n];\n","import { __extends } from \"tslib\";\nexport var FriendlyError = /** @class */ (function (_super) {\n __extends(FriendlyError, _super);\n function FriendlyError(messages, innerError) {\n var _this = _super.call(this, Array.isArray(messages) ? messages[0] : messages) || this;\n _this.name = FriendlyError.Name;\n _this.messages = Array.isArray(messages) ? messages : [messages];\n _this.innerError = innerError;\n return _this;\n }\n FriendlyError.Name = 'FriendlyError';\n return FriendlyError;\n}(Error));\n","export * from './friendly';\n","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { FriendlyError } from 'common/errors';\nexport var RestError = /** @class */ (function (_super) {\n __extends(RestError, _super);\n function RestError(messages, statusCode) {\n var _this = _super.call(this, messages) || this;\n _this.name = RestError.Name;\n _this.statusCode = statusCode;\n return _this;\n }\n RestError.Name = 'RestError';\n return RestError;\n}(FriendlyError));\nvar ApiService = /** @class */ (function () {\n function ApiService(client) {\n this.client = client;\n }\n ApiService.prototype.sendRequest = function (fn) {\n return __awaiter(this, void 0, void 0, function () {\n var res, ex_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, fn()];\n case 1:\n res = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n ex_1 = _a.sent();\n throw new FriendlyError('An unexpected error occurred when contacting the server.', ex_1);\n case 3:\n if (res.status < 200 || res.status >= 400)\n throw new RestError(res.errors, res.status);\n return [2 /*return*/, res.data];\n }\n });\n });\n };\n return ApiService;\n}());\nexport { ApiService };\n","import { __awaiter, __decorate, __extends, __generator, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from 'common/services/api';\nexport var FileUploadService = /** @class */ (function (_super) {\n __extends(FileUploadService, _super);\n function FileUploadService(client) {\n return _super.call(this, client) || this;\n }\n FileUploadService.prototype.uploadFile = function (file, fileName, url, onUploadProgress, onDownloadProgress) {\n return __awaiter(this, void 0, void 0, function () {\n var formData;\n var _this = this;\n return __generator(this, function (_a) {\n formData = new FormData();\n formData.append('file', file, fileName);\n return [2 /*return*/, this.sendRequest(function () { return _this.client.send({\n method: 'POST',\n url: url,\n body: formData,\n onDownloadProgress: onDownloadProgress,\n onUploadProgress: onUploadProgress\n }); })];\n });\n });\n };\n FileUploadService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], FileUploadService);\n return FileUploadService;\n}(ApiService));\n","import { __decorate, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport env from 'env';\nexport var EnrolmentAssistantStepKeywordsMap = {\n 'offers': { keywords: ['en_accept2'] },\n 'conditions': { keywords: ['en_accept2'] },\n 'eCAF': { keywords: ['en_ecaf'] },\n 'study-components': { keywords: ['en_major'] },\n 'units': { keywords: ['en_enrol'] },\n 'class-registration': { keywords: ['en_class2'] },\n 'other-tasks': { keywords: ['en_other'] }\n};\nexport var ReenrolmentStepCategoryMap = {\n 'units': { products: ['3.6'] },\n 'class-registration': { products: ['3.1575'] },\n 'career-wise': { products: [env.faqProductIds.reenrolmentCareerWise] }\n};\nexport var HelpConfigProvider = /** @class */ (function () {\n function HelpConfigProvider() {\n this.config = {};\n }\n HelpConfigProvider.prototype.getHelpConfig = function () {\n return Promise.resolve(this.config);\n };\n HelpConfigProvider.prototype.setHelpConfig = function (config) {\n this.config = config;\n };\n HelpConfigProvider = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [])\n ], HelpConfigProvider);\n return HelpConfigProvider;\n}());\n","import { __awaiter, __decorate, __generator, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { HttpClient } from 'core/services/http-client';\nimport { FriendlyError } from 'common/errors';\nimport { HelpConfigProvider } from './help-config-provider';\nimport env from 'env';\nexport var HelpService = /** @class */ (function () {\n function HelpService(httpClient, helpConfigService) {\n this.context = null;\n this.httpClient = httpClient;\n this.helpConfigProvider = helpConfigService;\n }\n HelpService.prototype.setHelpContext = function (context) {\n this.context = context;\n };\n HelpService.prototype.getFaqProvider = function () {\n var _this = this;\n return function () { return _this.context ? _this.getFaqs() : Promise.resolve([]); };\n };\n HelpService.prototype.getFaqs = function () {\n return __awaiter(this, void 0, void 0, function () {\n var helpConfig, config, queryParams, result, ex_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 3, , 4]);\n if (!this.context)\n return [2 /*return*/, []];\n return [4 /*yield*/, this.helpConfigProvider.getHelpConfig()];\n case 1:\n helpConfig = _a.sent();\n config = helpConfig[this.context.activeStep];\n queryParams = [];\n if (config.keywords)\n queryParams.push(\"keywords=\".concat(encodeURIComponent(config.keywords.join(','))));\n if (config.products)\n queryParams.push(\"products=\".concat(encodeURIComponent(config.products.join(','))));\n return [4 /*yield*/, this.httpClient.get(\"\".concat(env.urls.crmInt, \"/api/GetFaqs?\").concat(queryParams.join('&')))];\n case 2:\n result = _a.sent();\n return [2 /*return*/, JSON.parse(result.body)];\n case 3:\n ex_1 = _a.sent();\n throw new FriendlyError('An unexpected error occurred when contacting the server.', ex_1);\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n HelpService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [HttpClient, HelpConfigProvider])\n ], HelpService);\n return HelpService;\n}());\n","export * from './user-session-service';\nexport * from './file-upload-service';\nexport * from './person-service';\nexport * from './help-service';\nexport * from './help-config-provider';\n","import { __awaiter, __decorate, __extends, __generator, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from './api';\nexport var PersonService = /** @class */ (function (_super) {\n __extends(PersonService, _super);\n function PersonService(client) {\n return _super.call(this, client) || this;\n }\n PersonService.prototype.getPersonById = function (id, type) {\n return __awaiter(this, void 0, void 0, function () {\n var url;\n var _this = this;\n return __generator(this, function (_a) {\n url = \"/people/\".concat(encodeURIComponent(id)) + (type != null ? \"?type=\".concat(encodeURIComponent(type)) : '');\n return [2 /*return*/, this.sendRequest(function () { return _this.client.get(url); })];\n });\n });\n };\n PersonService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], PersonService);\n return PersonService;\n}(ApiService));\n","export function dedupeCallsTo(fn) {\n var pending = null;\n var clearPending = function () { return pending = null; };\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!pending) {\n pending = fn.apply(this, args);\n pending.finally(clearPending);\n }\n return pending;\n };\n}\n","import { __awaiter, __decorate, __extends, __generator, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { StorageService } from './storage';\nimport { RestClient } from './rest-client';\nimport { EventEmitter } from 'core/event-emitter';\nimport { dedupeCallsTo } from 'core/utils';\nvar StorageKey = 'enrolmentAssistant.user';\nexport var SessionService = /** @class */ (function (_super) {\n __extends(SessionService, _super);\n function SessionService(restClient, storageService) {\n var _this = _super.call(this) || this;\n _this.restClient = restClient;\n _this.storageService = storageService;\n _this.fetch = dedupeCallsTo(_this.fetch);\n return _this;\n }\n SessionService.prototype.current = function () {\n return this.storageService.get(StorageKey) || null;\n };\n SessionService.prototype.get = function () {\n return __awaiter(this, void 0, void 0, function () {\n var res;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.restClient.get('/sessions/current')];\n case 1:\n res = _a.sent();\n return [2 /*return*/, res.data || null];\n }\n });\n });\n };\n SessionService.prototype.fetch = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.setUser;\n return [4 /*yield*/, this.get()];\n case 1: return [2 /*return*/, _a.apply(this, [_b.sent()])];\n }\n });\n });\n };\n SessionService.prototype.clear = function () {\n var current = this.current();\n if (current != null)\n this.emit('session:end', current);\n this.storageService.clear();\n };\n SessionService.prototype.login = function (credentials) {\n return __awaiter(this, void 0, void 0, function () {\n var res;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.restClient.post('/sessions', credentials)];\n case 1:\n res = _a.sent();\n return [2 /*return*/, this.setUser(res.data || null)];\n }\n });\n });\n };\n SessionService.prototype.logout = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.clear();\n return [4 /*yield*/, this.restClient.delete('/sessions')];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n SessionService.prototype.refresh = function () {\n return Promise.resolve(null);\n };\n SessionService.prototype.setUser = function (user) {\n if (user) {\n this.storageService.set(StorageKey, Object.assign({}, user));\n this.emit('session:start', user);\n }\n return user || null;\n };\n SessionService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient, StorageService])\n ], SessionService);\n return SessionService;\n}(EventEmitter));\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { SessionService } from 'core/services/session';\nimport { injectable } from 'core/decorators/inject';\nimport { RestClient } from 'core/services/rest-client';\nimport { StorageService } from 'core/services/storage';\nexport var UserSessionService = /** @class */ (function (_super) {\n __extends(UserSessionService, _super);\n function UserSessionService(restClient, storageService) {\n return _super.call(this, restClient, storageService) || this;\n }\n UserSessionService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient, StorageService])\n ], UserSessionService);\n return UserSessionService;\n}(SessionService));\n","export * from './inject';\n","import 'reflect-metadata';\nexport function injectable() {\n return function (target) {\n var types = Reflect.getMetadata('design:paramtypes', target) || [];\n Reflect.defineMetadata('inversify:paramtypes', types, target);\n return target;\n };\n}\n","import { __decorate } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { noop } from './noop';\nexport var EventEmitter = /** @class */ (function () {\n function EventEmitter() {\n this.eventHandlers = {};\n }\n EventEmitter.prototype.on = function (event, handler) {\n if (handler == null)\n throw new TypeError('handler cannot be null or undefined');\n var handlers = (this.eventHandlers[event] || (this.eventHandlers[event] = []));\n if (!handlers)\n return noop;\n handlers.push(handler);\n return function () {\n // Once `handlers` has been set, the reference should never change\n var idx = handlers.indexOf(handler);\n idx >= 0 && handlers.splice(idx, 1);\n };\n };\n EventEmitter.prototype.emit = function (event) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var eventHandlers = this.eventHandlers[event];\n if (Array.isArray(eventHandlers)) {\n var handlers = eventHandlers.slice();\n handlers.forEach(function (fn) { return fn.apply(void 0, args); });\n }\n };\n EventEmitter = __decorate([\n injectable()\n ], EventEmitter);\n return EventEmitter;\n}());\n","// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() { }\n","import { __awaiter, __decorate, __generator } from \"tslib\";\nimport { injectable } from 'core/decorators';\nexport var jsonContent = function (data) {\n return {\n contentType: 'application/json; charset=utf-8',\n body: JSON.stringify(data)\n };\n};\nexport var urlEncodedFormContent = function (data) {\n return {\n contentType: 'application/x-www-form-urlencoded',\n body: createQueryString(data)\n };\n};\nexport var HttpClient = /** @class */ (function () {\n function HttpClient() {\n var _this = this;\n this.middleware = [];\n this.pipeline = function (req) { return _this.sendRequest(req); };\n }\n HttpClient.prototype.use = function (middleware) {\n var _this = this;\n this.middleware.push(middleware);\n // Reconstruct the pipeline\n var pipeline = function (req) { return _this.sendRequest(req); };\n var _loop_1 = function (i) {\n var next = pipeline;\n var middleware_1 = this_1.middleware[i - 1];\n pipeline = function (req) { return middleware_1(req, next); };\n };\n var this_1 = this;\n for (var i = this.middleware.length; i > 0; --i) {\n _loop_1(i);\n }\n this.pipeline = pipeline;\n return this;\n };\n HttpClient.prototype.send = function (req) {\n return this.pipeline(req);\n };\n HttpClient.prototype.get = function (url, params) {\n return this.pipeline(createRequest('GET', url, params));\n };\n HttpClient.prototype.post = function (url, content, params) {\n return this.pipeline(createRequest('POST', url, params, content));\n };\n HttpClient.prototype.delete = function (url, params) {\n return this.pipeline(createRequest('DELETE', url, params));\n };\n HttpClient.prototype.patch = function (url, content, params) {\n return this.pipeline(createRequest('PATCH', url, params, content));\n };\n HttpClient.prototype.put = function (url, content, params) {\n return this.pipeline(createRequest('PUT', url, params, content));\n };\n HttpClient.prototype.sendRequest = function (req) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, req.onUploadProgress || req.onDownloadProgress ? this.sendXhrRequest(req) : this.sendFetchRequest(req)];\n });\n });\n };\n HttpClient.prototype.sendXhrRequest = function (req) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve, reject) {\n var xhr = new XMLHttpRequest();\n if (req.onUploadProgress)\n xhr.upload.onprogress = req.onUploadProgress;\n if (req.onDownloadProgress)\n xhr.onprogress = req.onDownloadProgress;\n xhr.onload = function () {\n resolve({\n request: req,\n status: xhr.status,\n headers: parseXHRHeaders(xhr.getAllResponseHeaders()),\n url: xhr.responseURL,\n body: xhr.responseText\n });\n };\n xhr.onerror = function () { return reject(xhr); };\n xhr.open(req.method, req.url);\n xhr.withCredentials = req.credentials !== undefined && req.credentials != 'omit';\n if (req.headers)\n Object.keys(req.headers).forEach(function (k) {\n if (req && req.headers)\n xhr.setRequestHeader(k, req.headers[k]);\n });\n xhr.send(req.body);\n })];\n });\n });\n };\n HttpClient.prototype.sendFetchRequest = function (req) {\n return __awaiter(this, void 0, void 0, function () {\n var res, headers;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, fetch(req.url, req)];\n case 1:\n res = _b.sent();\n headers = {};\n res.headers.forEach(function (value, name) { return headers[name.toLowerCase()] = value; });\n _a = {\n request: req,\n status: res.status,\n headers: headers,\n url: res.url\n };\n return [4 /*yield*/, res.text()];\n case 2: return [2 /*return*/, (_a.body = _b.sent(),\n _a)];\n }\n });\n });\n };\n HttpClient = __decorate([\n injectable()\n ], HttpClient);\n return HttpClient;\n}());\nfunction createRequest(method, url, params, content) {\n if (typeof (params) !== 'undefined')\n url += (url.indexOf('?') >= 0 ? '&' : '?') + createQueryString(params);\n return {\n method: method,\n url: url,\n headers: content && content.contentType ? { 'Content-Type': content.contentType } : undefined,\n body: content ? content.body : undefined\n };\n}\nfunction createQueryString(params) {\n return Object.keys(params)\n .filter(function (k) { return typeof (params[k]) !== 'undefined'; })\n .map(function (k) { return \"\".concat(encodeURIComponent(k), \"=\").concat(encodeURIComponent(params[k].toString())); })\n .join('&');\n}\n// Based on implementation in https://github.com/nervgh/angular-file-upload/blob/master/src/services/FileUploader.js\nfunction parseXHRHeaders(headers) {\n var parsed = {};\n if (!headers)\n return parsed;\n headers.split('\\n').forEach(function (line) {\n var i = line.indexOf(':');\n var key = line.slice(0, i).trim().toLowerCase();\n var val = line.slice(i + 1).trim();\n if (key) {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n return parsed;\n}\n","import { __decorate, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { jsonContent, HttpClient } from './http-client';\nexport var RestClient = /** @class */ (function () {\n function RestClient(httpClient) {\n this.httpClient = httpClient;\n }\n RestClient.prototype.get = function (url, params) {\n return this.httpClient.get(url, params).then(handleResponse);\n };\n RestClient.prototype.delete = function (url, params) {\n return this.httpClient.delete(url, params).then(handleResponse);\n };\n RestClient.prototype.post = function (url, data, params) {\n return this.httpClient.post(url, jsonContent(data), params).then(handleResponse);\n };\n RestClient.prototype.patch = function (url, data, params) {\n return this.httpClient.patch(url, jsonContent(data), params).then(handleResponse);\n };\n RestClient.prototype.put = function (url, data, params) {\n return this.httpClient.put(url, jsonContent(data), params).then(handleResponse);\n };\n RestClient.prototype.send = function (req) {\n return this.httpClient.send(req).then(handleResponse);\n };\n RestClient = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [HttpClient])\n ], RestClient);\n return RestClient;\n}());\nfunction handleResponse(res) {\n var contentType = res.headers['content-type'];\n if (typeof (contentType) !== 'string' || contentType.indexOf('application/json') !== 0)\n throw new Error(\"Invalid \\\"Content-Type\\\" header returned from server; expected \\\"application/json\\\", got \\\"\".concat(contentType || 'undefined', \"\\\"\"));\n var body = JSON.parse(res.body);\n if (body.status < 500)\n return body;\n // Unhandled structured response from the server\n var error = new Error(\"\".concat(res.request.method, \" \\\"\").concat(res.request.url, \"\\\" \").concat(body.status, \" (\").concat(body.errors.join('; '), \")\"));\n error.name = 'RestClientUnhandledResponseError';\n error.response = body;\n return Promise.reject(error);\n}\n","var StorageKey = 'app-storage';\nvar StorageService = /** @class */ (function () {\n function StorageService(backingStorage) {\n this.storage = backingStorage;\n this.canPersist = isStorageSupported(backingStorage);\n this.state = {};\n this.reload();\n }\n StorageService.prototype.set = function (key, value) {\n this.state[key] = value;\n this.save();\n return this;\n };\n StorageService.prototype.get = function (key, defaultValue) {\n return this.has(key) ? this.state[key] : defaultValue;\n };\n StorageService.prototype.unset = function (key) {\n var oldValue;\n if (this.has(key)) {\n oldValue = this.state[key];\n delete this.state[key];\n this.save();\n }\n return oldValue;\n };\n StorageService.prototype.clear = function () {\n this.state = {};\n this.save();\n return this;\n };\n StorageService.prototype.has = function (key) {\n return Object.prototype.hasOwnProperty.call(this.state, key);\n };\n StorageService.prototype.save = function () {\n if (this.canPersist) {\n this.storage.setItem(StorageKey, JSON.stringify(this.state));\n }\n };\n StorageService.prototype.reload = function () {\n var state = {};\n if (this.canPersist) {\n var json = this.storage.getItem(StorageKey);\n var deserialised = json && JSON.parse(json);\n if (deserialised && typeof (deserialised) === 'object')\n state = deserialised;\n }\n this.state = state;\n };\n return StorageService;\n}());\nexport { StorageService };\nfunction isStorageSupported(storage) {\n try {\n // This additional test is due to Private Mode in Safari in \n // iOS 10 *technically* having sessionStorage, but having a quota\n // of 0, making any `setItem` call fail.\n var testKey = '__storage_test';\n storage.setItem(testKey, testKey);\n storage.removeItem(testKey);\n return true;\n }\n catch (ex) {\n return false;\n }\n}\n","// Taken from StackOverflow\n// http://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript#answer-21963136\nvar lut = new Array(256);\n// Initialize the lookup table once and then use it anywhere.\nfor (var i = 0; i < 16; ++i)\n lut[i] = '0' + i.toString(16);\nfor (var j = 16; j < 256; ++j)\n lut[j] = j.toString(16);\nexport default function generate() {\n var d0 = (Math.random() * 0x100000000) >> 0, d1 = (Math.random() * 0x100000000) >> 0, d2 = (Math.random() * 0x100000000) >> 0, d3 = (Math.random() * 0x100000000) >> 0;\n return lut[d0 & 0xff] + lut[d0 >> 8 & 0xff] + lut[d0 >> 16 & 0xff] + lut[d0 >> 24 & 0xff] + '-' +\n lut[d1 & 0xff] + lut[d1 >> 8 & 0xff] + '-' + lut[d1 >> 16 & 0x0f | 0x40] + lut[d1 >> 24 & 0xff] + '-' +\n lut[d2 & 0x3f | 0x80] + lut[d2 >> 8 & 0xff] + '-' + lut[d2 >> 16 & 0xff] + lut[d2 >> 24 & 0xff] +\n lut[d3 & 0xff] + lut[d3 >> 8 & 0xff] + lut[d3 >> 16 & 0xff] + lut[d3 >> 24 & 0xff];\n}\n","import { __assign, __decorate } from \"tslib\";\nimport { injectable } from 'core/decorators';\nvar DomesticFeePayingLiabilityCategoryCode = '5';\nvar InternationalOnshoreLiabilityCategoryCode = '3';\nvar eCafFeeFreeCourses = ['en-unirdy', 'en-indgte', 'en-inpmhe', 'en-indpse'];\nfunction liabilityCategoryIsDomesticFeePaying(enrolment) {\n return (enrolment === null || enrolment === void 0 ? void 0 : enrolment.liabilityCategoryCode) === DomesticFeePayingLiabilityCategoryCode;\n}\nfunction liabilityCategoryIsInternationalOnshore(enrolment) {\n return (enrolment === null || enrolment === void 0 ? void 0 : enrolment.liabilityCategoryCode) === InternationalOnshoreLiabilityCategoryCode;\n}\nexport var BlockRules = {\n offerNotSelected: { type: 'locked', component: function () { return import('enrolment/components/blocks/offer-not-selected.vue'); }, rule: function (context) { return !context.enrolment; } },\n notAdmitted: { type: 'locked', component: function () { return import('enrolment/components/blocks/not-admitted.vue'); }, rule: function (context) { return !!context.enrolment && context.enrolment.offerStatus !== 'Admitted'; } },\n conditionsInapplicable: { type: 'complete', component: function () { return import('enrolment/components/blocks/conditions-inapplicable.vue'); }, rule: function (context) { return !!context.enrolment && context.enrolment.conditions.length === 0; } },\n conditionsSatisfied: { type: 'complete', component: function () { return import('enrolment/components/blocks/conditions-satisfied.vue'); }, rule: function (context) { return !!context.enrolment && context.enrolment.conditions.every(function (c) { return c.satisfied; }); } },\n usiInapplicable: { type: 'complete', component: function () { return import('enrolment/components/blocks/usi-inapplicable.vue'); }, rule: function (context) { return !!context.enrolment && /*@__NOINLINE__*/ liabilityCategoryIsInternationalOnshore(context.enrolment) === false; } },\n usiIncomplete: { type: 'locked', component: function () { return import('enrolment/components/blocks/usi-incomplete.vue'); }, rule: function () { return false; } },\n ecafApproved: { type: 'complete', component: function () { return import('enrolment/components/blocks/ecaf-approved.vue'); }, rule: function (context) { return !!context.enrolment && context.enrolment.ecafApproved; } },\n ecafOptional: { type: 'incomplete', component: function () { return import('enrolment/components/blocks/ecaf-optional.vue'); }, rule: function (context) { return !!context.enrolment && !context.enrolment.ecafApproved && !context.enrolment.ecafRequired && liabilityCategoryIsDomesticFeePaying(context.enrolment); } },\n ecafInapplicable: { type: 'complete', component: function () { return import('enrolment/components/blocks/ecaf-inapplicable.vue'); }, rule: function (context) { return !!context.enrolment && !context.enrolment.ecafRequired; } },\n ecafFeeFree: { type: 'locked', component: function () { return import('enrolment/components/blocks/ecaf-fee-free.vue'); }, rule: function (context) { return !!context.enrolment && !context.enrolment.ecafApproved && !!context.enrolment.ecafRequired && eCafFeeFreeCourses.indexOf(context.enrolment.courseSpkCode.toLowerCase()) > -1; } },\n ecaf2025: { type: 'locked', component: function () { return import('enrolment/components/blocks/ecaf-2025.vue'); }, rule: function (context) { return !!context.enrolment && !context.enrolment.ecafApproved && context.enrolment.availabilityYear >= 2025 && (context.enrolment.ecafRequired || liabilityCategoryIsDomesticFeePaying(context.enrolment)); } },\n ecafUnapproved: { type: 'locked', component: function () { return import('enrolment/components/blocks/ecaf-unapproved.vue'); }, rule: function (context) { return !!context.enrolment && context.enrolment.ecafRequired && !context.enrolment.ecafApproved; } },\n studyComponentsInapplicable: { type: 'complete', component: function () { return import('enrolment/components/blocks/study-components-inapplicable.vue'); }, rule: function (context) { return !!context.enrolment && !context.enrolment.courseHasStudyComponents; } },\n studyComponentsNotSelected: { type: 'locked', component: function () { return import('enrolment/components/blocks/study-components-not-selected.vue'); }, rule: function (context) { return !!context.enrolment && context.enrolment.courseHasStudyComponents && (context.enrolment.studyPlanComponents === null || context.enrolment.studyPlanComponents.length === 0); } },\n studyPlanNotExpanded: { type: 'locked', component: function () { return import('enrolment/components/blocks/study-plan-not-expanded.vue'); }, rule: function () { return false; } },\n uniReadyStudyPlanNotExpanded: { type: 'locked', component: function () { return import('enrolment/components/blocks/uniready-study-plan-not-expanded.vue'); }, rule: function (context) { return !!context.enrolment && !context.enrolment.studyPlanExpanded && context.enrolment.courseSpkCode.toLowerCase() === 'en-unirdy'; } },\n noEnrolledUnits: { type: 'locked', component: function () { return import('enrolment/components/blocks/no-enrolled-units.vue'); }, rule: function (context) { return !!context.enrolment && !context.enrolment.hasEnrolledUnits; } },\n};\nvar asStepsTypes = function (e) { return Object.keys(e)\n .reduce(function (acc, key) {\n var stepKey = key;\n acc[stepKey] = __assign(__assign({}, e[stepKey]), { name: stepKey });\n return acc;\n}, {}); };\nexport var Steps = asStepsTypes({\n 'offers': {\n label: 'Accept or defer an offer',\n blockRules: [],\n isComplete: function (c) { return !!c.enrolment; },\n isHidden: function (c) { var _a; return !!((_a = c.enrolment) === null || _a === void 0 ? void 0 : _a.isAdvancingAdmissionsOffer); }\n },\n 'conditions': {\n label: 'Meet your conditions',\n blockRules: [BlockRules.offerNotSelected, BlockRules.conditionsInapplicable, BlockRules.conditionsSatisfied],\n isComplete: function () { return false; },\n isHidden: function (c) { var _a; return !!((_a = c.enrolment) === null || _a === void 0 ? void 0 : _a.isAdvancingAdmissionsOffer); }\n },\n 'usi': {\n label: 'Submit your USI',\n blockRules: [BlockRules.offerNotSelected, BlockRules.usiInapplicable],\n isComplete: function (c) { return !!c.enrolment && !!c.enrolment.hasSubmittedUsi; }\n },\n 'eCAF': {\n label: 'Complete eCAFs',\n blockRules: [BlockRules.offerNotSelected, BlockRules.ecafApproved, BlockRules.ecafFeeFree, BlockRules.ecafOptional, BlockRules.ecafInapplicable],\n isComplete: function () { return false; }\n },\n 'units': {\n label: 'Enrol in units',\n blockRules: [BlockRules.offerNotSelected, BlockRules.notAdmitted, BlockRules.usiIncomplete, BlockRules.ecafUnapproved, BlockRules.studyComponentsNotSelected, BlockRules.uniReadyStudyPlanNotExpanded, BlockRules.studyPlanNotExpanded],\n isComplete: function (c) { return !!c.enrolment && c.enrolment.offerStatus === 'Admitted' && c.enrolment.hasEnrolledUnits && (c.enrolment.hasSubmittedUsi || BlockRules.usiInapplicable.rule(c)); }\n },\n 'class-registration': {\n label: 'Register for classes',\n blockRules: [BlockRules.offerNotSelected, BlockRules.notAdmitted, BlockRules.usiIncomplete, BlockRules.ecafUnapproved, BlockRules.studyComponentsNotSelected, BlockRules.uniReadyStudyPlanNotExpanded, BlockRules.studyPlanNotExpanded],\n isComplete: function () { return false; }\n },\n 'career-wise': {\n label: 'Map your career',\n blockRules: [BlockRules.offerNotSelected],\n isComplete: function (c) { return !!c.enrolment && !!c.enrolment.hasCompletedCareerSurvey; }\n },\n 'other-tasks': {\n label: 'Continue your experience',\n blockRules: [],\n isComplete: function () { return false; },\n includeInProgress: false\n }\n});\nexport var EnrolmentStepService = /** @class */ (function () {\n function EnrolmentStepService() {\n }\n EnrolmentStepService.prototype.getSteps = function (enrolment) {\n var context = { enrolment: enrolment };\n var stepKeys = Object.keys(Steps).filter(function (s) {\n var step = Steps[s];\n return (typeof step.isHidden === 'undefined') || step.isHidden(context) === false;\n });\n return stepKeys.map(function (s) {\n var stepKey = s;\n var stepModel = Steps[stepKey];\n var step = {\n name: stepKey,\n label: stepModel.label,\n complete: false,\n status: null,\n disabled: false,\n includeInProgress: typeof stepModel.includeInProgress === 'undefined' ? true : stepModel.includeInProgress\n };\n setStepState(step, context);\n return step;\n });\n };\n EnrolmentStepService.prototype.updateStepsState = function (steps, enrolment) {\n var context = { enrolment: enrolment };\n steps.forEach(function (step) { return setStepState(step, context); });\n };\n EnrolmentStepService.prototype.getCurrentStep = function (steps) {\n return steps.find(function (s) { return s.status === null && !s.complete; }) || steps.find(function (s) { return !!s.status; }) || steps[steps.length - 1];\n };\n EnrolmentStepService.prototype.getBlockMessage = function (step, enrolment) {\n var stepModel = Steps[step];\n if (!stepModel)\n return null;\n var context = { enrolment: enrolment };\n var rule = stepModel.blockRules.find(function (r) { return r.rule(context); });\n return rule ? rule.component : null;\n };\n EnrolmentStepService = __decorate([\n injectable()\n ], EnrolmentStepService);\n return EnrolmentStepService;\n}());\nfunction getStepStatus(step, context) {\n if (step.isComplete(context))\n return 'complete';\n var blockRule = step.blockRules.find(function (r) { return r.rule(context); });\n if (blockRule)\n return blockRule.type;\n return null;\n}\nfunction setStepState(step, context) {\n var status = getStepStatus(Steps[step.name], context);\n step.complete = step.complete || status === 'complete';\n step.status = status === 'complete' || status === 'incomplete' || status === null ? null : status;\n}\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from 'common/services/api';\nimport env from 'env';\nexport var OfferService = /** @class */ (function (_super) {\n __extends(OfferService, _super);\n function OfferService(client) {\n return _super.call(this, client) || this;\n }\n OfferService.prototype.getOffersByUser = function (userId) {\n var _this = this;\n var url = \"\".concat(env.urls.api, \"/students/\").concat(encodeURIComponent(userId), \"/offers/\");\n return this.sendRequest(function () { return _this.client.get(url); });\n };\n OfferService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], OfferService);\n return OfferService;\n}(ApiService));\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from 'common/services/api';\nexport var StudyComponentService = /** @class */ (function (_super) {\n __extends(StudyComponentService, _super);\n function StudyComponentService(client) {\n return _super.call(this, client) || this;\n }\n StudyComponentService.prototype.searchStudyPackageComponents = function (query) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.get(\"/study-components?query=\".concat(encodeURIComponent(query))); });\n };\n StudyComponentService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], StudyComponentService);\n return StudyComponentService;\n}(ApiService));\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService, RestError } from 'common/services/api';\nexport var StudentEnrolmentService = /** @class */ (function (_super) {\n __extends(StudentEnrolmentService, _super);\n function StudentEnrolmentService(restClient) {\n return _super.call(this, restClient) || this;\n }\n StudentEnrolmentService.prototype.getActiveEnrolment = function (userId) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.get(\"/students/\".concat(encodeURIComponent(userId), \"/enrolments/active\")); })\n .catch(function (error) {\n if (error.name === RestError.Name && error.statusCode === 404)\n return null;\n else\n throw error;\n });\n };\n StudentEnrolmentService.prototype.createEnrolment = function (userId, offer) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.post(\"/students/\".concat(encodeURIComponent(userId), \"/enrolments\"), offer); });\n };\n StudentEnrolmentService.prototype.saveStudyPlanComponents = function (userId, offerId, studyPlanComponents) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.put(\"/students/\".concat(encodeURIComponent(userId), \"/offers/\").concat(encodeURIComponent(offerId), \"/enrolment/study-plan-components\"), studyPlanComponents); });\n };\n StudentEnrolmentService.prototype.getStudyPlanComponents = function (userId, offerId) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.get(\"/students/\".concat(encodeURIComponent(userId), \"/offers/\").concat(encodeURIComponent(offerId), \"/enrolment/study-plan-components\")); });\n };\n StudentEnrolmentService.prototype.saveVaccinationEvidence = function (userId, hasSubmittedVaccineEvidence) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.put(\"/students/\".concat(encodeURIComponent(userId), \"/vaccination\"), { hasSubmittedVaccineEvidence: hasSubmittedVaccineEvidence }); });\n };\n StudentEnrolmentService.prototype.saveUsiSubmitted = function (userId, hasSubmittedUsi) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.put(\"/students/\".concat(encodeURIComponent(userId), \"/usi-submitted\"), { hasSubmittedUsi: hasSubmittedUsi }); });\n };\n StudentEnrolmentService.prototype.saveCareerSurveyCompleted = function (userId, hasCompletedCareerSurvey) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.put(\"/students/\".concat(encodeURIComponent(userId), \"/career-survey-completed\"), { hasCompletedCareerSurvey: hasCompletedCareerSurvey }); });\n };\n StudentEnrolmentService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], StudentEnrolmentService);\n return StudentEnrolmentService;\n}(ApiService));\n","import { __awaiter, __decorate, __extends, __generator, __metadata } from \"tslib\";\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from 'common/services/api';\nimport { injectable } from 'core/decorators';\nexport var ImportantNoteService = /** @class */ (function (_super) {\n __extends(ImportantNoteService, _super);\n function ImportantNoteService(client) {\n var _this = _super.call(this, client) || this;\n _this.loadedImportantNotes = null;\n return _this;\n }\n ImportantNoteService.prototype.getActiveImportantNotes = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this.loadedImportantNotes === null)) return [3 /*break*/, 2];\n _a = this;\n return [4 /*yield*/, this.sendRequest(function () { return _this.client.get('/important-notes/active'); })];\n case 1:\n _a.loadedImportantNotes = _b.sent();\n _b.label = 2;\n case 2: return [2 /*return*/, this.loadedImportantNotes];\n }\n });\n });\n };\n ImportantNoteService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], ImportantNoteService);\n return ImportantNoteService;\n}(ApiService));\n","export * from './offer-service';\nexport * from './study-component-service';\nexport * from './student-enrolment-service';\nexport * from './enrolment-step-service';\nexport * from './spk-content-service';\nexport * from './important-note-service';\n","import { __decorate, __extends, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nimport { RestClient } from 'core/services/rest-client';\nimport { ApiService } from 'common/services/api';\nimport env from 'env';\nexport var SpkContentService = /** @class */ (function (_super) {\n __extends(SpkContentService, _super);\n function SpkContentService(client) {\n return _super.call(this, client) || this;\n }\n SpkContentService.prototype.getSpkContent = function (spkCode) {\n var _this = this;\n return this.sendRequest(function () { return _this.client.get(\"\".concat(env.urls.api, \"/spk-content/\").concat(encodeURIComponent(spkCode))); });\n };\n SpkContentService = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [RestClient])\n ], SpkContentService);\n return SpkContentService;\n}(ApiService));\n","export default ENV;\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? function(obj) { return Object.getPrototypeOf(obj); } : function(obj) { return obj.__proto__; };\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach(function(key) { def[key] = function() { return value[key]; }; });\n\t}\n\tdef['default'] = function() { return value; };\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"lib/\" + ({\"984\":\"npm.svg-sprite-loader\",\"2090\":\"npm.vue-property-decorator\",\"2820\":\"npm.vue\",\"3255\":\"npm.inversify\",\"3501\":\"npm.svg-baker-runtime\",\"3556\":\"npm._popperjs-core\",\"3830\":\"npm._curtin-vue-step-indicator\",\"6373\":\"npm.vue-class-component\",\"6658\":\"npm.vue-router\",\"6777\":\"npm.suneditor\",\"7292\":\"npm.vue-inversify\",\"7409\":\"npm.vue-clickaway\",\"8031\":\"npm.whatwg-fetch\",\"8944\":\"npm.vue-loader\",\"9743\":\"npm._curtin-vue-contextual-help\"}[chunkId] || chunkId) + \"-\" + {\"28\":\"254a4ed9fac1d6ad6da1\",\"129\":\"437a1497cee35ad3ad7f\",\"541\":\"5d231ee854b0a09b05d6\",\"590\":\"3b2af43203d3c133e02b\",\"629\":\"0a0a90338b9dfb1e81ea\",\"723\":\"b4b6b2bd002f24b3ecf7\",\"867\":\"a535dc2521460b899052\",\"968\":\"949989e4f7dafdbbf5ab\",\"984\":\"1a2b5481cd8ad2e019ca\",\"1068\":\"383a41dbd3287f1e1385\",\"1204\":\"a5c4cf9244fb530d97e3\",\"1219\":\"ec59b9dff2ba2fb48067\",\"1393\":\"a61e11840a86d3f93b53\",\"1441\":\"542512224075b02e8910\",\"1468\":\"81893c0530e3ebdfb302\",\"1552\":\"6dc5461787ccbfe9a403\",\"1890\":\"86b0e2fe930a34acb548\",\"2059\":\"9713cae50d9425f39655\",\"2090\":\"e9fac9397cb902bf81a2\",\"2512\":\"a8cbc6b786547a2d88f6\",\"2600\":\"70f07322af281af4491c\",\"2820\":\"ab6182f3be6919f798a3\",\"2873\":\"14e1cf638ba72314b806\",\"3002\":\"791b7d945222a4316d0c\",\"3061\":\"743917bf0cfb69f92981\",\"3123\":\"2ccabd9b348ba845ec3b\",\"3133\":\"af67b19492d093d972c4\",\"3255\":\"8d80d305730b98ef3281\",\"3404\":\"aff07adac24fd27b5c4c\",\"3430\":\"7146397d5538e123badf\",\"3501\":\"1137f9f867746bd0bec3\",\"3556\":\"59de13c4b309f42faf70\",\"3830\":\"d3844e2889bdbccc43fb\",\"3917\":\"30e6fe7601ea49a329c0\",\"4052\":\"f48ae65bbc927a5abc0a\",\"4084\":\"39f88446dfd579eb7516\",\"4113\":\"c3592fbe22c4287fc1cc\",\"4135\":\"9a2f17ef7a782ed7361d\",\"4284\":\"5c32fbfce974b5c293c9\",\"4305\":\"e509b4d70680df52253b\",\"4440\":\"5cd5377243f2885f333d\",\"4467\":\"1fc570b4f9435d9e2ea9\",\"4599\":\"a41cd0ecd71573473482\",\"4731\":\"ac7a63e8ba2bbce7bb3b\",\"4863\":\"3444144faf404baebfe1\",\"5286\":\"6b714b8da1cba405aa0d\",\"5307\":\"52139cdaacba7812d593\",\"5475\":\"fb47cde0c549079be276\",\"5856\":\"b2dfb5e7a8e8f183337b\",\"6015\":\"d9eff1047e46380ef81d\",\"6077\":\"4794b2be80ea17866fc1\",\"6223\":\"db80a063eae35f67dcd3\",\"6277\":\"e5ec1d475c25bc6ad5f7\",\"6373\":\"5e51678a138faafd1cc1\",\"6387\":\"0b78c4895174b5ba90e8\",\"6458\":\"ab2a6fd6617bca082532\",\"6579\":\"ef7ba0fa38ddfa9d300e\",\"6623\":\"50201c7fbc2cd47a3f76\",\"6658\":\"c44120f38ca4bfea13ff\",\"6724\":\"0ba2a1f5331894b020a6\",\"6777\":\"518e273171705d2883c4\",\"6843\":\"e0a2cc3ddb57bff17918\",\"6992\":\"5699c11d71e5bbd5b5c8\",\"7068\":\"2bf6960007ff03d5e6b0\",\"7130\":\"b20bdc779a249f59053c\",\"7292\":\"621f5c0746ef498ca1cd\",\"7302\":\"62739caf18669b695bbb\",\"7409\":\"3f941fd711a3c07f618d\",\"7495\":\"cc98aea2dc10cfbcde05\",\"7498\":\"1f5083fe831b8c98838a\",\"7637\":\"17163d4ea29a275f1543\",\"7680\":\"6548816e3a81b77f750e\",\"7782\":\"83da0ca13d6899895b49\",\"7976\":\"2be4f09df36cfb1e3b5e\",\"8031\":\"3fe99cac4426e6ed93ba\",\"8181\":\"1c003369d5edb6685b0c\",\"8352\":\"a337e539d7bb0c020f46\",\"8369\":\"ee3e88a33d36606d22c9\",\"8767\":\"e0f189dfa4e7e220c900\",\"8921\":\"12193b81615e361059c6\",\"8944\":\"ecba48bed173410849ae\",\"9364\":\"e476ce209efb526865a9\",\"9416\":\"2a45eaf6fbab97f06ccd\",\"9683\":\"09da0a20c65feb6da37b\",\"9743\":\"7bf953c8ac2c72e2f24b\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"lib/\" + chunkId + \"-\" + {\"541\":\"0c51b5ab147f9a9b0163\",\"723\":\"22f770115a3f96102b90\",\"968\":\"f394347d8587441e3113\",\"1068\":\"fe83c8a74ed99131be6e\",\"1219\":\"407f7ac7e7bc0d03dce5\",\"1468\":\"97c1676cae72ca07b9cc\",\"1552\":\"9788efdd845e95d92252\",\"2512\":\"efd42b947114611603d5\",\"2600\":\"b60bd42b8f7c727f0900\",\"2873\":\"382d18da3be3f95427bd\",\"3061\":\"1c90d9b8e04160f7de7e\",\"3133\":\"105813662678335f0d8c\",\"3917\":\"605ddae2848066cc5b59\",\"4467\":\"07c07300de8330c1818a\",\"4731\":\"ab792a4d828ef30ede16\",\"4863\":\"9c203e5c204b14602693\",\"5286\":\"63df2fb345dcb93c28b2\",\"5475\":\"1487d57210430c3c85c1\",\"6277\":\"80da5146e899caa6c8f6\",\"6458\":\"2b1a05e1617310c0288d\",\"6579\":\"38ac75917e227378a3ca\",\"6992\":\"8fa9300c162f65bf7b5e\",\"7495\":\"39c33d9598d23bbcbb3c\",\"7498\":\"70febcaf6b0e4fde56d2\",\"7680\":\"020958a08a6c4785908d\",\"7976\":\"9a4dfa2be09e6a5e7712\",\"8352\":\"6b7fed21d46cfce74bf4\",\"9416\":\"0666e31b242856f75a33\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"enrolmentassistant.ui:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT')\n\t\tscriptUrl = document.currentScript.src;\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) {\n\t\t\tvar i = scripts.length - 1;\n\t\t\twhile (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;\n\t\t}\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl + \"../\";","var createStylesheet = function(chunkId, fullhref, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t5254: 0,\n\t5366: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"541\":1,\"723\":1,\"968\":1,\"1068\":1,\"1219\":1,\"1468\":1,\"1552\":1,\"2512\":1,\"2600\":1,\"2873\":1,\"3061\":1,\"3133\":1,\"3917\":1,\"4467\":1,\"4731\":1,\"4863\":1,\"5286\":1,\"5475\":1,\"6277\":1,\"6458\":1,\"6579\":1,\"6992\":1,\"7495\":1,\"7498\":1,\"7680\":1,\"7976\":1,\"8352\":1,\"9416\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t5254: 0,\n\t5366: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(1468 != chunkId) {\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t} else installedChunks[chunkId] = 0;\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\n}\n\nvar chunkLoadingGlobal = (window.widgets || (window.widgets = {}))[\"webpackChunkenrolmentassistant_ui\"] = (window.widgets || (window.widgets = {}))[\"webpackChunkenrolmentassistant_ui\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import { __decorate, __metadata } from \"tslib\";\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport env from 'env';\nimport { injectable } from 'core/decorators';\nexport var AppInsights = /** @class */ (function () {\n function AppInsights() {\n var _this = this;\n if (env.applicationInsights.enabled) {\n var snippet_1 = {\n queue: [],\n config: {\n instrumentationKey: env.applicationInsights.instrumentationKey,\n enableDebug: !!env.applicationInsights.enableDebug\n }\n };\n this.proxy = createProxy(snippet_1);\n loadAppInsights().then(function (ctor) {\n var init = new ctor(snippet_1);\n if (!_this.proxy)\n throw new Error();\n _this.instance = _this.proxy.instance = init.loadAppInsights();\n init.emptyQueue();\n init.addHousekeepingBeforeUnload(_this.instance);\n }, function (err) { return console.error('Failed to load Application Insights', err); });\n }\n }\n Object.defineProperty(AppInsights.prototype, \"appInsights\", {\n get: function () {\n return this.instance || this.proxy;\n },\n enumerable: false,\n configurable: true\n });\n AppInsights.prototype.trackPageView = function (name, url, properties, measurements, duration) {\n return this.appInsights && this.appInsights.trackPageView(name, url, properties, measurements, duration);\n };\n AppInsights.prototype.startTrackPage = function (name) {\n return this.appInsights && this.appInsights.startTrackPage(name);\n };\n AppInsights.prototype.stopTrackPage = function (name, url) {\n return this.appInsights && this.appInsights.stopTrackPage(name, url);\n };\n AppInsights.prototype.trackEvent = function (name, properties) {\n return this.appInsights && this.appInsights.trackEvent(name, properties);\n };\n AppInsights.prototype.trackException = function (exception, handledAt, properties, measurements, severityLevel) {\n return this.appInsights && this.appInsights.trackException(exception, handledAt, properties, measurements, severityLevel);\n };\n AppInsights.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId) {\n return this.appInsights && this.appInsights.setAuthenticatedUserContext(authenticatedUserId, accountId);\n };\n AppInsights.prototype.clearAuthenticatedUserContext = function () {\n return this.appInsights && this.appInsights.clearAuthenticatedUserContext();\n };\n AppInsights = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [])\n ], AppInsights);\n return AppInsights;\n}());\nfunction createProxy(snippet) {\n var proxy = {\n snippet: snippet,\n instance: null\n };\n var methods = [\n 'clearAuthenticatedUserContext',\n 'flush',\n 'setAuthenticatedUserContext',\n 'startTrackEvent',\n 'startTrackPage',\n 'stopTrackEvent',\n 'stopTrackPage',\n 'trackDependency',\n 'trackEvent',\n 'trackException',\n 'trackMetric',\n 'trackPageView',\n 'trackTrace'\n ];\n var createProxyMethod = function (method) {\n return function () {\n var _a;\n var _this = this;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (this.instance)\n return (_a = this.instance)[method].apply(_a, args);\n this.snippet.queue.push(function () {\n var _a;\n return (_a = _this.instance)[method].apply(_a, args);\n });\n };\n };\n methods.forEach(function (m) { return proxy[m] = createProxyMethod(m); });\n return proxy;\n}\nfunction loadAppInsights() {\n var objectPath = ['Microsoft', 'ApplicationInsights', 'Initialization'];\n var urls = ['https://az416426.vo.msecnd.net/scripts/a/ai.0.js'];\n return new Promise(function (resolve, reject) {\n var ctor = getCtor();\n // Easiest case, already exists\n if (ctor != null)\n return resolve(ctor);\n // If the script doesn't exist on the page, add it and wait for it to complete\n if (!urls.some(function (url) { return document.querySelector(\"script[src=\\\"\".concat(url, \"\\\"]\")); }))\n return addScript();\n // Script does exist on the page, poll for completion\n // NOTE: There's no way (that I know) to check if a script tag already fired load/error events\n // so this is the only way I could think of to try and replicate the behaviour.\n var interval = setInterval(function () {\n var ctor = getCtor();\n if (ctor != null) {\n clearInterval(interval || undefined);\n interval = null;\n resolve(ctor);\n }\n }, 100);\n // Give up on the existing script after 30 seconds and try re-add it\n setTimeout(function () {\n if (interval != null && !getCtor()) {\n clearInterval(interval);\n addScript();\n }\n }, 30 * 1000);\n function addScript() {\n var script = document.createElement('script');\n script.setAttribute('src', urls[0]);\n script.setAttribute('type', 'text/javascript');\n script.addEventListener('error', reject);\n script.addEventListener('load', function () {\n var ctor = getCtor();\n return ctor ? resolve(ctor) : reject();\n });\n document.head.appendChild(script);\n }\n });\n function getCtor() {\n var obj = window;\n for (var i = 0, j = objectPath.length; i < j && obj; ++i)\n obj = obj[objectPath[i]];\n return obj;\n }\n}\n","export function addSessionEventHandlers(sessionService, appInsights) {\n sessionService.on('session:start', function (user) { return appInsights.setAuthenticatedUserContext(user.curtinId); });\n sessionService.on('session:end', function () { return appInsights.clearAuthenticatedUserContext(); });\n var current = sessionService.current();\n if (current != null)\n appInsights.setAuthenticatedUserContext(current.curtinId);\n}\n","import env from 'env';\nimport uuid from 'core/uuid';\nexport function addWebApiMiddleware(httpClient, appConfig) {\n httpClient.use(function (req, next) {\n if (req.url.indexOf(env.urls.api) < 0 && !/^https?:\\/\\//i.test(req.url))\n req.url = env.urls.api + req.url;\n req.credentials = 'include';\n req.headers = req.headers || {};\n req.headers['X-Correlation-Id'] = uuid();\n req.headers['X-Consumer-Id'] = appConfig.name;\n req.headers['Cache-Control'] = 'no-cache';\n req.headers['Pragma'] = 'no-cache';\n return next(req);\n });\n}\n","import { __awaiter, __generator } from \"tslib\";\nvar ExcludedPaths = ['/api/sessions'];\nexport function addRefreshUserMiddleware(httpClient, sessionService) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n httpClient.use(function (req, next) { return __awaiter(_this, void 0, void 0, function () {\n var res, user, session, deferredResponse_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, next(req)];\n case 1:\n res = _a.sent();\n if (!((res.status === 401 || res.status === 403)\n && res.request.method === 'GET'\n && ExcludedPaths.every(function (p) { return res.request.url.indexOf(p) < 0; }))) return [3 /*break*/, 4];\n user = sessionService.current();\n if (user === null)\n return [2 /*return*/, res];\n return [4 /*yield*/, sessionService.get()];\n case 2:\n session = _a.sent();\n if (session === null)\n sessionService.logout();\n else if (user.curtinId !== session.curtinId)\n sessionService.setUser(session);\n deferredResponse_1 = new Promise(function () { return res; });\n setTimeout(function () { return Promise.resolve(deferredResponse_1); }, 0);\n return [4 /*yield*/, deferredResponse_1];\n case 3: return [2 /*return*/, _a.sent()];\n case 4: return [2 /*return*/, res];\n }\n });\n }); });\n return [2 /*return*/];\n });\n });\n}\n","import { __awaiter, __generator } from \"tslib\";\nimport { RestClient } from 'core/services/rest-client';\nimport { StorageService } from 'core/services/storage';\nimport { UserSessionService, FileUploadService, PersonService, HelpService, HelpConfigProvider } from 'common/services';\nimport { AppInsights } from 'common/app-insights';\nimport { addSessionEventHandlers } from 'common/config/session-events';\nimport { HttpClient } from 'core/services/http-client';\nimport { addWebApiMiddleware } from './http-middleware';\nimport { addRefreshUserMiddleware } from './refresh-user-middleware';\nexport function registerCoreDependencies(container, config) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n container.bind(HttpClient).toSelf().inSingletonScope().onActivation(function (_, client) {\n addWebApiMiddleware(client, config);\n return client;\n });\n container.bind(AppInsights).toSelf().inSingletonScope();\n container.bind(RestClient).toSelf().inSingletonScope();\n container.bind(StorageService).toConstantValue(new StorageService(window.sessionStorage));\n container.bind(UserSessionService).toSelf().inSingletonScope().onActivation(function (ctx, sessionService) {\n addSessionEventHandlers(sessionService, ctx.container.get(AppInsights));\n addRefreshUserMiddleware(ctx.container.get(HttpClient), sessionService);\n return sessionService;\n });\n container.bind(FileUploadService).toSelf().inSingletonScope();\n container.bind(PersonService).toSelf().inSingletonScope();\n container.bind(HelpService).toSelf().inSingletonScope();\n container.bind(HelpConfigProvider).toSelf().inSingletonScope();\n return [2 /*return*/, container];\n });\n });\n}\n","import { __spreadArray } from \"tslib\";\nexport function registerGlobalComponents(vue) {\n var imports = [\n ['navLink', import('common/components/nav-link.vue')],\n ['icon', import('common/components/icon.vue')],\n ['panel', import('common/components/panel.vue')],\n ['loadingSpinner', import('common/components/loading-spinner.vue')],\n ['buttonRow', import('common/components/button-row.vue')],\n ['pageContent', import('common/components/page-content.vue')]\n ];\n vue.directive('bubble', function (_, binding, vnode) {\n Object.keys(binding.modifiers).forEach(function (event) {\n // Bubble events of Vue components\n if (vnode.componentInstance) {\n vnode.componentInstance.$on(event, function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n vnode.context && (_a = vnode.context).$emit.apply(_a, __spreadArray([event], args, false));\n });\n }\n });\n });\n return Promise.all(imports.map(function (i) { return i[1]; })).then(function (modules) {\n for (var i = 0, j = modules.length; i < j; ++i)\n vue.component(imports[i][0], modules[i].default);\n });\n}\n","export * from './core-dependencies';\nexport * from './global-components';\n","import * as es6Promise from 'es6-promise';\nes6Promise.polyfill();\nif (typeof (Promise.prototype.finally) !== 'function')\n Promise.prototype.finally = es6Promise.Promise.prototype.finally;\nexport default function polyfill() {\n var promises = [];\n if (typeof (Array.prototype.find) !== 'function') {\n promises.push(import('core-js/features/array/find'));\n promises.push(import('core-js/features/array/find-index'));\n }\n if (typeof (Object.assign) !== 'function')\n promises.push(import('core-js/features/object/assign'));\n if (typeof (fetch) !== 'function')\n promises.push(import('whatwg-fetch'));\n // NOTE: Try not to polyfill something if there are somewhat viable alternatives.\n return Promise.all(promises);\n}\n","import { __awaiter, __generator } from \"tslib\";\nimport { registerCoreDependencies } from 'common/config';\nvar CoreContainer = null;\nexport default function createAppContainer(config) {\n return __awaiter(this, void 0, void 0, function () {\n var inversify;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(CoreContainer == null)) return [3 /*break*/, 3];\n return [4 /*yield*/, import('inversify')];\n case 1:\n inversify = _a.sent();\n CoreContainer = new inversify.Container({\n skipBaseClassChecks: true\n });\n return [4 /*yield*/, registerCoreDependencies(CoreContainer, config)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/, CoreContainer.createChild()];\n }\n });\n });\n}\n","import { __awaiter, __generator } from \"tslib\";\nimport { registerGlobalComponents } from 'common/config';\nimport { AppInsights } from 'common/app-insights';\nimport polyfill from 'core/polyfill';\nimport createAppContainer from 'common/container';\nvar singleton = null;\nexport default function bootstrap(config) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, vueModule, vueInversifyModule, container, Vue;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, Promise.all([\n import('vue'),\n import('vue-inversify'),\n createAppContainer(config),\n polyfill()\n ])];\n case 1:\n _a = _b.sent(), vueModule = _a[0], vueInversifyModule = _a[1], container = _a[2];\n Vue = vueModule.default;\n if (!(singleton == null)) return [3 /*break*/, 3];\n return [4 /*yield*/, registerGlobalComponents(Vue)];\n case 2:\n _b.sent();\n singleton = {};\n _b.label = 3;\n case 3: return [2 /*return*/, {\n Config: config,\n Vue: Vue,\n VueInversify: vueInversifyModule.default,\n Container: container,\n AppInsights: container.get(AppInsights)\n }];\n }\n });\n });\n}\n","import { __decorate, __metadata } from \"tslib\";\nimport { injectable } from 'core/decorators';\nexport var AppConfig = /** @class */ (function () {\n function AppConfig(config) {\n if (config)\n Object.assign(this, config);\n }\n AppConfig = __decorate([\n injectable(),\n __metadata(\"design:paramtypes\", [Object])\n ], AppConfig);\n return AppConfig;\n}());\n","import { __awaiter, __generator } from \"tslib\";\nimport { OfferService, StudyComponentService, EnrolmentStepService, StudentEnrolmentService, SpkContentService, ImportantNoteService } from 'enrolment/services';\nimport { HelpConfigProvider, EnrolmentAssistantStepKeywordsMap } from 'common/services';\nimport { AppConfig } from './app-config';\nexport function registerAppDependencies(container, config) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n //TODO: Fix app dependencies being registered after widget initialisation and allow this to be on here in onActivation\n container.bind(AppConfig).toConstantValue(new AppConfig(config));\n container.get(HelpConfigProvider).setHelpConfig(EnrolmentAssistantStepKeywordsMap);\n container.bind(OfferService).toSelf().inSingletonScope();\n container.bind(StudyComponentService).toSelf().inSingletonScope();\n container.bind(StudentEnrolmentService).toSelf().inSingletonScope();\n container.bind(EnrolmentStepService).toSelf().inSingletonScope();\n container.bind(ImportantNoteService).toSelf().inSingletonScope();\n container.bind(SpkContentService).toSelf().inSingletonScope();\n return [2 /*return*/, container];\n });\n });\n}\n","import { __awaiter, __generator } from \"tslib\";\nimport { SpkContentService } from 'admin/services/spk-content-service';\nimport { AdminStudyComponentService } from 'admin/services/study-component-service';\nimport { ImportantNoteService } from 'admin/services/important-note-service';\nimport { PreviewOfferService } from 'admin/services/preview-offer-service';\nimport { PreviewStudentEnrolmentService } from 'admin/services/preview-student-enrolment-service';\nimport { StudentEnrolmentService, OfferService } from 'enrolment/services';\nimport { AdminStudentEnrolmentService } from 'admin/services/admin-student-enrolment-service';\nimport { AdminOfferService } from 'admin/services/admin-offer-service';\nexport function registerAppDependencies(container) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n //bind to same singleton instance\n container.bind(PreviewOfferService).toSelf().inSingletonScope();\n container.bind(PreviewStudentEnrolmentService).toSelf().inSingletonScope();\n // Use preview services in place of original\n container.rebind(OfferService).toService(PreviewOfferService);\n container.rebind(StudentEnrolmentService).toService(PreviewStudentEnrolmentService);\n container.bind(SpkContentService).toSelf().inSingletonScope();\n container.bind(AdminStudyComponentService).toSelf().inSingletonScope();\n container.bind(ImportantNoteService).toSelf().inSingletonScope();\n container.bind(AdminOfferService).toSelf().inSingletonScope();\n container.bind(AdminStudentEnrolmentService).toSelf().inSingletonScope();\n return [2 /*return*/, container];\n });\n });\n}\n","export var AbstractRoute = {\n render: function (createElement) { return createElement('router-view'); }\n};\n","export var Routes = [\n { name: 'landing', path: '', component: function () { return import('enrolment/views/landing.vue'); } },\n { path: '', component: function () { return import('enrolment/index.vue'); }, children: [\n { name: 'offers', path: 'offers', component: function () { return import('enrolment/views/offers.vue'); }, meta: { title: 'Offers' } },\n { name: 'conditions', path: 'conditions', component: function () { return import('enrolment/views/conditions.vue'); }, meta: { title: 'Conditions' } },\n { name: 'usi', path: 'usi', component: function () { return import('enrolment/views/unique-student-identifier.vue'); }, meta: { title: 'USI' } },\n { name: 'eCAF', path: 'ecaf', component: function () { return import('enrolment/views/ecaf.vue'); }, meta: { title: 'eCAF' } },\n { name: 'study-components', path: 'study-components', component: function () { return import('enrolment/views/study-components.vue'); }, meta: { title: 'Major or Stream' } },\n { name: 'units', path: 'enrol-units', component: function () { return import('enrolment/views/enrol-units.vue'); }, meta: { title: 'Enrol In Units' } },\n { name: 'vaccination-evidence', path: 'vaccination-evidence', component: function () { return import('enrolment/views/vaccination-evidence.vue'); }, meta: { title: 'Vaccination' } },\n { name: 'class-registration', path: 'class-registration', component: function () { return import('enrolment/views/class-registration.vue'); }, meta: { title: 'Class Registration' } },\n { name: 'career-wise', path: 'map-career', component: function () { return import('enrolment/views/career-wise.vue'); }, meta: { title: 'Map your career' } },\n { name: 'other-tasks', path: 'continue-experience', component: function () { return import('enrolment/views/other-tasks.vue'); }, meta: { title: 'Continue your experience' } }\n ]\n },\n { name: 'not-found', path: '*', component: function () { return import('common/views/not-found.vue'); } }\n];\n","import { AbstractRoute } from 'common/utils/routes';\nimport { Routes as EnrolmentRoute } from 'enrolment/config/routes';\nexport var AdminRoutes = [\n { name: 'dashboard', path: '', component: function () { return import('admin/views/dashboard.vue'); } },\n {\n name: 'upload-study-components', path: 'upload-study-components',\n component: function () { return import('admin/views/upload-study-components.vue'); },\n meta: { title: 'Upload study components' }\n },\n {\n name: 'student-lookup', path: 'student-lookup/:userId?',\n component: function () { return import('admin/views/student-lookup.vue'); },\n meta: { title: 'Student lookup' },\n props: propMap({ userId: OptionalString })\n },\n {\n name: 'spk-content-lookup', path: 'spk-content-lookup/:spkCode?',\n component: function () { return import('admin/views/spk-content-lookup.vue'); },\n meta: { title: 'Spk content lookup' },\n props: propMap({ spkCode: OptionalString })\n },\n {\n name: 'block-screens', path: 'block-screens',\n component: function () { return import('admin/views/block-screens.vue'); },\n meta: { title: 'Block screens' }\n },\n {\n path: 'important-notes', component: AbstractRoute, children: [\n {\n name: 'important-notes.create',\n path: 'create',\n component: function () { return import('admin/views/important-notes/edit.vue'); },\n props: { name: null },\n meta: { title: 'Create important note' }\n },\n {\n name: 'important-notes.edit',\n path: ':name',\n component: function () { return import('admin/views/important-notes/edit.vue'); },\n props: propMap({ name: String }),\n meta: { title: 'Edit important note' }\n },\n {\n name: 'important-notes.list',\n path: '',\n component: function () { return import('admin/views/important-notes/list.vue'); },\n meta: { title: 'View important notes' }\n }\n ]\n },\n {\n path: 'student-preview/:userId(\\\\d+)?',\n meta: { title: 'Student Preview', propagateProps: true },\n component: function () { return import('admin/views/student-preview.vue'); },\n props: propMap({ userId: OptionalString }),\n children: EnrolmentRoute\n }\n];\nfunction OptionalString(value) {\n return value == null ? null : String(value);\n}\nfunction propMap(propMappers) {\n return function (route) {\n var mappedProps = {};\n for (var propName in propMappers) {\n var mapper = propMappers[propName];\n var propValue = route.params[propName];\n mappedProps[propName] = typeof (mapper) === 'function' ? mapper(propValue) : propValue;\n }\n return mappedProps;\n };\n}\n","import { AuthRoutes } from 'auth/config';\nimport { AdminRoutes } from 'admin/config/routes';\nimport { AbstractRoute } from 'common/utils/routes';\nexport var Routes = [\n { path: '/auth', component: AbstractRoute, children: AuthRoutes, meta: { title: 'Enrolment Assistant' } },\n { path: '/', component: AbstractRoute, children: AdminRoutes, meta: { title: 'Enrolment Assistant Admin' } }\n];\n","import { __awaiter, __generator } from \"tslib\";\nexport function registerComponents(vue) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n vue.component('Authorise', function () { return import('auth/components/oauth-authorise.vue'); });\n return [2 /*return*/];\n });\n });\n}\n","export function createAppInsightsErrorHandler(appInsights, config) {\n return function (err, vm, info) {\n var trace = \"Error in \".concat(info, \": \").concat(generateComponentTrace(vm, config.name));\n appInsights.trackException(err, 'DefaultErrorHandler', { Cause: trace }, {}, 3);\n };\n}\n// --\n// Taken (and slightly adapted) from Vue.js debug code\n// https://github.com/vuejs/vue/blob/38e967b8067441ff37cb3b923200023a6b842759/src/core/util/debug.js\n// --\nfunction generateComponentTrace(vm, rootAlias) {\n if (!vm._isVue || !vm.$parent)\n return \"\\n\\n(found in \".concat(formatComponentName(vm, rootAlias), \")\");\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue;\n }\n else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n var stack = tree.map(function (vm, i) {\n return (i === 0 ? '---> ' : repeat(' ', 5 + i * 2))\n + (!Array.isArray(vm) ? formatComponentName(vm, rootAlias) : \"\".concat(formatComponentName(vm[0], rootAlias), \"... (\").concat((vm[1], rootAlias), \" recursive calls)\"));\n });\n return '\\n\\nfound in\\n\\n' + stack.join('\\n');\n}\nfunction classify(str) {\n return str.replace(/(?:^|[-_])(\\w)/g, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, '');\n}\nfunction formatComponentName(vm, rootAlias) {\n if (vm.$root === vm)\n return \" of \".concat(rootAlias);\n var options = typeof (vm) !== 'function' || vm.cide == null\n ? (vm._isVue ? (vm.$options || vm.constructor.options) : vm)\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n return (name ? \"<\".concat(classify(name), \">\") : '')\n + (file ? \" at \".concat(file) : '');\n}\nfunction repeat(str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1)\n res += str;\n if (n > 1)\n str += str;\n n >>= 1;\n }\n return res;\n}\n","export function attachPageViewTracking(router, appInsights) {\n router.beforeEach(function (route, from, next) {\n appInsights.startTrackPage(route.name || route.fullPath);\n next();\n });\n router.afterEach(function (route) {\n appInsights.stopTrackPage(route.name || route.fullPath, route.fullPath);\n });\n}\n","import { __awaiter, __generator } from \"tslib\";\nimport 'reflect-metadata';\nimport bootstrap from 'common/bootstrap';\nimport { registerAppDependencies } from 'enrolment/config/dependencies';\nimport { registerAppDependencies as registerAdminAppDependencies } from 'admin/config/dependencies';\nimport { Routes } from 'site/config/routes';\nimport { registerComponents } from 'site/config/components';\nimport { createAppInsightsErrorHandler } from 'common/utils/error-handlers';\nimport { attachPageViewTracking } from 'common/utils/analytics';\nbootstrap({ name: 'enrolmentassistant.app' }).then(function (env) { return __awaiter(void 0, void 0, void 0, function () {\n var Vue, Config, VueInversify, Container, AppInsights, _a, VueRouter, Layout, appInsightsErrorHandler, router;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n Vue = env.Vue, Config = env.Config, VueInversify = env.VueInversify, Container = env.Container, AppInsights = env.AppInsights;\n return [4 /*yield*/, Promise.all([\n import('vue-router'),\n import('site/layout/bilya/layout.vue')\n ])];\n case 1:\n _a = _b.sent(), VueRouter = _a[0].default, Layout = _a[1].default;\n Vue.use(VueRouter);\n Vue.use(VueInversify);\n return [4 /*yield*/, registerAppDependencies(Container, {})];\n case 2:\n _b.sent();\n return [4 /*yield*/, registerAdminAppDependencies(Container)];\n case 3:\n _b.sent();\n return [4 /*yield*/, registerComponents(Vue)];\n case 4:\n _b.sent();\n appInsightsErrorHandler = createAppInsightsErrorHandler(AppInsights, Config);\n router = new VueRouter({\n mode: 'history',\n routes: Routes\n });\n router.beforeEach(propagateRoutePropsHandler(router));\n attachPageViewTracking(router, AppInsights);\n return [2 /*return*/, new Vue({\n el: '#app',\n container: Container,\n errorCaptured: function (err, vm, info) {\n appInsightsErrorHandler(err, vm, info);\n },\n render: function (r) { return r(Layout); },\n router: router\n })];\n }\n });\n}); });\nfunction propagateRoutePropsHandler(router) {\n return function (to, from, next) {\n if (!shouldPropagateProps(to) || Object.keys(from.params).length === 0)\n return next();\n Object.assign(to.params, from.params);\n next(router.resolve(to).href);\n };\n}\nfunction shouldPropagateProps(route) {\n if (Object.keys(route.params).length > 0)\n return false;\n var shouldPropagate = false;\n var matchIndex = route.matched.length;\n while (matchIndex > 0 && !shouldPropagate) {\n matchIndex--;\n var definesBehaviour = route.matched[matchIndex].meta\n && (route.matched[matchIndex].meta.propagateProps === true\n || route.matched[matchIndex].meta.propagateProps === false);\n shouldPropagate = definesBehaviour ? route.matched[matchIndex].meta.propagateProps : shouldPropagate;\n if (definesBehaviour)\n break;\n }\n return shouldPropagate;\n}\n"],"names":[],"sourceRoot":""}