{"version":3,"file":"./index.bundle.js","mappings":";;;;;;;;;AAAA,gHAA+C;;;;;;;;;;;;;;;;;;ACAY;AAC3D;AACA,iEAAe,iEAAiB,EAAC;;;;;;;;;;;;;;;;ACFjC,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,yCAAyC;AAC1F;AACA;AACA;AACA;AACA,0BAA0B,+BAA+B,MAAM;AAC/D,mDAAmD,WAAW;AAC9D,oDAAoD,YAAY;AAChE;AACA;AACA;AACA,oCAAoC,gBAAgB;AACpD;AACA,0BAA0B;AAC1B,sDAAsD,UAAU;AAChE,wCAAwC,iBAAiB;AACzD;AACA;AACA,0BAA0B;AAC1B;AACA,wCAAwC,iBAAiB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;ACxEA,iEAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,+BAA+B,MAAM;AAC/C;AACA,0CAA0C,gBAAgB;AAC1D,yCAAyC,aAAa;AACtD,0BAA0B,aAAa,IAAI,eAAe;AAC1D;AACA;AACA,0CAA0C,eAAe;AACzD,yCAAyC,YAAY,qBAAqB,kCAAkC;AAC5G,0BAA0B,YAAY,IAAI,cAAc;AACxD;AACA;AACA,0CAA0C,cAAc;AACxD,yCAAyC,WAAW,oBAAoB,iCAAiC;AACzG,0BAA0B,WAAW,IAAI,aAAa;AACtD;AACA;AACA;AACA,wBAAwB,UAAU;AAClC;AACA,wCAAwC,YAAY;AACpD;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AC5E4C;AACH;AACzC;AACA;AACgC;AAChC;AACe;AACf;AACA,YAAY,iDAAO;AACnB,wCAAwC,iDAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,aAAa;AACb;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,gCAAgC,sDAAW;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;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,YAAY,iDAAO;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;AACT,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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K,IAA2B;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,SAAS,sBAAsB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,EAAE;AACjC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA;AACA;;AAEA;AACA;AACA,mEAAmE;AACnE;AACA;AACA,wCAAwC;AACxC;AACA,qEAAqE;AACrE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D;AAC5D;;AAEA,UAAU,oBAAoB;AAC9B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;;AAEA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA;;AAEA;AACA;;AAEA,2BAA2B;AAC3B,CAAC;;;;;;;;;;;;;;;;AClKD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;AACA;AACA,GAAG;AACH;;AAEA,iEAAe,UAAU,EAAC;;;;;;;;;;;;;;;;AChD1B;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA,iEAAe,kBAAkB,EAAC;;;;;;;;;;;;;;;;;;ACtBK;AACD;;AAEtC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,UAAU;AACrB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA,aAAa,UAAU;AACvB;AACA,aAAa,mBAAmB;AAChC;AACA,aAAa,mBAAmB;AAChC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,gDAAgD,SAAS;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+BAA+B,gDAAc;;AAE7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;AACA;AACA,GAAG;AACH;;AAEA,qBAAqB,mDAAU;;AAE/B;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC,SAAS;AAC/C;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,gEAAgE;AAChE;AACA;;AAEA,iEAAe,OAAO,EAAC;;;;;;;;;;;;;;;;AC9PO;AACS;AACD;;AAEtC,eAAe,eAAe;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,qBAAM;AACnB,WAAW,qBAAM;AACjB;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,wBAAwB,8CAAO;AAC/B,EAAE;AACF,0CAA0C,gDAAc;AACxD,EAAE;AACF,gCAAgC,mDAAU;AAC1C;;;;;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,MAAM;AACN,eAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,WAAW;AACX;;AAEA;AACA;AACA,wCAAwC,WAAW;AACnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA,UAAU;AACV;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qCAAqC,cAAc;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC,mBAAmB;AACpD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAkB;;AAElB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB,gBAAgB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+CAA+C,QAAQ;AACvD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA,YAAY;AACZ;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;;AAEA,YAAY;AACZ;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA,KAAK;;AAEL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE,KAA0B,oBAAoB,CAAE;AAClD;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3uBA;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;;;;;;;;;;;;;;;AClCe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;ACJA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;;;;;;;;;;;;;;;ACde;AACf;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;ACdA;AACA;AACA;AACA,kBAAkB,sBAAsB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,EAAE;AACtC,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA,qEAAqE;AACrE;AACA;AACA,0CAA0C;AAC1C;AACA,uEAAuE;AACvE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,6DAA6D;AAC7D;AACA,oBAAoB,oBAAoB;AACxC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,WAAW;AACX;AACA,OAAO;AACP;AACA,6CAA6C;AAC7C,OAAO;AACP;AACA,6BAA6B;AAC7B;AACA,KAAK;AACL;AACA,oBAAoB,yCAAyC;AAC7D,mBAAmB;AACnB;AACA;AACA;;AAEA,mCAAmC,WAAW;AAC9C;;AAE0B;;;;;;;UCrI1B;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;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,sDAAsD;WACtD,sCAAsC,iEAAiE;WACvG;WACA;WACA;WACA;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;WACA;;;;;WCJA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA;WACA,uBAAuB,4BAA4B;WACnD;WACA;WACA;WACA,iBAAiB,oBAAoB;WA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","sources":["webpack://amaris_2021/./node_modules/@babel/runtime/regenerator/index.js","webpack://amaris_2021/./node_modules/@humandigital-agency/consent-controller/index.js","webpack://amaris_2021/./node_modules/@humandigital-agency/consent-controller/src/html/cookiebar.js","webpack://amaris_2021/./node_modules/@humandigital-agency/consent-controller/src/html/form.js","webpack://amaris_2021/./node_modules/@humandigital-agency/consent-controller/src/js/consentController.js","webpack://amaris_2021/./corporate/scripts/app.js","webpack://amaris_2021/./corporate/scripts/controllers/accordeon/accordeon.js","webpack://amaris_2021/./corporate/scripts/controllers/accordeon/controller.js","webpack://amaris_2021/./corporate/scripts/controllers/header.js","webpack://amaris_2021/./corporate/scripts/controllers/media.js","webpack://amaris_2021/./corporate/scripts/controllers/polyfill.js","webpack://amaris_2021/./corporate/scripts/controllers/slider.js","webpack://amaris_2021/./corporate/scripts/libraries/slimmage.js","webpack://amaris_2021/./corporate/scripts/libraries/slimmageSettings.js","webpack://amaris_2021/./node_modules/js-cookie/src/js.cookie.js","webpack://amaris_2021/./node_modules/promise-polyfill/src/allSettled.js","webpack://amaris_2021/./node_modules/promise-polyfill/src/finally.js","webpack://amaris_2021/./node_modules/promise-polyfill/src/index.js","webpack://amaris_2021/./node_modules/promise-polyfill/src/polyfill.js","webpack://amaris_2021/./node_modules/regenerator-runtime/runtime.js","webpack://amaris_2021/external var \"$\"","webpack://amaris_2021/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://amaris_2021/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://amaris_2021/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://amaris_2021/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://amaris_2021/./node_modules/@humandigital-agency/consent-controller/node_modules/js-cookie/dist/js.cookie.mjs","webpack://amaris_2021/webpack/bootstrap","webpack://amaris_2021/webpack/runtime/compat get default export","webpack://amaris_2021/webpack/runtime/create fake namespace object","webpack://amaris_2021/webpack/runtime/define property getters","webpack://amaris_2021/webpack/runtime/ensure chunk","webpack://amaris_2021/webpack/runtime/get javascript chunk filename","webpack://amaris_2021/webpack/runtime/global","webpack://amaris_2021/webpack/runtime/hasOwnProperty shorthand","webpack://amaris_2021/webpack/runtime/load script","webpack://amaris_2021/webpack/runtime/make namespace object","webpack://amaris_2021/webpack/runtime/publicPath","webpack://amaris_2021/webpack/runtime/jsonp chunk loading","webpack://amaris_2021/./corporate/scripts/index.js"],"sourcesContent":["module.exports = require(\"regenerator-runtime\");\n","import ConsentController from './src/js/consentController';\r\n\r\nexport default ConsentController;\r\nexport {\r\n ConsentController,\r\n};","export default (props) => {\r\n let {\r\n title,\r\n textMobile,\r\n textDesktop,\r\n textButtonAgree,\r\n textButtonChange,\r\n allowChange,\r\n changeUrl,\r\n textButtonRefuse,\r\n allowRefuse,\r\n useModal,\r\n } = props;\r\n\r\n // Fallbacks, inheritances\r\n if (!textMobile && textDesktop) {\r\n textMobile = textDesktop;\r\n } else if (textMobile && !textDesktop) {\r\n textDesktop = textMobile;\r\n }\r\n\r\n if (!textButtonAgree) {\r\n textButtonAgree = `Akkoord`;\r\n }\r\n\r\n if (!textButtonChange) {\r\n textButtonChange = `Wijzigen`;\r\n }\r\n\r\n if (!textButtonRefuse) {\r\n textButtonRefuse = `Weigeren`;\r\n }\r\n\r\n if (allowChange === undefined) {\r\n allowChange = true;\r\n }\r\n\r\n if (allowRefuse === undefined) {\r\n allowRefuse = false;\r\n }\r\n\r\n const parentElement = document.createElement(`div`);\r\n parentElement.innerHTML = `\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ${title ? `${title}` : ``}\r\n
${textMobile}
\r\n
${textDesktop}
\r\n
\r\n
\r\n \r\n ${(allowChange && changeUrl) ? `\r\n \r\n ${textButtonChange}\r\n \r\n ` : ``}\r\n ${allowRefuse ? `\r\n \r\n ` : ``}\r\n
\r\n
\r\n
\r\n
\r\n
`;\r\n return parentElement.firstElementChild;\r\n}","export default (props) => {\r\n let {\r\n title,\r\n labelFunctional,\r\n textFunctional,\r\n labelAnalytics,\r\n textAnalytics,\r\n labelTracking,\r\n textTracking,\r\n labelSave,\r\n textSuccess,\r\n\r\n analyticsChecked,\r\n trackingChecked,\r\n } = props;\r\n\r\n // Fallbacks, inheritances\r\n if (!labelFunctional) {\r\n labelFunctional = `Functioneel`;\r\n }\r\n\r\n if (!labelAnalytics) {\r\n labelAnalytics = `Analytics`;\r\n }\r\n\r\n if (!labelTracking) {\r\n labelFunctional = `Tracking`;\r\n }\r\n\r\n if (analyticsChecked === undefined) {\r\n analyticsChecked = false;\r\n }\r\n\r\n if (trackingChecked === undefined) {\r\n trackingChecked = false;\r\n }\r\n\r\n if (!labelSave) {\r\n labelSave = `Opslaan`;\r\n }\r\n\r\n if (!textSuccess) {\r\n textSuccess = `Opgeslagen!`;\r\n }\r\n\r\n const functionalID = Date.now().toString(18) + Math.random().toString(18).substr(2);\r\n const analyticsID = Date.now().toString(18) + Math.random().toString(18).substr(2);\r\n const trackingID = Date.now().toString(18) + Math.random().toString(18).substr(2);\r\n\r\n const parentElement = document.createElement(`div`);\r\n parentElement.innerHTML = `\r\n
\r\n ${title ? `${title}` : ``}\r\n
\r\n ${labelFunctional}\r\n \r\n \r\n
\r\n
\r\n ${labelAnalytics}\r\n \r\n \r\n
\r\n
\r\n ${labelTracking}\r\n \r\n \r\n
\r\n
\r\n \r\n ${textSuccess}\r\n
\r\n
`;\r\n return parentElement.firstElementChild;\r\n}","import Cookiebar from './../html/cookiebar';\r\nimport Consentform from './../html/form';\r\n// import Consentmodal from './../html/modal';\r\n\r\nimport Cookies from 'js-cookie';\r\n\r\nexport default class ConsentController {\r\n constructor() {\r\n if (Cookies.get('AVGPermissions')) {\r\n this.AVGCookie = JSON.parse(Cookies.get('AVGPermissions'));\r\n }\r\n this.configPromise = null;\r\n\r\n this.cookiebar = document.querySelector('.consent-cookiebar');\r\n if (!this.cookiebar) {\r\n this.createCookiebar();\r\n this.cookiebar = document.querySelector('.consent-cookiebar');\r\n }\r\n\r\n this.loadGTM();\r\n this.initCookiebar();\r\n this.initForm();\r\n }\r\n\r\n get functional() {\r\n if (this.AVGCookie === undefined) {\r\n return true;\r\n }\r\n return this.AVGCookie.Functional;\r\n }\r\n\r\n get analytics() {\r\n if (this.AVGCookie === undefined) {\r\n return false;\r\n }\r\n return this.AVGCookie.Analytics;\r\n }\r\n\r\n get tracking() {\r\n if (this.AVGCookie === undefined) {\r\n return false;\r\n }\r\n return this.AVGCookie.Tracking;\r\n }\r\n\r\n initCookiebar() {\r\n if (this.cookiebar) {\r\n this.cookiebar.querySelectorAll(`[data-agree]`).forEach(button => {\r\n button.addEventListener(`click`, this.agreeAll.bind(this));\r\n });\r\n this.cookiebar.querySelectorAll(`[data-refuse]`).forEach(button => {\r\n button.addEventListener(`click`, this.refuseAll.bind(this));\r\n });\r\n /* if (this.cookiebar.dataset.modal && this.cookiebar.dataset.modal == \"true\") {\r\n this.prepareConfigModal();\r\n } */\r\n }\r\n this.checkCookiebarState();\r\n }\r\n\r\n /**\r\n * Form should only be loaded on the page where the user can change their preferences\r\n */\r\n initForm() {\r\n document.querySelectorAll(`[data-consent-form]`).forEach(dataElement => {\r\n const data = dataElement.dataset;\r\n const props = {\r\n title: data.consentTitle,\r\n labelFunctional: data.consentLabelFunctional,\r\n textFunctional: dataElement.querySelector(`[data-consent-text-functional]`) ? dataElement.querySelector(`[data-consent-text-functional]`).innerHTML : ``,\r\n labelAnalytics: data.consentLabelAnalytics,\r\n textAnalytics: dataElement.querySelector(`[data-consent-text-analytics]`) ? dataElement.querySelector(`[data-consent-text-analytics]`).innerHTML : ``,\r\n labelTracking: data.consentLabelTracking,\r\n textTracking: dataElement.querySelector(`[data-consent-text-tracking]`) ? dataElement.querySelector(`[data-consent-text-tracking]`).innerHTML : ``,\r\n labelSave: data.consentLabelSave,\r\n textSuccess: data.consentSuccess,\r\n analyticsChecked: this.analytics,\r\n trackingChecked: this.tracking,\r\n };\r\n const consentform = Consentform(props);\r\n dataElement.parentElement.insertBefore(consentform, dataElement);\r\n dataElement.remove();\r\n\r\n consentform.querySelector(`[data-save]`).addEventListener(`click`, (e) => {\r\n e.preventDefault();\r\n this.update(\r\n consentform.querySelector(`[name=\"functional\"]`).checked,\r\n consentform.querySelector(`[name=\"analytics\"]`).checked,\r\n consentform.querySelector(`[name=\"tracking\"]`).checked,\r\n );\r\n this.checkCookiebarState();\r\n if (consentform.querySelector(`.successText`)) {\r\n consentform.querySelector(`.successText`).classList.add(`saved`);\r\n setTimeout(() => {\r\n consentform.querySelector(`.successText`).classList.remove(`saved`);\r\n }, 1500);\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n /**\r\n * Handles saving cookie and updating GTM accordingly\r\n * @param {Boolean} functional \r\n * @param {Boolean} analytics \r\n * @param {Boolean} tracking \r\n */\r\n update(functional, analytics, tracking) {\r\n if (functional !== undefined && analytics !== undefined && tracking !== undefined) {\r\n this.AVGCookie = {\r\n Functional: functional,\r\n Analytics: analytics,\r\n\t\t\t Tracking: tracking,\r\n };\r\n\r\n // Google Consent v2\r\n const consent = this.consentDefaults;\r\n if (this.tracking) {\r\n consent.ad_personalization = `granted`;\r\n consent.ad_storage = `granted`;\r\n consent.ad_user_data = `granted`;\r\n consent.personalization_storage = `granted`;\r\n }\r\n\r\n if (this.analytics) {\r\n consent.analytics_storage = `granted`;\r\n }\r\n\r\n window.gtag(`consent`, `update`, consent);\r\n\r\n window.dataLayer.push({\r\n \"Analytics\": this.analytics,\r\n \"Tracking\": this.tracking,\r\n \"event\": \"ChangeCookieChoices\"\r\n });\r\n\r\n Cookies.set('AVGPermissions', JSON.stringify(this.AVGCookie), {\r\n expires: 99999\r\n });\r\n }\r\n }\r\n\r\n agreeAll() {\r\n this.update(true, true, true);\r\n this.checkCookiebarState();\r\n }\r\n\r\n refuseAll() {\r\n this.update(true, false, false);\r\n this.checkCookiebarState();\r\n }\r\n\r\n /* prepareConfigModal() {\r\n setTimeout(() => {\r\n if (this.cookiebar.classList.contains(`open`) && this.cookiebar.querySelector(`a[data-change][href]`)) {\r\n const configButton = this.cookiebar.querySelector(`a[data-change][href]`);\r\n const target = configButton.href;\r\n \r\n this.configPromise = fetch(target).then(response => {\r\n return response.text()\r\n }).then(htmlString => {\r\n const parser = new DOMParser();\r\n const DOM = parser.parseFromString(htmlString, `text/html`);\r\n if (DOM.querySelector(`[data-consent-form]`)) {\r\n // TODO\r\n }\r\n });\r\n }\r\n }, 500);\r\n } */\r\n\r\n checkCookiebarState() {\r\n if (!document.querySelector(`[data-consent-form]`)) {\r\n if (this.AVGCookie === undefined) {\r\n this.cookiebar.classList.add(`open`);\r\n this.cookiebar.setAttribute(`open`, `open`);\r\n } else {\r\n this.cookiebar.classList.remove(`open`);\r\n this.cookiebar.removeAttribute(`open`);\r\n }\r\n }\r\n }\r\n\r\n loadGTM() {\r\n window.dataLayer = window.dataLayer || [];\r\n window.gtag = function(){window.dataLayer.push(arguments)};\r\n\r\n this.setDefaultConsent();\r\n document.querySelectorAll('noscript[data-gtm-tag]').forEach(noscript => {\r\n (function (w, d, s, l, i) {\r\n w[l] = w[l] || [];\r\n w[l].push({\r\n 'gtm.start': new Date().getTime(),\r\n event: 'gtm.js'\r\n });\r\n var f = d.getElementsByTagName(s)[0],\r\n j = d.createElement(s),\r\n dl = l != 'dataLayer' ? '&l=' + l : '';\r\n j.async = true;\r\n j.src =\r\n 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;\r\n f.parentNode.insertBefore(j, f);\r\n })\r\n (window, document, 'script', 'dataLayer', noscript.dataset.gtmTag);\r\n\t\t});\r\n }\r\n\r\n get consentDefaults() {\r\n return {\r\n ad_storage: `denied`,\r\n ad_user_data: `denied`,\r\n ad_personalization: `denied`,\r\n analytics_storage: `denied`,\r\n personalization_storage: `denied`,\r\n functionality_storage: `granted`,\r\n security_storage: `granted`,\r\n };\r\n }\r\n\r\n setDefaultConsent() {\r\n window.gtag(`consent`, `default`, this.consentDefaults);\r\n }\r\n\r\n /**\r\n * @description Creates and inserts a custom cookiebar based on a div with data on the webpage\r\n */\r\n createCookiebar() {\r\n const dataElement = document.querySelector(`[data-consent]`);\r\n if (dataElement) {\r\n const data = dataElement.dataset;\r\n const props = {\r\n title: data.consentTitle,\r\n textMobile: dataElement.querySelector(`[data-consent-text-mobile]`) ? dataElement.querySelector(`[data-consent-text-mobile]`).innerHTML : \"\",\r\n textDesktop: dataElement.querySelector(`[data-consent-text-desktop]`) ? dataElement.querySelector(`[data-consent-text-desktop]`).innerHTML : \"\",\r\n textButtonAgree: data.consentButtonAgree,\r\n textButtonChange: data.consentButtonChange,\r\n allowChange: data.consentAllowChange && data.consentAllowChange.toLowerCase() == \"true\",\r\n changeUrl: data.consentChangeUrl,\r\n textButtonRefuse: data.consentButtonRefuse,\r\n allowRefuse: data.consentAllowRefuse && data.consentAllowRefuse.toLowerCase() == \"true\",\r\n useModal: data.consentUseModal && data.consentUseModal.toLowerCase() == \"true\",\r\n };\r\n \r\n const cookiebar = Cookiebar(props);\r\n if (cookiebar) {\r\n dataElement.parentElement.insertBefore(cookiebar, dataElement);\r\n dataElement.remove();\r\n }\r\n }\r\n }\r\n}","export default class App {\r\n\tconstructor() {\r\n\t\tthis._resizeFunctionsArr = [];\r\n\t\tthis._resizeFunctions = {};\r\n\t\tthis._resizeFunctionsCounter = 0;\r\n\t\tthis._resizeTimeout = null;\r\n\t\tthis.resizeThrottle = false;\r\n\r\n\t\tthis._scrollFunctionsArr = [];\r\n\t\tthis._scrollFunctions = {};\r\n\t\tthis._scrollFunctionsCounter = 0;\r\n\t\tthis._scrollTimeout = null;\r\n\t\tthis.scrollThrottle = false;\r\n\r\n\t\tthis._resizeAnimationPreventerTimeout = 200;\r\n\r\n\t\tthis.breakpoints = {\r\n\t\t\txs: {\r\n\t\t\t\tgutter: 20,\r\n\t\t\t\tsize: 0,\r\n\t\t\t},\r\n\t\t\tsm: {\r\n\t\t\t\tgutter: 20,\r\n\t\t\t\tsize: 360,\r\n\t\t\t},\r\n\t\t\tmd: {\r\n\t\t\t\tgutter: 30,\r\n\t\t\t\tsize: 768,\r\n\t\t\t},\r\n\t\t\tml: {\r\n\t\t\t\tgutter: 30,\r\n\t\t\t\tsize: 1000,\r\n\t\t\t},\r\n\t\t\tlg: {\r\n\t\t\t\tgutter: 30,\r\n\t\t\t\tsize: 1024,\r\n\t\t\t},\r\n\t\t\txl: {\r\n\t\t\t\tgutter: 30,\r\n\t\t\t\tsize: 1440,\r\n\t\t\t},\r\n\t\t}\r\n\t}\r\n\r\n\tinit() {\r\n\t\tthis.detectBrowser();\r\n\t\tthis.setEventListeners();\r\n\t\tthis.fullHeightListener();\r\n\t\tthis.resizeAnimationPreventer();\r\n\t\tthis.initCSSBreakpoints();\r\n\t\tthis.addNewWindowTitles();\r\n\t\tthis.addNoOpener();\r\n\t\tthis.addAnchorEnhancement();\r\n\t\tthis.initSelectric();\r\n\t\tthis.initTippy();\r\n\t\tthis.initCopy();\r\n\t\tthis.initScrollTo();\r\n\t\tthis.initScrollToTop();\r\n\t\tthis.initPrintListener();\r\n\t\tthis.initLabelClick();\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\tsetEventListeners() {\r\n\t\twindow.addEventListener('resize', this.resize.bind(this), {\r\n\t\t\tpassive: true\r\n\t\t});\r\n\t\tdocument.addEventListener('scroll', this.scroll.bind(this), {\r\n\t\t\tpassive: true\r\n\t\t});\r\n\r\n\t\tdocument.querySelectorAll('main form label').forEach(label => {\r\n\t\t\tlabel.addEventListener('keydown', e => {\r\n\t\t\t\tif (e.key.toLowerCase().substr(0, 3) == 'ent') {\r\n\t\t\t\t\tlabel.click();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\t\r\n\t\tArray.from(document.querySelectorAll('a')).filter(a => !a.hasAttribute('href')).forEach(a => {\r\n\t\t\tif (!a.hasAttribute('tabindex')) {\r\n\t\t\t\ta.setAttribute('tabindex', '0');\r\n\t\t\t}\r\n\r\n\t\t\ta.addEventListener('keydown', e => {\r\n\t\t\t\tif (e.key.toLowerCase().substr(0, 3) == 'ent') {\r\n\t\t\t\t\ta.click();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tresize() {\r\n\t\tconst runFunctions = () => {\r\n\t\t\tfor (let i = 0, length = this._resizeFunctionsArr.length; i < length; i++) {\r\n\t\t\t\tthis._resizeFunctionsArr[i]();\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (this._resizeTimeout !== null) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\trunFunctions();\r\n\t\tif (this.resizeThrottle) {\r\n\t\t\tthis._resizeTimeout = setTimeout(() => {\r\n\t\t\t\tthis._resizeTimeout = null;\r\n\t\t\t\trunFunctions();\r\n\t\t\t}, this.resizeThrottle);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @param {function} func Function to be called on a resize event\r\n\t */\r\n\tregisterResizeEvent(func) {\r\n\t\tthis._resizeFunctions[this._resizeFunctionsCounter] = func;\r\n\t\tthis._resizeFunctionsCounter = this._resizeFunctionsCounter + 1;\r\n\r\n\t\t// Rebuild array of events\r\n\t\tthis._resizeFunctionsArr = [];\r\n\t\tObject.keys(this._resizeFunctions).forEach(key => {\r\n\t\t\tthis._resizeFunctionsArr.push(this._resizeFunctions[key]);\r\n\t\t});\r\n\r\n\t\treturn this._resizeFunctionsCounter - 1;\r\n\t}\r\n\r\n\t/**\r\n\t * @param {Number} func Function's ID to be removed from the resize functions\r\n\t */\r\n\tunregisterResizeEvent(func) {\r\n\t\tif (this._resizeFunctions[func]) {\r\n\t\t\t// Found\r\n\t\t\tdelete this._resizeFunctions[func];\r\n\r\n\t\t\t// Rebuild array of events\r\n\t\t\tthis._resizeFunctionsArr = [];\r\n\t\t\tObject.keys(this._resizeFunctions).forEach(key => {\r\n\t\t\t\tthis._resizeFunctionsArr.push(this._resizeFunctions[key]);\r\n\t\t\t});\r\n\r\n\t\t\treturn true;\r\n\t\t} else {\r\n\t\t\t// Not found\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @description Fires all registered events for a scroll event in the document\r\n\t */\r\n\tscroll() {\r\n\t\tconst runFunctions = () => {\r\n\t\t\tfor (let i = 0, length = this._scrollFunctionsArr.length; i < length; i++) {\r\n\t\t\t\tthis._scrollFunctionsArr[i]();\r\n\t\t\t}\r\n\t\t};\r\n\t\tif (this._scrollTimeout !== null) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\trunFunctions();\r\n\t\tif (this.scrollThrottle) {\r\n\t\t\tthis._scrollTimeout = setTimeout(() => {\r\n\t\t\t\tthis._scrollTimeout = null;\r\n\t\t\t\trunFunctions();\r\n\t\t\t}, this.scrollThrottle);\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @param {function} func Function to be called on a scroll event\r\n\t */\r\n\tregisterScrollEvent(func) {\r\n\t\tthis._scrollFunctions[this._scrollFunctionsCounter] = func;\r\n\t\tthis._scrollFunctionsCounter = this._scrollFunctionsCounter + 1;\r\n\r\n\t\t// Rebuild array of events\r\n\t\tthis._scrollFunctionsArr = [];\r\n\t\tObject.keys(this._scrollFunctions).forEach(key => {\r\n\t\t\tthis._scrollFunctionsArr.push(this._scrollFunctions[key]);\r\n\t\t});\r\n\r\n\t\treturn this._scrollFunctionsCounter - 1;\r\n\t}\r\n\r\n\t/**\r\n\t * @param {Number} func Function's ID to be removed from the scroll functions\r\n\t */\r\n\tunregisterScrollEvent(func) {\r\n\t\tif (this._scrollFunctions[func]) {\r\n\t\t\t// Found\r\n\t\t\tdelete this._scrollFunctions[func];\r\n\r\n\t\t\t// Rebuild array of events\r\n\t\t\tthis._scrollFunctionsArr = [];\r\n\t\t\tObject.keys(this._scrollFunctions).forEach(key => {\r\n\t\t\t\tthis._scrollFunctionsArr.push(this._scrollFunctions[key]);\r\n\t\t\t});\r\n\r\n\t\t\treturn true;\r\n\t\t} else {\r\n\t\t\t// Not found\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @description Adds a 'preventAnimations' class to the html tag on resizing\r\n\t */\r\n\tresizeAnimationPreventer() {\r\n\t\tthis.resizeTimer = null;\r\n\t\tthis.windowWidth = window.innerWidth;\r\n\t\tthis.registerResizeEvent(() => {\r\n\t\t\tif (window.innerWidth !== this.windowWidth) {\r\n\t\t\t\tdocument.documentElement.classList.add('preventAnimations');\r\n\t\t\t\tclearTimeout(this.resizeTimer);\r\n\r\n\t\t\t\tthis.resizeTimer = setTimeout(() => {\r\n\t\t\t\t\tdocument.documentElement.classList.remove('preventAnimations');\r\n\t\t\t\t}, this._resizeAnimationPreventerTimeout);\r\n\r\n\t\t\t\tthis.windowWidth = window.innerWidth;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * @description Adds a CSS variable '--fullHeight' to the html tag that creates an 'accurate 100vh'\r\n\t */\r\n\tfullHeightListener() {\r\n\t\tconst fullHeight = () => {\r\n\t\t\tdocument.documentElement.style.setProperty('--fullHeight', `${window.innerHeight}px`);\r\n\t\t};\r\n\t\tthis.registerResizeEvent(fullHeight);\r\n\t\tfullHeight();\r\n\t}\r\n\r\n\t/**\r\n\t * @description Adds a browser-specific class to the html tag\r\n\t */\r\n\tdetectBrowser() {\r\n\t\t// Opera 8.0+\r\n\t\tlet isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;\r\n\r\n\t\t// Firefox 1.0+\r\n\t\tlet isFirefox = typeof InstallTrigger !== 'undefined';\r\n\r\n\t\tlet isIphone = window.navigator.userAgent.match(/iPhone/i);\r\n\r\n\t\tlet isIpad = window.navigator.userAgent.match(/iPad/i);\r\n\r\n\t\tlet isSafari = window.navigator.userAgent.match(/Safari/i) && (window.navigator.userAgent.match(/iPhone/i) || window.navigator.userAgent.match(/iPad/i) || window.navigator.userAgent.match(/macOS/i));\r\n\r\n\t\t// Internet Explorer 6-11\r\n\t\tlet isIE = /*@cc_on!@*/ false || !!document.documentMode;\r\n\r\n\t\t// Edge 20+\r\n\t\tlet isEdge = !isIE && !!window.StyleMedia;\r\n\r\n\t\t// Chrome 1 - 71\r\n\t\tlet isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);\r\n\r\n\t\t// Blink engine detection\r\n\t\tlet isBlink = (isChrome || isOpera) && !!window.CSS;\r\n\r\n\t\tif (isOpera) {\r\n\t\t\tdocument.documentElement.classList.add('opera');\r\n\t\t}\r\n\r\n\t\tif (isFirefox) {\r\n\t\t\tdocument.documentElement.classList.add('firefox');\r\n\t\t}\r\n\r\n\t\tif (isSafari) {\r\n\t\t\tdocument.documentElement.classList.add('safari');\r\n\t\t}\r\n\r\n\t\tif (isIphone) {\r\n\t\t\tdocument.documentElement.classList.add('iphone');\r\n\t\t}\r\n\r\n\t\tif (isIpad) {\r\n\t\t\tdocument.documentElement.classList.add('ipad');\r\n\t\t}\r\n\r\n\t\tif (isIE) {\r\n\t\t\tdocument.documentElement.classList.add('ie');\r\n\t\t}\r\n\r\n\t\tif (isEdge) {\r\n\t\t\tdocument.documentElement.classList.add('edge');\r\n\t\t}\r\n\r\n\t\tif (isChrome) {\r\n\t\t\tdocument.documentElement.classList.add('chrome');\r\n\t\t}\r\n\r\n\t\tif (isBlink) {\r\n\t\t\tdocument.documentElement.classList.add('blink');\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @description Attempts to load bootstrap breakpoint settings from the CSS variables\r\n\t */\r\n\tinitCSSBreakpoints() {\r\n\t\tif (window.getComputedStyle) {\r\n\t\t\tconst documentStyling = getComputedStyle(document.documentElement);\r\n\t\t\tObject.keys(this.breakpoints).forEach(breakpoint => {\r\n\t\t\t\tif (documentStyling.getPropertyValue(`--breakpoint-${breakpoint}-size`) &&\r\n\t\t\t\t\tparseInt(documentStyling.getPropertyValue(`--breakpoint-${breakpoint}-size`)) !== NaN) {\r\n\t\t\t\t\tthis.breakpoints[breakpoint].size = parseInt(documentStyling.getPropertyValue(`--breakpoint-${breakpoint}-size`));\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (documentStyling.getPropertyValue(`--breakpoint-${breakpoint}-gutter`) &&\r\n\t\t\t\t\tparseInt(documentStyling.getPropertyValue(`--breakpoint-${breakpoint}-gutter`)) !== NaN) {\r\n\t\t\t\t\tthis.breakpoints[breakpoint].gutter = parseInt(documentStyling.getPropertyValue(`--breakpoint-${breakpoint}-gutter`));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @description Appends text to a tags that tells the user it'll open in a new tab/window. Add a tag with `data-new-window-text` property to change the appended text\r\n\t */\r\n\taddNewWindowTitles() {\r\n\t\tlet text = '(opent in een nieuw scherm)';\r\n\t\tif (document.querySelector('[data-new-window-text]')) {\r\n\t\t\ttext = document.querySelector('[data-new-window-text]').dataset.newWindowText;\r\n\t\t}\r\n\r\n\t\tdocument.querySelectorAll('a[target=\"_blank\"]').forEach(a => {\r\n\t\t\ta.setAttribute('title', `${a.getAttribute('title')} ${text}`.trim().replace(/ /g, \" \"));\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * @description Adds the attribute 'rel' set to 'noopener' on external links; This is for security reasons/best practices\r\n\t */\r\n\taddNoOpener() {\r\n\t\tdocument.querySelectorAll('a').forEach(a => {\r\n\t\t\tif (a.href && !a.hasAttribute('rel')) {\r\n\t\t\t\tif (a.hostname != location.hostname) {\r\n\t\t\t\t\ta.setAttribute('rel', 'noopener');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * @description Makes sure anchored tags get a class for it, so offsetting scroll is possible. Also edit anchor links to get the [data-scroll-to] attribute\r\n\t */\r\n\taddAnchorEnhancement() {\r\n\t\t// Enhance anchors\r\n\t\tArray.from(document.querySelectorAll('a[id]')).filter(a => !a.href).forEach(a => {\r\n\t\t\t// Get parent element, add 'anchored' class\r\n\t\t\tif (a.parentElement) {\r\n\t\t\t\ta.parentElement.classList.add('anchored');\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// Enhance anchor links\r\n\t\tArray.from(document.querySelectorAll('a[href]')).filter(a => a.hash && a.hash != '' && a.getAttribute('href').substr(0, 1) == '#' && !a.dataset.scrollTo).forEach(a => {\r\n\t\t\ta.dataset.scrollTo = a.hash;\r\n\t\t});\r\n\t}\r\n\r\n\t/**\r\n\t * @description Scroll element into view\r\n\t */\r\n\tinitScrollTo() {\r\n\t\tif (window.scrollTo) {\r\n\t\t\tdocument.querySelectorAll('[data-scroll-to]').forEach(el => {\r\n\t\t\t\tel.addEventListener('click', e => {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tconst target = document.querySelector(el.dataset.scrollTo);\r\n\r\n\t\t\t\t\tconst scrollPosition = this.elementCoords(target).top - (window.innerWidth > this.breakpoints.md.size ? 150 : 70);\r\n\t\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\t\ttop: scrollPosition,\r\n\t\t\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @description Basic random number generator\r\n\t * @param {Number} min \r\n\t * @param {Number} max \r\n\t */\r\n\trandom(min, max) {\r\n\t\treturn Math.floor(Math.random() * (max - min + 1) + min);\r\n\t}\r\n\r\n\t/**\r\n\t * @description Retrieves absolute position of an element relative to the page\r\n\t * @param {HTMLElement} el \r\n\t * @returns {Object}\r\n\t */\r\n\telementCoords(el) {\r\n\t\tconst box = el.getBoundingClientRect();\r\n\r\n\t\tconst body = document.body;\r\n\t\tconst docEl = document.documentElement;\r\n\r\n\t\tconst scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop;\r\n\t\tconst scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft;\r\n\r\n\t\tconst clientTop = docEl.clientTop || body.clientTop || 0;\r\n\t\tconst clientLeft = docEl.clientLeft || body.clientLeft || 0;\r\n\r\n\t\tconst top = box.top + scrollTop - clientTop;\r\n\t\tconst left = box.left + scrollLeft - clientLeft;\r\n\r\n\t\treturn {\r\n\t\t\ttop: Math.round(top),\r\n\t\t\tleft: Math.round(left)\r\n\t\t};\r\n\t}\r\n\r\n\tinitScrollToTop() {\r\n\t\tthis.scrollToTopContainer = document.querySelector('.scrollToTop');\r\n\r\n\t\tif (this.scrollToTopContainer) {\r\n\t\t\tconst button = this.scrollToTopContainer.querySelector('button');\r\n\t\t\tconst scroll = () => {\r\n\t\t\t\tif (document.documentElement.scrollTop > 400) {\r\n\t\t\t\t\tthis.scrollToTopContainer.classList.add('active');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.scrollToTopContainer.classList.remove('active');\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tthis.registerScrollEvent(scroll.bind(this));\r\n\r\n\t\t\tbutton.addEventListener('click', undefined => {\r\n\t\t\t\tthis.scrollToTopContainer.classList.add('moving');\r\n\t\t\t\tbutton.blur();\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: 0,\r\n\t\t\t\t\tbehavior: 'smooth',\r\n\t\t\t\t});\r\n\t\t\t\tsetTimeout(() => this.scrollToTopContainer.classList.remove('moving'), 1500);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tinitSelectric() {\r\n\t\tif (document.querySelectorAll('main select').length) {\r\n\t\t\ttry {\r\n\t\t\t\timport( /* webpackChunkName: \"modules/dropdown\" */ 'selectric').then(e => {\r\n\r\n\t\t\t\t\tdocument.querySelectorAll('main select').forEach(select => {\r\n\t\t\t\t\t\t$(select).selectric({\r\n\t\t\t\t\t\t\tarrowButtonMarkup: ``\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.error(e);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * @description Tooltip library\r\n\t */\r\n\tinitTippy() {\r\n\t\tif (document.querySelectorAll('[data-tippy-content]').length || document.querySelectorAll('[data-tippy-source]').length) {\r\n\t\t\ttry {\r\n\t\t\t\timport( /* webpackChunkName: \"modules/tooltip\" */ 'tippy.js').then(e => {\r\n\t\t\t\t\tconst tippy = e.default;\r\n\t\t\t\t\ttippy('[data-tippy-content]');\r\n\r\n\t\t\t\t\tif (document.querySelectorAll('[data-tippy-source]').forEach(source => {\r\n\t\t\t\t\t\t\tconst target = document.querySelector(`[data-tippy-target=\"${source.dataset.tippySource}\"]`);\r\n\t\t\t\t\t\t\tif (target) {\r\n\t\t\t\t\t\t\t\ttippy(source, {\r\n\t\t\t\t\t\t\t\t\tallowHTML: true,\r\n\t\t\t\t\t\t\t\t\tcontent: target.innerHTML,\r\n\t\t\t\t\t\t\t\t\tinteractive: target.querySelectorAll('a, button').length > 0\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}));\r\n\t\t\t\t});\r\n\t\t\t} catch (e) {\r\n\t\t\t\tconsole.error(e);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * @description Makes tags with the data-copy property clickable, copies its content to the clipboard\r\n\t */\r\n\tinitCopy() {\r\n\t\tdocument.querySelectorAll('[data-copy]').forEach(el => {\r\n\t\t\tel.addEventListener('click', () => {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst copyContent = el.dataset.copy;\r\n\t\t\t\t\tconst input = document.createElement('input');\r\n\r\n\t\t\t\t\tinput.type = 'text';\r\n\t\t\t\t\tinput.style.position = 'absolute';\r\n\t\t\t\t\tinput.style.height = 0;\r\n\t\t\t\t\tinput.style.overflow = 'hidden';\r\n\t\t\t\t\tinput.value = copyContent;\r\n\r\n\t\t\t\t\tdocument.body.appendChild(input);\r\n\t\t\t\t\tinput.select();\r\n\t\t\t\t\tdocument.execCommand('copy');\r\n\t\t\t\t\tinput.parentNode.removeChild(input);\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\tthis.toast('Something unexpected went wrong', 'error');\r\n\t\t\t\t\tconsole.error(e);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tinitPrintListener() {\r\n\t\tthis.printTexts = Array.from(document.querySelectorAll('[data-print]'));\r\n\r\n\t\tif (this.printTexts.length) {\r\n\t\t\tlet printElements = [];\r\n\r\n\t\t\twindow.addEventListener('beforeprint', e => {\r\n\t\t\t\tthis.printTexts.forEach(printParent => {\r\n\t\t\t\t\tlet span = document.createElement('span');\r\n\t\t\t\t\tspan.innerHTML = printParent.dataset.print;\r\n\t\t\t\t\tspan.classList.add('printText');\r\n\r\n\t\t\t\t\tprintElements.push(span);\r\n\r\n\t\t\t\t\tprintParent.appendChild(span);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\twindow.addEventListener('afterprint', e => {\r\n\t\t\t\tprintElements.forEach(printElement => {\r\n\t\t\t\t\tprintElement.remove();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tprintElements = [];\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tinitLabelClick() {\r\n\t\tdocument.querySelectorAll('label[for]').forEach(label => {\r\n\t\t\tlabel.addEventListener('keydown', e => {\r\n\r\n\t\t\t\tswitch (e.key.toLowerCase()) {\r\n\t\t\t\t\tcase ' ':\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcase 'space':\r\n\t\t\t\t\tcase 'enter':\r\n\t\t\t\t\t\tlabel.click();\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\tgetCurrentBreakpoint() {\r\n\t\tconst width = window.innerWidth;\r\n\t\tconst breakpoints = Object.keys(this.breakpoints).reverse();\r\n\r\n\t\tlet currentBreakpoint = breakpoints[breakpoints.length - 1];\r\n\r\n\t\tbreakpoints.forEach(breakpoint => {\r\n\t\t\tif (width <= this.breakpoints[breakpoint].size) {\r\n\t\t\t\tcurrentBreakpoint = breakpoint;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn currentBreakpoint;\r\n\t}\r\n\r\n\ttoast(message, type = 'success') {\r\n\t\tif (this.ToastController) {\r\n\t\t\tthis.ToastController.new(message, type);\r\n\t\t} else {\r\n\t\t\tconsole.error('ToastController not available. Message below');\r\n\t\t\tconsole.log(`[${type}] ${message}`);\r\n\t\t}\r\n\t}\r\n}","export default class Accordeon {\r\n constructor(container) {\r\n this.container = container;\r\n this.items = [];\r\n this.resetClass = 'reset';\r\n this.oneOption = false;\r\n\r\n this.selectors = {\r\n header: '.header',\r\n content: '.content',\r\n };\r\n\r\n this.loadSettings();\r\n }\r\n\r\n init() {\r\n Array.from(this.container.children).forEach(item => this.items.push(item));\r\n\r\n // Filter items for valid accordeon items\r\n this.items = this.items.filter(item => item.hasAttribute('aria-expanded'));\r\n\r\n this.items.forEach(item => {\r\n const content = item.querySelector(this.selectors.content);\r\n if (item.getAttribute('aria-expanded') == 'true') {\r\n // content.style.height = `${content.scrollHeight}px`;\r\n } else {\r\n content.style.height = 0;\r\n }\r\n });\r\n\r\n // Timeout to check again, in case CSS loads slower\r\n setTimeout(() => {\r\n this.items.forEach(item => {\r\n const content = item.querySelector(this.selectors.content);\r\n if (item.getAttribute('aria-expanded') == 'true') {\r\n content.style.height = `${content.scrollHeight}px`;\r\n }\r\n });\r\n }, 100);\r\n\r\n this.setEventListeners();\r\n\r\n // Once listeners are set, close all items\r\n this.items.forEach(item => {\r\n if (!item.hasAttribute('aria-expanded')) {\r\n item.setAttribute('aria-expanded', false);\r\n // Make all clickables inactive\r\n item.querySelectorAll('.content a, .content button').forEach(clickable => {\r\n clickable.setAttribute('tabindex', '-1');\r\n });\r\n }\r\n });\r\n }\r\n\r\n setEventListeners() {\r\n this.items.forEach(item => {\r\n /** @type HTMLElement */\r\n const header = item.querySelector(this.selectors.header);\r\n const content = item.querySelector(this.selectors.content);\r\n header.addEventListener('click', this.toggleItem.bind(this, item));\r\n\r\n let closeButton;\r\n if (closeButton = content.querySelector('button.closeFaq')) {\r\n closeButton.addEventListener('click', this.toggleItem.bind(this, item));\r\n }\r\n\r\n header.setAttribute('tabindex', '0');\r\n header.addEventListener('keydown', e => {\r\n switch (e.key.toLowerCase()) {\r\n case ' ':\r\n case 'enter':\r\n this.toggleItem(item);\r\n break;\r\n case 'escape':\r\n case 'esc':\r\n this.inactive(item);\r\n break;\r\n }\r\n }, true);\r\n\r\n ['webkittransitionend', 'transitionend'].forEach(event => content.addEventListener(event, () => {\r\n this.transitionEnd(item);\r\n }));\r\n });\r\n\r\n // Shouldn't be needed anymore\r\n // window.app.registerResizeEvent(this.resize.bind(this));\r\n }\r\n\r\n /**\r\n * \r\n * @param {HTMLElement} item \r\n */\r\n toggleItem(item) {\r\n if (item.getAttribute('aria-expanded') == 'true') {\r\n this.inactive(item);\r\n } else {\r\n this.active(item);\r\n }\r\n }\r\n\r\n active(item) {\r\n const content = item.querySelector(this.selectors.content);\r\n\r\n // First, lock its current css-calculated height\r\n content.style.height = `${content.clientHeight}px`; // Should be 0 for closed items anyway\r\n content.offsetHeight; // Merely reading this property is enough to trigger a repaint\r\n content.style.height = `${content.scrollHeight}px`; // Set it to the innerscroll's height, which should be all of its contents\r\n\r\n item.setAttribute('aria-expanded', 'true');\r\n // Make all clickables active\r\n content.querySelectorAll('a, button').forEach(clickable => {\r\n clickable.setAttribute('tabindex', '0');\r\n });\r\n\r\n if (this.oneOption) {\r\n this.items.forEach(otherItem => {\r\n if (otherItem != item) {\r\n this.inactive(otherItem);\r\n }\r\n });\r\n }\r\n }\r\n\r\n inactive(item) {\r\n const content = item.querySelector(this.selectors.content);\r\n\r\n // First, lock its current css-calculated height\r\n content.style.height = `${content.clientHeight}px`; // Set it to the content's height, which should be all of its contents\r\n content.offsetHeight; // Merely reading this property is enough to trigger a repaint\r\n content.style.height = 0; // Set it to 0, so it animated as well\r\n\r\n item.setAttribute('aria-expanded', 'false');\r\n // Make all clickables inactive\r\n content.querySelectorAll('a, button').forEach(clickable => {\r\n clickable.setAttribute('tabindex', '-1');\r\n });\r\n }\r\n\r\n transitionEnd(item) {\r\n const content = item.querySelector(this.selectors.content);\r\n content.style.height = null; // Only reset the manually calculated height\r\n }\r\n\r\n // Shouldn't be needed anymore\r\n resize() {\r\n this.items.filter(item => !item.classList.contains(this.resetClass) && item.getAttribute('aria-expanded') == 'true').forEach(item => {\r\n const content = item.querySelector(this.selectors.content);\r\n content.style.height = 'auto';\r\n item.classList.add(this.resetClass);\r\n });\r\n }\r\n\r\n loadSettings() {\r\n if (this.container.dataset.oneOption && this.container.dataset.oneOption == 'true') {\r\n this.oneOption = true;\r\n }\r\n }\r\n}","import Accordeon from './accordeon.js';\r\n\r\nexport default class AccordeonController {\r\n constructor() {\r\n this.selector = 'ul.accordeon:not(.locked), ol.accordeon:not(.locked), div.accordeon:not(.locked)';\r\n this.accordeons = [];\r\n\r\n this.init();\r\n }\r\n\r\n init() {\r\n if (document.querySelectorAll(this.selector).length) {\r\n document.querySelectorAll(this.selector).forEach(accordeonElement => {\r\n let accordeon = new Accordeon(accordeonElement);\r\n this.accordeons.push(accordeon);\r\n\r\n accordeon.init();\r\n });\r\n }\r\n }\r\n}","export default class HeaderController {\r\n\tconstructor() {\r\n\t\tthis.floatingHeaderElement = null;\r\n\t\tthis.headerElement = null;\r\n\t\tthis.menuButton = null;\r\n\t\tthis.closeMenuButton = null;\r\n\t\tthis.flyoutBackground = null;\r\n\r\n\t\tthis.init();\r\n\t\tthis.resize();\r\n\t}\r\n\r\n\tinit() {\r\n\t\tthis.floatingHeaderElement = document.querySelector('.floatingHeader');\r\n\t\tthis.headerElement = document.querySelector('header');\r\n\t\tthis.menuButtons = document.querySelectorAll('.menuButton');\r\n\t\tthis.closeMenuButton = document.querySelector('.closeMenuButton');\r\n\t\tthis.flyoutBackground = document.querySelector('.flyoutMenuBackground');\r\n\r\n\t\t// Register events\r\n\t\t// window.app.registerResizeEvent(this.resize.bind(this));\r\n\t\twindow.app.registerScrollEvent(this.scroll.bind(this));\r\n\r\n\t\t// Click events\r\n\t\tthis.menuButtons.forEach(button => button.addEventListener('click', this.toggleMenu.bind(this)));\r\n\t\tthis.closeMenuButton.addEventListener('click', this.closeMenu.bind(this));\r\n\t\tthis.flyoutBackground.addEventListener('click', this.closeMenu.bind(this));\r\n\r\n\t\t// this.headerElement.querySelectorAll('.flyout ul button').forEach(button => {\r\n\t\t// \tbutton.addEventListener('click', this.toggleSubMenu.bind(this, button));\r\n\t\t// });\r\n\r\n\t\twindow.addEventListener('keydown', e => {\r\n\t\t\tif (e.key.substr(0, 3).toLowerCase() == 'esc') {\r\n\t\t\t\tthis.closeMenu();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleMenu() {\r\n\t\tdocument.body.classList.toggle('flyoutActive');\r\n\t}\r\n\r\n\tcloseMenu() {\r\n\t\tdocument.body.classList.remove('flyoutActive');\r\n\t}\r\n\r\n\tresize() {\r\n\t\tthis.previousScroll = window.pageYOffset;\r\n\r\n\t\tthis.scroll();\r\n\t}\r\n\r\n\tscroll() {\r\n\r\n\t\tif (document.querySelector('.homepage')) {\r\n\t\t\tif (window.pageYOffset > (this.floatingHeaderElement.clientHeight + 560)) {\r\n\t\t\t\tdocument.body.classList.add('menuActive');\r\n\t\t\t} else {\r\n\t\t\t\tdocument.body.classList.remove('menuActive');\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (window.pageYOffset > (this.floatingHeaderElement.clientHeight)) {\r\n\t\t\t\tdocument.body.classList.add('menuActive');\r\n\t\t\t} else {\r\n\t\t\t\tdocument.body.classList.remove('menuActive');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\thide() {\r\n\t\tthis.headerElement.classList.add('hidden');\r\n\t}\r\n\r\n\tshow() {\r\n\t\tthis.headerElement.classList.remove('hidden');\r\n\t}\r\n}","import Cookies from 'js-cookie';\r\n\r\nexport default class MediaController {\r\n\tconstructor(autoinit = true) {\r\n\t\tif (autoinit) {\r\n\t\t\tthis.init();\r\n\t\t}\r\n\t}\r\n\r\n\tinit() {\r\n\t\tvar youtube = false;\r\n\t\tvar vimeo = false;\r\n\t\tdocument.querySelectorAll('noscript').forEach(media => {\r\n\t\t\tswitch (media.dataset.mediatype) {\r\n\t\t\t\tcase 'youtube':\r\n\t\t\t\t\tthis.youtube(media);\r\n\t\t\t\t\tyoutube = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'vimeo':\r\n\t\t\t\t\tthis.vimeo(media);\r\n\t\t\t\t\tvimeo = true;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (window.app.ConsentController.tracking) {\r\n\t\t\tif (youtube) {\r\n\t\t\t\tvar tag = document.createElement('script');\r\n\t\t\t\ttag.src = \"//www.youtube.com/player_api\";\r\n\t\t\t\tvar firstScriptTag = document.getElementsByTagName('script')[0];\r\n\t\t\t\tfirstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\r\n\r\n\t\t\t\twindow.onYouTubeIframeAPIReady = this.YouTubeAPILoaded.bind(this);\r\n\t\t\t}\r\n\r\n\t\t\tif (vimeo) {\r\n\t\t\t\timport( /* webpackChunkName: \"modules/vimeo\" */ '@vimeo/player').then(module => {\r\n\t\t\t\t\tconst Player = module.default;\r\n\t\t\t\t\tdocument.querySelectorAll('iframe.vimeo').forEach(iframe => {\r\n\t\t\t\t\t\tvar player = new Player(iframe);\r\n\r\n\t\t\t\t\t\tiframe.parentNode.querySelector('div.videoPoster a').addEventListener('click', (click) => {\r\n\r\n\t\t\t\t\t\t\tif (!click.currentTarget.closest('[data-lity]')) {\r\n\t\t\t\t\t\t\t\tlet videoPoster = click.currentTarget.closest('div.videoPoster');\r\n\t\t\t\t\t\t\t\tvideoPoster.remove();\r\n\t\t\t\t\t\t\t\tplayer.play().catch(error => {\r\n\t\t\t\t\t\t\t\t\tconsole.log('Failed playing');\r\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\t\t\t\tplayer.play().catch(e => {\r\n\t\t\t\t\t\t\t\t\t\t\tconsole.error(e);\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t}, 500);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}, true);\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tYouTubeAPILoaded() {\r\n\t\tdocument.querySelectorAll('iframe.youtube').forEach(iframe => {\r\n\t\t\tnew YT.Player(iframe.id, {\r\n\t\t\t\tevents: {\r\n\t\t\t\t\t'onReady': function(event){\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tiframe.parentNode.querySelector('div.videoPoster a').addEventListener('click', (click) => {\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\tif (!iframe.closest('[data-lity]')) {\r\n\t\t\t\t\t\t\t\t\tclick.currentTarget.closest('div.videoPoster').remove();\r\n\t\t\t\t\t\t\t\t\tevent.target.playVideo();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t}, true);\r\n\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\tconsole.error(e);\r\n\t\t\t\t\t\t\tconsole.log(event);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t})\r\n\t}\r\n\r\n\r\n\tembedIframe(url, type, id, imgtag) {\r\n\t\t// External sites use tracking, so the tracking cookie needs to be enabled\r\n\t\tif (window.app.ConsentController.tracking) {\r\n\t\t\treturn `\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t${imgtag}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
`;\r\n\t\t} else {\r\n\t\t\treturn `\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

Deze video heeft cookies nodig

\r\n\t\t\t\t\t

U heeft aangegeven liever geen cookies van YouTube of Vimeo te krijgen. Deze cookies zijn nodig om deze video te tonen.

\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t`;\r\n\t\t}\r\n\t}\r\n\r\n\tyoutube(media) {\r\n\t\tconst url = `https://www.youtube-nocookie.com/embed/${media.dataset.youtube}?wmode=opaque&rel=0&enablejsapi=1&origin=${window.location.protocol}//${window.location.hostname}`;\r\n\r\n\t\tlet sourceRegex = /src='(.*?)'/;\r\n\t\tlet imgsrc = media.innerHTML.match(sourceRegex);\r\n\t\tlet imgElement = new Image();\r\n\t\timgElement.src = imgsrc[1];\r\n\t\timgElement.setAttribute('alt', 'Thumbnail van de video');\r\n\r\n\t\tconst embed = this.embedIframe(url, \"youtube\", media.dataset.youtube, imgElement.outerHTML);\r\n\r\n\t\tlet tempDiv = document.createElement('div');\r\n\t\ttempDiv.innerHTML = embed;\r\n\r\n\t\tmedia.before(tempDiv.firstElementChild);\r\n\t\tmedia.remove();\r\n\t}\r\n\r\n\tvimeo(media) {\r\n\t\tconst url = `https://player.vimeo.com/video/${media.dataset.vimeo}?title=0&byline=0&portrait=0&api=1`;\r\n\t\tlet sourceRegex = /src='(.*?)'/;\r\n\t\tlet imgsrc = media.innerHTML.match(sourceRegex);\r\n\t\tlet imgElement = new Image();\r\n\t\timgElement.src = imgsrc[1];\r\n\t\timgElement.setAttribute('alt', 'Thumbnail van de video');\r\n\r\n\r\n\t\tconst embed = this.embedIframe(url, \"vimeo\", media.dataset.vimeo, imgElement.outerHTML);\r\n\r\n\t\tlet tempDiv = document.createElement('div');\r\n\t\ttempDiv.innerHTML = embed;\r\n\r\n\t\tmedia.before(tempDiv.firstElementChild);\r\n\t\tmedia.remove();\r\n\t}\r\n\r\n}","export default class PolyfillController {\r\n constructor() {\r\n this.polyfills = [];\r\n this.loaded = [];\r\n }\r\n\r\n init() {\r\n this.loadPolyfills();\r\n\r\n return Promise.all(this.polyfills);\r\n }\r\n\r\n loadPolyfills() {\r\n this.forEach();\r\n this.from();\r\n this.includes();\r\n this.intersectionObserver();\r\n this.fetch();\r\n // this.abortController(); // Placed under fetch\r\n this.proxy();\r\n this.closest();\r\n this.before();\r\n this.remove();\r\n this.entries();\r\n this.assign();\r\n this.customEvent();\r\n }\r\n\r\n forEach() {\r\n if (window.NodeList && !NodeList.prototype.forEach) {\r\n NodeList.prototype.forEach = Array.prototype.forEach;\r\n this.loaded.push('forEach');\r\n }\r\n }\r\n\r\n from() {\r\n if (!Array.from) {\r\n Array.from = (function () {\r\n let symbolIterator;\r\n try {\r\n symbolIterator = Symbol.iterator ?\r\n Symbol.iterator :\r\n 'Symbol(Symbol.iterator)';\r\n } catch (e) {\r\n symbolIterator = 'Symbol(Symbol.iterator)';\r\n }\r\n\r\n let toStr = Object.prototype.toString;\r\n var isCallable = function (fn) {\r\n return (\r\n typeof fn === 'function' ||\r\n toStr.call(fn) === '[object Function]'\r\n );\r\n };\r\n let toInteger = function (value) {\r\n let number = Number(value);\r\n if (isNaN(number)) return 0;\r\n if (number === 0 || !isFinite(number)) return number;\r\n return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\r\n };\r\n let maxSafeInteger = Math.pow(2, 53) - 1;\r\n let toLength = function (value) {\r\n var len = toInteger(value);\r\n return Math.min(Math.max(len, 0), maxSafeInteger);\r\n };\r\n\r\n let setGetItemHandler = function setGetItemHandler(isIterator, items) {\r\n let iterator = isIterator && items[symbolIterator]();\r\n return function getItem(k) {\r\n return isIterator ? iterator.next() : items[k];\r\n };\r\n };\r\n\r\n let getArray = function getArray(\r\n T,\r\n A,\r\n len,\r\n getItem,\r\n isIterator,\r\n mapFn\r\n ) {\r\n // 16. Let k be 0.\r\n let k = 0;\r\n\r\n // 17. Repeat, while k < len… or while iterator is done (also steps a - h)\r\n while (k < len || isIterator) {\r\n let item = getItem(k);\r\n let kValue = isIterator ? item.value : item;\r\n\r\n if (isIterator && item.done) {\r\n return A;\r\n } else {\r\n if (mapFn) {\r\n A[k] =\r\n typeof T === 'undefined' ?\r\n mapFn(kValue, k) :\r\n mapFn.call(T, kValue, k);\r\n } else {\r\n A[k] = kValue;\r\n }\r\n }\r\n k += 1;\r\n }\r\n\r\n if (isIterator) {\r\n throw new TypeError(\r\n 'Array.from: provided arrayLike or iterator has length more then 2 ** 52 - 1'\r\n );\r\n } else {\r\n A.length = len;\r\n }\r\n\r\n return A;\r\n };\r\n\r\n // The length property of the from method is 1.\r\n return function from(arrayLikeOrIterator /*, mapFn, thisArg */ ) {\r\n // 1. Let C be the this value.\r\n var C = this;\r\n\r\n // 2. Let items be ToObject(arrayLikeOrIterator).\r\n var items = Object(arrayLikeOrIterator);\r\n var isIterator = isCallable(items[symbolIterator]);\r\n\r\n // 3. ReturnIfAbrupt(items).\r\n if (arrayLikeOrIterator == null && !isIterator) {\r\n throw new TypeError(\r\n 'Array.from requires an array-like object or iterator - not null or undefined'\r\n );\r\n }\r\n\r\n // 4. If mapfn is undefined, then let mapping be false.\r\n var mapFn = arguments.length > 1 ? arguments[1] : void undefined;\r\n var T;\r\n if (typeof mapFn !== 'undefined') {\r\n // 5. else\r\n // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\r\n if (!isCallable(mapFn)) {\r\n throw new TypeError(\r\n 'Array.from: when provided, the second argument must be a function'\r\n );\r\n }\r\n\r\n // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.\r\n if (arguments.length > 2) {\r\n T = arguments[2];\r\n }\r\n }\r\n\r\n // 10. Let lenValue be Get(items, \"length\").\r\n // 11. Let len be ToLength(lenValue).\r\n var len = toLength(items.length);\r\n\r\n // 13. If IsConstructor(C) is true, then\r\n // 13. a. Let A be the result of calling the [[Construct]] internal method\r\n // of C with an argument list containing the single item len.\r\n // 14. a. Else, Let A be ArrayCreate(len).\r\n var A = isCallable(C) ? Object(new C(len)) : new Array(len);\r\n\r\n return getArray(\r\n T,\r\n A,\r\n len,\r\n setGetItemHandler(isIterator, items),\r\n isIterator,\r\n mapFn\r\n );\r\n };\r\n })();\r\n\r\n this.loaded.push('from');\r\n }\r\n }\r\n\r\n includes() {\r\n if (!String.prototype.includes) {\r\n String.prototype.includes = function(search, start) {\r\n 'use strict';\r\n if (typeof start !== 'number') {\r\n start = 0;\r\n }\r\n \r\n if (start + search.length > this.length) {\r\n return false;\r\n } else {\r\n return this.indexOf(search, start) !== -1;\r\n }\r\n };\r\n\r\n this.loaded.push('String.includes');\r\n }\r\n\r\n if (!Array.prototype.includes) {\r\n Object.defineProperty(Array.prototype, \"includes\", {\r\n enumerable: false,\r\n value: function(obj) {\r\n var newArr = this.filter(function(el) {\r\n return el == obj;\r\n });\r\n return newArr.length > 0;\r\n }\r\n });\r\n\r\n this.loaded.push('Array.includes');\r\n }\r\n }\r\n\r\n intersectionObserver() {\r\n if (!('IntersectionObserver' in window)) {\r\n this.polyfills.push(import( /* webpackChunkName: \"polyfills/intersectionobserver\" */ 'intersection-observer'));\r\n this.loaded.push('intersectionObserver');\r\n }\r\n }\r\n\r\n fetch() {\r\n if (!window.fetch) {\r\n let polyfill = import( /* webpackChunkName: \"polyfills/fetch\" */ 'whatwg-fetch');\r\n\r\n if (typeof AbortController == 'undefined') {\r\n polyfill.then(() => {\r\n this.loaded.push('abortController');\r\n return import( /* webpackChunkName: \"polyfills/abortController\" */ 'abortcontroller-polyfill/dist/polyfill-patch-fetch');\r\n });\r\n }\r\n\r\n this.polyfills.push(polyfill);\r\n this.loaded.push('fetch');\r\n }\r\n }\r\n\r\n proxy() {\r\n if (!('Proxy' in window)) {\r\n this.polyfills.push(import( /* webpackChunkName: \"polyfills/proxy\" */ 'es6-proxy-polyfill'));\r\n this.loaded.push('proxy');\r\n }\r\n }\r\n\r\n closest() {\r\n if (!Element.prototype.matches) {\r\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n this.loaded.push('matches');\r\n }\r\n\r\n if (!Element.prototype.closest) {\r\n Element.prototype.closest = function (s) {\r\n var el = this;\r\n do {\r\n if (el.matches(s)) return el;\r\n el = el.parentElement || el.parentNode;\r\n } while (el !== null && el.nodeType === 1);\r\n return null;\r\n };\r\n this.loaded.push('closest');\r\n }\r\n }\r\n\r\n before() {\r\n (arr => {\r\n arr.forEach(function (item) {\r\n if (item.hasOwnProperty('before')) {\r\n return;\r\n }\r\n Object.defineProperty(item, 'before', {\r\n configurable: true,\r\n enumerable: true,\r\n writable: true,\r\n value: function before() {\r\n var argArr = Array.prototype.slice.call(arguments),\r\n docFrag = document.createDocumentFragment();\r\n\r\n argArr.forEach(function (argItem) {\r\n var isNode = argItem instanceof Node;\r\n docFrag.appendChild(isNode ? argItem : document.createTextNode(String(argItem)));\r\n });\r\n\r\n this.parentNode.insertBefore(docFrag, this);\r\n }\r\n });\r\n });\r\n this.loaded.push('before');\r\n })([Element.prototype, CharacterData.prototype, DocumentType.prototype]);\r\n }\r\n\r\n remove() {\r\n (arr => {\r\n arr.forEach(function (item) {\r\n if (item.hasOwnProperty('remove')) {\r\n return;\r\n }\r\n Object.defineProperty(item, 'remove', {\r\n configurable: true,\r\n enumerable: true,\r\n writable: true,\r\n value: function remove() {\r\n if (this.parentNode === null) {\r\n return;\r\n }\r\n this.parentNode.removeChild(this);\r\n }\r\n });\r\n });\r\n this.loaded.push('remove');\r\n })([Element.prototype, CharacterData.prototype, DocumentType.prototype]);\r\n }\r\n\r\n entries() {\r\n if (!Object.entries) {\r\n Object.entries = function (obj) {\r\n var ownProps = Object.keys(obj),\r\n i = ownProps.length,\r\n resArray = new Array(i); // preallocate the Array\r\n while (i--)\r\n resArray[i] = [ownProps[i], obj[ownProps[i]]];\r\n\r\n return resArray;\r\n };\r\n this.loaded.push('entries');\r\n }\r\n }\r\n\r\n assign() {\r\n if (typeof Object.assign !== 'function') {\r\n // Must be writable: true, enumerable: false, configurable: true\r\n Object.defineProperty(Object, \"assign\", {\r\n value: function assign(target, varArgs) { // .length of function is 2\r\n 'use strict';\r\n if (target === null || target === undefined) {\r\n throw new TypeError('Cannot convert undefined or null to object');\r\n }\r\n\r\n let to = Object(target);\r\n\r\n for (let index = 1; index < arguments.length; index++) {\r\n let nextSource = arguments[index];\r\n\r\n if (nextSource !== null && nextSource !== undefined) {\r\n for (let nextKey in nextSource) {\r\n // Avoid bugs when hasOwnProperty is shadowed\r\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\r\n to[nextKey] = nextSource[nextKey];\r\n }\r\n }\r\n }\r\n }\r\n return to;\r\n },\r\n writable: true,\r\n configurable: true\r\n });\r\n this.loaded.push('assign');\r\n }\r\n }\r\n\r\n customEvent() {\r\n if (typeof (Event) === 'object') {\r\n function CustomEvent(event, params) {\r\n params = params || {\r\n bubbles: false,\r\n cancelable: false,\r\n detail: undefined\r\n };\r\n let evt = document.createEvent('CustomEvent');\r\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\r\n return evt;\r\n }\r\n\r\n CustomEvent.prototype = window.Event.prototype;\r\n\r\n window.CustomEvent = CustomEvent;\r\n window.Event = CustomEvent;\r\n this.loaded.push('Custom Event');\r\n }\r\n }\r\n}","export default class SliderController {\r\n constructor() {\r\n this.swiper = null;\r\n this.sliders = [];\r\n\r\n this.init();\r\n }\r\n\r\n init() {\r\n if (document.querySelectorAll('.swiper-container').length) {\r\n if (typeof Number.isNaN == 'undefined') {\r\n Number.isNaN = number => number === NaN;\r\n }\r\n\r\n import( /* webpackChunkName: \"modules/slider\" */ 'swiper').then(e => {\r\n this.swiper = e.Swiper;\r\n this.swiper.use([e.Navigation, e.Scrollbar, e.Pagination, e.Autoplay]);\r\n\r\n document.querySelectorAll('.swiper-container').forEach(container => {\r\n\r\n let settings = {\r\n spaceBetween: 40,\r\n grabCursor: true,\r\n threshold: 10,\r\n // navigation: {\r\n // nextEl: container.parentElement.querySelector('.swiper-button-next'),\r\n // prevEl: container.parentElement.querySelector('.swiper-button-prev'),\r\n // },\r\n // scrollbar: {\r\n // el: container.parentElement.querySelector('.swiper-scrollbar'),\r\n // draggable: true,\r\n // hide: false,\r\n // },\r\n mousewheel: {\r\n forceToAxis: true,\r\n },\r\n on: {},\r\n };\r\n\r\n if (container.parentElement.querySelector('.swiper-pagination')) {\r\n if (container.querySelectorAll('.swiper-slide').length > 1) {\r\n settings.pagination = {\r\n el: container.parentElement.querySelector('.swiper-pagination'),\r\n clickable: true,\r\n };\r\n } else {\r\n container.parentElement.querySelector('.swiper-pagination').remove();\r\n }\r\n }\r\n\r\n settings = Object.assign(settings, this.getSpecificOptions(container));\r\n\r\n if (container.parentElement.querySelector('.indicator')) {\r\n settings.on.sliderMove = () => {\r\n container.parentElement.querySelector('.indicator').classList.add('hidden');\r\n };\r\n }\r\n\r\n const slider = new this.swiper(container, settings);\r\n\r\n this.sliders.push(slider);\r\n });\r\n });\r\n }\r\n }\r\n\r\n getSpecificOptions(container) {\r\n let settings = {\r\n breakpoints: {},\r\n };\r\n\r\n settings.breakpoints[app.breakpoints.xs.size] = {\r\n spaceBetween: app.breakpoints.xs.gutter,\r\n slidesPerView: 1,\r\n };\r\n\r\n settings.breakpoints[app.breakpoints.sm.size] = {\r\n spaceBetween: app.breakpoints.sm.gutter,\r\n slidesPerView: 1.2,\r\n };\r\n\r\n settings.breakpoints[app.breakpoints.md.size] = {\r\n spaceBetween: app.breakpoints.md.gutter,\r\n slidesPerView: 2,\r\n };\r\n\r\n settings.breakpoints[app.breakpoints.lg.size] = {\r\n spaceBetween: app.breakpoints.lg.gutter,\r\n slidesPerView: 2.5,\r\n };\r\n\r\n if (container.classList.contains('storySlider')) {\r\n settings.breakpoints = [];\r\n settings.spaceBetween = 0;\r\n settings.slidesPerView = 1;\r\n settings.autoplay = {\r\n delay: 10000\r\n };\r\n settings.navigation = {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\",\r\n };\r\n }\r\n\r\n if (container.classList.contains('gallerySlider')) {\r\n settings.breakpoints = [];\r\n settings.spaceBetween = 20;\r\n settings.slidesPerView = 1.2;\r\n settings.autoplay = false;\r\n settings.navigation = {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\",\r\n };\r\n settings.breakpoints[app.breakpoints.md.size] = {\r\n spaceBetween: 30,\r\n slidesPerView: 2.8,\r\n };\r\n settings.breakpoints[app.breakpoints.xl.size] = {\r\n spaceBetween: 30,\r\n slidesPerView: 3.7,\r\n };\r\n }\r\n\r\n\r\n if (container.classList.contains('updateSlider')) {\r\n settings.speed = 1000;\r\n settings.autoplay = false;\r\n settings.loop = false;\r\n settings.centeredSlides = false;\r\n settings.slidesPerView = 1.2;\r\n settings.slideToClickedSlide = false;\r\n settings.disableOnInteraction = true;\r\n settings.breakpoints[app.breakpoints.xs.size] = {\r\n spaceBetween: 20,\r\n slidesPerView: 1.2,\r\n };\r\n settings.breakpoints[app.breakpoints.sm.size] = {\r\n spaceBetween: 20,\r\n slidesPerView: 1.2,\r\n };\r\n settings.breakpoints[app.breakpoints.md.size] = {\r\n spaceBetween: 30,\r\n slidesPerView: 2.2,\r\n };\r\n settings.breakpoints[app.breakpoints.lg.size] = {\r\n spaceBetween: 30,\r\n slidesPerView: 2.75,\r\n };\r\n settings.breakpoints[app.breakpoints.xl.size] = {\r\n spaceBetween: 30,\r\n slidesPerView: 3.9,\r\n };\r\n settings.breakpoints[1920] = {\r\n spaceBetween: 30,\r\n slidesPerView: 4.2,\r\n };\r\n settings.navigation = {\r\n nextEl: \".swiper-button-next\",\r\n prevEl: \".swiper-button-prev\",\r\n };\r\n };\r\n\r\n return settings;\r\n }\r\n}","/**\r\n * @preserve Slimmage 0.4.1, use with ImageResizer. MIT/Apache2 dual licensed by Imazen \r\n */\r\n\r\n/* We often use string instead of dot notation to keep \r\n Closure Compiler's advanced mode from breaking APIs */\r\n/*jshint sub:true*/\r\n\r\n(function (w) { //w==window\r\n\t// Enable strict mode\r\n\t\"use strict\";\r\n\r\n\tvar s = window['slimmage'] || {};\r\n\twindow['slimmage'] = s;\r\n\tif (s['verbose'] === undefined) {\r\n\t\ts['verbose'] = false;\r\n\t}\r\n\tif (s['tryWebP'] === undefined) {\r\n\t\ts['tryWebP'] = false;\r\n\t}\r\n\tif (s['maxWidth'] === undefined) {\r\n\t\ts['maxWidth'] = 2048;\r\n\t}\r\n\tif (s['widthStep'] === undefined) {\r\n\t\ts['widthStep'] = 160;\r\n\t}\r\n\tif (s['jpegQuality'] === undefined) {\r\n\t\ts['jpegQuality'] = 90;\r\n\t}\r\n\tif (s['jpegRetinaQuality'] === undefined) {\r\n\t\ts['jpegRetinaQuality'] = 80;\r\n\t}\r\n\tif (s['webpTimeout'] === undefined) {\r\n\t\ts['webpTimeout'] = 0;\r\n\t}\r\n\ts['changed'] = [];\r\n\r\n\tvar log = function () {\r\n\t\tif (s['verbose'] && w.console && w.console.log) try {\r\n\t\t\tw.console.log.apply(w.console, arguments);\r\n\t\t} catch (e) {}\r\n\t};\r\n\ts.beginWebPTest = function () {\r\n\t\tif (!s['tryWebP'] || s._testingWebP) return;\r\n\t\ts._testingWebP = true;\r\n\r\n\t\tvar WebP = new Image();\r\n\t\tWebP.onload = WebP.onerror = function () {\r\n\t\t\ts['webp'] = (WebP.height == 2);\r\n\t\t\ts._testingWebP = false;\r\n\t\t\tif (s.cr) {\r\n\t\t\t\ts.cr();\r\n\t\t\t}\r\n\t\t};\r\n\t\tWebP.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';\r\n\t};\r\n\t//test for webp support ASAP\r\n\ts.beginWebPTest();\r\n\r\n\tif (!Element.prototype.matches) {\r\n\t\tElement.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\r\n\t}\r\n\r\n\tif (!Element.prototype.closest) {\r\n\t\tElement.prototype.closest = function (s) {\r\n\t\t\tvar el = this;\r\n\t\t\tdo {\r\n\t\t\t\tif (el.matches(s)) return el;\r\n\t\t\t\tel = el.parentElement || el.parentNode;\r\n\t\t\t} while (el !== null && el.nodeType === 1);\r\n\t\t\treturn null;\r\n\t\t};\r\n\t}\r\n\r\n\ts.setAttr = function (elem, name, value) {\r\n\t\tname = name.toLowerCase();\r\n\t\tif (name == \"class\") {\r\n\t\t\telem.className = value;\r\n\t\t} else if (name == \"tabindex\") {\r\n\t\t\telem.tabIndex = value;\r\n\t\t} else if (name == \"usemap\") {\r\n\t\t\telem.useMap = value;\r\n\t\t} else {\r\n\t\t\telem.setAttribute(name, value);\r\n\t\t}\r\n\r\n\t};\r\n\ts['setAttribute'] = s.setAttr;\r\n\r\n\ts.is_blank = function (v) {\r\n\t\treturn v === \"none\" || v === null || v === undefined || v === \"\" || v === false;\r\n\t};\r\n\ts['getCssValue'] = function (target, hyphenProp) {\r\n\t\t//See http://www.nathanaeljones.com/blog/2013/reading-max-width-cross-browser\r\n\r\n\t\tvar val = typeof (window.getComputedStyle) != \"undefined\" && window.getComputedStyle(target, null).getPropertyValue(hyphenProp);\r\n\r\n\t\t// Some browsers (IE8, Firefox 28) read \"none\" when not set. Others (IE6) respond with undefined. A value of\r\n\t\t// \"none\" is invalid and would cause an exception or be interpreted as \r\n\t\tif (!s.is_blank(val)) {\r\n\t\t\treturn val;\r\n\t\t}\r\n\r\n\t\tif (target.currentStyle) {\r\n\t\t\tval = target.currentStyle[hyphenProp.replace(/([a-z])\\-([a-z])/, function (a, b, c) {\r\n\t\t\t\treturn b + c.toUpperCase();\r\n\t\t\t})] || target.currentStyle[hyphenProp];\r\n\t\t}\r\n\r\n\t\treturn s.is_blank(val) ? null : val;\r\n\t};\r\n\r\n\ts['getCssPixels'] = function (target, hyphenProp) {\r\n\t\tvar val = s['getCssValue'](target, hyphenProp);\r\n\r\n\t\tif (val === null || val === \"0\" || val === 0) return val;\r\n\r\n\t\t//We can return pixels directly, but not other units\r\n\t\tif (val.slice(-2) == \"px\") return parseFloat(val.slice(0, -2));\r\n\r\n\t\t//Create a temporary sibling div to resolve units into pixels.\r\n\t\tvar temp = document.createElement(\"div\");\r\n\t\ttemp.style.overflow = temp.style.visibility = \"hidden\";\r\n\t\ttemp.style.cssFloat = \"none\";\r\n\t\ttarget.parentNode.appendChild(temp);\r\n\t\ttemp.style.width = val;\r\n\t\tvar pixels = temp.offsetWidth;\r\n\t\ttarget.parentNode.removeChild(temp);\r\n\t\treturn pixels;\r\n\t};\r\n\r\n\ts.nodesToArray = function (nodeList) {\r\n\t\tvar array = [];\r\n\t\t// iterate backwards ensuring that length is an UInt32\r\n\t\tfor (var i = nodeList.length >>> 0; i--;) {\r\n\t\t\tarray[i] = nodeList[i];\r\n\t\t}\r\n\t\treturn array;\r\n\t};\r\n\r\n\t/*\r\n\t No URI decoding/encoding is perfomed on keys or values. Caller's responsibility.\r\n\r\n\t vistor and mutator are applied to string.replace -> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter\r\n\t params:\r\n\t 1. entire pair, incl. (optional) & and = \r\n\t 2. '&' (if present)\r\n\t 3. key\r\n\t 4. value\r\n\r\n\t mutator's result is honored. Must return param 1, or provide valid replacement.\r\n\t \r\n\t injector(query) is responsible for adding additional pairs if required. \r\n\t It must not produce a malformatted query.\r\n\t*/\r\n\ts['mutateUrl'] = function (url, visitor, mutator, injector) {\r\n\t\tvar m = /^([^?#]*)?(\\?([^#]*))?(#.*)?/.exec(url);\r\n\t\tvar q = m[3] || '';\r\n\r\n\t\tvar qr = /(^&*|&+)([^&=]*)=?([^&]*)/g;\r\n\t\tq.replace(qr, visitor); //read-only, to gather data\r\n\r\n\t\tvar newq = '?' + q.replace(qr, mutator).replace(/(?:^\\?*&*)|(?:[?&]+$)/g, \"\").replace(/&&+/g, \"&\");\r\n\r\n\t\treturn (m[1] || '') + injector(newq) + (m[4] || '');\r\n\t};\r\n\r\n\t//Expects virtual, not device pixel width\r\n\ts['getImageInfo'] = function (elementWidth, previousSrc, previousPixelWidth, previousElement) {\r\n\t\tvar data = {\r\n\t\t\t'webp': s['webp'],\r\n\t\t\t'width': elementWidth,\r\n\t\t\t'dpr': window.devicePixelRatio || 1,\r\n\t\t\t'src': previousSrc,\r\n\t\t\t'element': previousElement\r\n\t\t};\r\n\t\t//Determine quality percentage\r\n\t\tvar high_density = s['webp'] ? 65 : s['jpegRetinaQuality'];\r\n\t\tvar low_density = s['webp'] ? 78 : s['jpegQuality'];\r\n\t\tdata['quality'] = data['dpr'] > 1.49 ? high_density : low_density;\r\n\r\n\t\t//Calculate raw pixels using devicePixelRatio. Limit size to maxWidth.\r\n\t\tvar idealWidth = elementWidth * data['dpr'];\r\n\t\t//Minimize variants for caching improvements; round up to nearest multiple of widthStep\r\n\t\tdata['requestedWidth'] = Math.min(s['maxWidth'], //Limit size to maxWidth\r\n\t\t\tMath.round( //Round in case widthStep isn't an integer\r\n\t\t\t\tMath.ceil(idealWidth / s['widthStep']) * s['widthStep'] //Divide, ceiling, then multiply\r\n\t\t\t)\r\n\t\t);\r\n\r\n\r\n\t\tvar a = s['adjustImageParameters'];\r\n\t\tif (a && typeof (a) === \"function\") {\r\n\t\t\ta(data);\r\n\t\t}\r\n\t\tvar finalWidth = data['requestedWidth'];\r\n\r\n\t\tif (finalWidth > previousPixelWidth) {\r\n\t\t\t//Never request a smaller image once the larger one has already started loading\r\n\t\t\tvar u = {}; //For storing raw pairs\r\n\t\t\tvar c = {}; //For storing relevant parsed info\r\n\t\t\tvar newSrc = s['mutateUrl'](\r\n\t\t\t\tpreviousSrc,\r\n\t\t\t\t//Visitor\r\n\t\t\t\tfunction (_, d, k, v) {\r\n\t\t\t\t\tu[k.toLowerCase()] = v;\r\n\t\t\t\t},\r\n\t\t\t\t//Mutator\r\n\t\t\t\tfunction (p, d, k, v) {\r\n\r\n\t\t\t\t\t//Parse existing values so we can make educated calculations for width/height\r\n\t\t\t\t\tif (c.zoom === undefined) {\r\n\t\t\t\t\t\tc.zoom = parseFloat(u.zoom || 1);\r\n\t\t\t\t\t\tif (isNaN(c.zoom)) {\r\n\t\t\t\t\t\t\tc.zoom = 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tc.w = (finalWidth / c.zoom).toFixed();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (c.ratio === undefined) {\r\n\t\t\t\t\t\tvar w = parseFloat(u.width || u.w || u.maxwidth);\r\n\t\t\t\t\t\tvar h = parseFloat(u.height || u.h || u.maxheight);\r\n\t\t\t\t\t\tif (!isNaN(w) && !isNaN(h) && w > 0 && h > 0) {\r\n\t\t\t\t\t\t\tc.ratio = w / h;\r\n\t\t\t\t\t\t\tc.h = (((finalWidth / c.zoom) / w) * h).toFixed();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tc.ratio = 'noclue';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (k.match(/^format$/i) && data['webp']) {\r\n\t\t\t\t\t\treturn d + \"format=webp\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (k.match(/^quality/i)) {\r\n\t\t\t\t\t\treturn d + \"quality=\" + data['quality'];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (k.match(/^(w|width|maxwidth)$/i)) {\r\n\t\t\t\t\t\treturn d + k + \"=\" + c.w;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (k.match(/^(h|height|maxheight)$/i)) {\r\n\t\t\t\t\t\treturn d + k + \"=\" + c.h;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn p;\r\n\t\t\t\t},\r\n\t\t\t\t//Injector\r\n\t\t\t\tfunction (q) {\r\n\t\t\t\t\treturn q;\r\n\t\t\t\t});\r\n\r\n\t\t\treturn {\r\n\t\t\t\t'src': newSrc,\r\n\t\t\t\t'data-pixel-width': finalWidth\r\n\t\t\t};\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\ts['adjustImageSrc'] = function (img, previousSrc) {\r\n\t\tvar cssMaxWidth = s['getCssPixels'](img, 'max-width');\r\n\t\tvar result = s['getImageInfo'](cssMaxWidth,\r\n\t\t\tpreviousSrc,\r\n\t\t\timg.getAttribute('data-pixel-width') | 0,\r\n\t\t\timg);\r\n\r\n\t\tif (result) {\r\n\t\t\timg.src = result['src'];\r\n\t\t\ts.setAttr(img, 'data-pixel-width', result['data-pixel-width']);\r\n\t\t\tif (s['enforceCss']) {\r\n\t\t\t\tif (cssMaxWidth < result['data-pixel-width']) {\r\n\t\t\t\t\timg.style.width = s['getCssValue'](img, 'max-width');\r\n\t\t\t\t\ts.setAttr(img, 'data-width-enforced', true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\timg.style.width = 'auto';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\ts['changed'].push(img);\r\n\t\t\tlog(\"Slimming: updating \" + result['src']);\r\n\t\t} else if (s['enforceCss'] && img.getAttribute('data-width-enforced')) {\r\n\t\t\tvar imageWidth = parseFloat(img.getAttribute('data-pixel-width'));\r\n\t\t\tif (!isNaN(imageWidth) && cssMaxWidth >= imageWidth) {\r\n\t\t\t\timg.style.width = 'auto';\r\n\t\t\t\timg.removeAttribute('data-width-enforced');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t};\r\n\ts.cr = function (delay) {\r\n\t\tvar i, il, j, jl, k, kl;\r\n\r\n\t\tif (s.timeoutid > 0) w.clearTimeout(s.timeoutid);\r\n\t\ts.timeoutid = 0;\r\n\r\n\t\tif (s._testingWebP && s['webpTimeout'] > 0 && !s.webp_waiting) {\r\n\t\t\ts.webp_waiting = true;\r\n\t\t\tdelay = s['webpTimeout'];\r\n\t\t}\r\n\t\tif (delay && delay > 0) {\r\n\t\t\ts.timeoutid = w.setTimeout(s.cr, delay);\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar stopwatch = new Date().getTime();\r\n\r\n\t\tvar newImages = 0;\r\n\t\t//1. Copy images out of noscript tags, but hide 'src' attribute as data-src\r\n\t\tvar n = s.nodesToArray(w.document.getElementsByTagName(\"noscript\"));\r\n\t\tfor (i = 0, il = n.length; i < il; i++) {\r\n\t\t\tvar ns = n[i];\r\n\t\t\tif (ns.getAttribute(\"data-slimmage\") !== null) {\r\n\r\n\t\t\t\tvar div = w.document.createElement('div');\r\n\t\t\t\tvar contents = (ns.textContent || ns.innerHTML);\r\n\t\t\t\tif (!contents || contents.replace(/[\\s\\t\\r\\n]+/, \"\").length === 0) {\r\n\t\t\t\t\t//IE doesn't let us touch noscript, so we have to use attributes.\r\n\t\t\t\t\tvar img = new Image();\r\n\t\t\t\t\tfor (var ai = 0; ai < ns.attributes.length; ai++) {\r\n\t\t\t\t\t\tvar a = ns.attributes[ai];\r\n\t\t\t\t\t\tif (a && a.specified && a.name.indexOf(\"data-img-\") === 0) {\r\n\t\t\t\t\t\t\ts.setAttr(img, a.name.slice(9 - a.name.length), a.value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdiv.appendChild(img);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//noscript isn't part of DOM, so we have to recreate it, unescaping html, src->data-src \r\n\t\t\t\t\tdiv.innerHTML = contents.replace(/\\s+src\\s*=\\s*(['\"])/i, \" data-src=$1\").\r\n\t\t\t\t\treplace(/</g, '<').replace(/>/g, '>').replace(/&/g, '&');\r\n\t\t\t\t}\r\n\t\t\t\t//Clear source values before we add it back to the dom, ensure data-slimmage is set.\r\n\t\t\t\tvar childImages = div.getElementsByTagName(\"img\");\r\n\t\t\t\tfor (j = 0, jl = childImages.length; j < jl; j++) {\r\n\t\t\t\t\tvar ci = childImages[j];\r\n\t\t\t\t\tif (ci.src !== null && ci.src.length > 0) {\r\n\t\t\t\t\t\ts.setAttr(ci, \"data-src\", ci.src);\r\n\t\t\t\t\t\tci.src = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\ts.setAttr(ci, \"data-slimmage\", true);\r\n\t\t\t\t\tns.parentNode.insertBefore(ci, ns);\r\n\t\t\t\t\tnewImages++;\r\n\t\t\t\t}\r\n\t\t\t\t//2. Remove old noscript tags\r\n\t\t\t\tns.parentNode.removeChild(ns);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t//3. Let plugins inject custom behavior\r\n\t\tif ('function' === typeof s['beforeAdjustSrc']) {\r\n\t\t\ts['beforeAdjustSrc']();\r\n\t\t}\r\n\r\n\t\t//4. Find images with data-slimmage and run adjustImageSrc.\r\n\t\tvar totalImages = 0;\r\n\t\tvar images = s.nodesToArray(w.document.getElementsByTagName(\"img\"));\r\n\t\tfor (k = 0, kl = images.length; k < kl; k++) {\r\n\t\t\tif (images[k].getAttribute(\"data-slimmage\") !== null) {\r\n\t\t\t\tvar previousSrc = images[k].getAttribute(\"data-src\") || images[k].src;\r\n\t\t\t\ts['adjustImageSrc'](images[k], previousSrc);\r\n\t\t\t\ttotalImages++;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdocument.querySelectorAll('.imageHolderUrh > [data-slimmage=\"true\"]').forEach(image => {\r\n\t\t\tlog(\"updating ratio\");\r\n\t\t\tif (image.getAttribute('src') != null) {\r\n\t\t\t\tlet newSrc = image.getAttribute('src');\r\n\t\t\t\tlet dpr = window.devicePixelRatio || 1;\r\n\t\t\t\tlet img = image.closest('.imageHolderUrh');\r\n\t\t\t\tlet width = img.clientWidth;\r\n\t\t\t\tlet height = img.clientHeight;\r\n\t\t\t\tlet dprWidth = dpr * width;\r\n\r\n\t\t\t\tdprWidth = Math.min(s['maxWidth'], //Limit size to maxWidth\r\n\t\t\t\t\tMath.round( //Round in case widthStep isn't an integer\r\n\t\t\t\t\t\tMath.ceil(dprWidth / s['widthStep']) * s['widthStep'] //Divide, ceiling, then multiply\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\r\n\t\t\t\t// calculate dprHeight based on the height/width ratio and the dprWidth step.\r\n\t\t\t\tlet dprHeight = dprWidth * (height / width);\r\n\r\n\t\t\t\tnewSrc = image.getAttribute('src').replace(/width=([^&]*)/, `width=${dprWidth}`);\r\n\t\t\t\tnewSrc = newSrc.replace(/height=([^&]*)/, `height=${dprHeight}`);\r\n\r\n\t\t\t\timage.setAttribute('src', newSrc);\r\n\t\t\t\timage.setAttribute('data-src', newSrc);\r\n\t\t\t\timage.setAttribute('data-pixel-width', dprWidth);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar changed = s['changed'].slice();\r\n\t\ts['changed'].length = 0;\r\n\r\n\t\t//5. Callback when ready\r\n\t\tif ((changed.length > 0 || !s.readyCalled) && 'function' === typeof s['readyCallback']) {\r\n\t\t\ts['readyCallback'](changed);\r\n\t\t\ts.readyCalled = true;\r\n\t\t}\r\n\r\n\t\tlog(\"Slimmage: restored \" + newImages + \" images from noscript tags, checked \" + totalImages + \" images, changed \" + changed.length + \". \" + (new Date().getTime() - stopwatch) + \"ms\");\r\n\t};\r\n\r\n\ts['checkResponsiveImages'] = s.cr;\r\n\t// Run on resize and domready (w.load as a fallback)\r\n\tif (w.addEventListener) {\r\n\t\tw.addEventListener(\"resize\", function () {\r\n\t\t\ts.cr(500);\r\n\t\t}, false);\r\n\t\tw.addEventListener(\"DOMContentLoaded\", function () {\r\n\t\t\ts.cr();\r\n\t\t\t// Run once only\r\n\t\t\tw.removeEventListener(\"load\", s.cr, false);\r\n\t\t}, false);\r\n\t\tw.addEventListener(\"load\", s.cr, false);\r\n\t} else if (w.attachEvent) {\r\n\t\tw.attachEvent(\"onload\", s.cr);\r\n\t\tw.attachEvent(\"onresize\", function () {\r\n\t\t\ts.cr(500);\r\n\t\t});\r\n\t}\r\n\r\n}(window));","window.slimmage = {\r\n verbose: false,\r\n tryWebP: true,\r\n maxWidth: 2048,\r\n widthStep: 160,\r\n jpegQuality: 90,\r\n jpegRetinaQuality: 80,\r\n webpTimeout: 20\r\n};","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","function allSettled(arr) {\n var P = this;\n return new P(function(resolve, reject) {\n if (!(arr && typeof arr.length !== 'undefined')) {\n return reject(\n new TypeError(\n typeof arr +\n ' ' +\n arr +\n ' is not iterable(cannot read property Symbol(Symbol.iterator))'\n )\n );\n }\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n function(e) {\n args[i] = { status: 'rejected', reason: e };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n );\n return;\n }\n }\n args[i] = { status: 'fulfilled', value: val };\n if (--remaining === 0) {\n resolve(args);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n}\n\nexport default allSettled;\n","/**\n * @this {Promise}\n */\nfunction finallyConstructor(callback) {\n var constructor = this.constructor;\n return this.then(\n function(value) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n return value;\n });\n },\n function(reason) {\n // @ts-ignore\n return constructor.resolve(callback()).then(function() {\n // @ts-ignore\n return constructor.reject(reason);\n });\n }\n );\n}\n\nexport default finallyConstructor;\n","import promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n// Store setTimeout reference so promise-polyfill will be unaffected by\n// other code modifying setTimeout (like sinon.useFakeTimers())\nvar setTimeoutFunc = setTimeout;\n\nfunction isArray(x) {\n return Boolean(x && typeof x.length !== 'undefined');\n}\n\nfunction noop() {}\n\n// Polyfill for Function.prototype.bind\nfunction bind(fn, thisArg) {\n return function() {\n fn.apply(thisArg, arguments);\n };\n}\n\n/**\n * @constructor\n * @param {Function} fn\n */\nfunction Promise(fn) {\n if (!(this instanceof Promise))\n throw new TypeError('Promises must be constructed via new');\n if (typeof fn !== 'function') throw new TypeError('not a function');\n /** @type {!number} */\n this._state = 0;\n /** @type {!boolean} */\n this._handled = false;\n /** @type {Promise|undefined} */\n this._value = undefined;\n /** @type {!Array} */\n this._deferreds = [];\n\n doResolve(fn, this);\n}\n\nfunction handle(self, deferred) {\n while (self._state === 3) {\n self = self._value;\n }\n if (self._state === 0) {\n self._deferreds.push(deferred);\n return;\n }\n self._handled = true;\n Promise._immediateFn(function() {\n var cb = self._state === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n (self._state === 1 ? resolve : reject)(deferred.promise, self._value);\n return;\n }\n var ret;\n try {\n ret = cb(self._value);\n } catch (e) {\n reject(deferred.promise, e);\n return;\n }\n resolve(deferred.promise, ret);\n });\n}\n\nfunction resolve(self, newValue) {\n try {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self)\n throw new TypeError('A promise cannot be resolved with itself.');\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = newValue.then;\n if (newValue instanceof Promise) {\n self._state = 3;\n self._value = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(bind(then, newValue), self);\n return;\n }\n }\n self._state = 1;\n self._value = newValue;\n finale(self);\n } catch (e) {\n reject(self, e);\n }\n}\n\nfunction reject(self, newValue) {\n self._state = 2;\n self._value = newValue;\n finale(self);\n}\n\nfunction finale(self) {\n if (self._state === 2 && self._deferreds.length === 0) {\n Promise._immediateFn(function() {\n if (!self._handled) {\n Promise._unhandledRejectionFn(self._value);\n }\n });\n }\n\n for (var i = 0, len = self._deferreds.length; i < len; i++) {\n handle(self, self._deferreds[i]);\n }\n self._deferreds = null;\n}\n\n/**\n * @constructor\n */\nfunction Handler(onFulfilled, onRejected, promise) {\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, self) {\n var done = false;\n try {\n fn(\n function(value) {\n if (done) return;\n done = true;\n resolve(self, value);\n },\n function(reason) {\n if (done) return;\n done = true;\n reject(self, reason);\n }\n );\n } catch (ex) {\n if (done) return;\n done = true;\n reject(self, ex);\n }\n}\n\nPromise.prototype['catch'] = function(onRejected) {\n return this.then(null, onRejected);\n};\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n // @ts-ignore\n var prom = new this.constructor(noop);\n\n handle(this, new Handler(onFulfilled, onRejected, prom));\n return prom;\n};\n\nPromise.prototype['finally'] = promiseFinally;\n\nPromise.all = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.all accepts an array'));\n }\n\n var args = Array.prototype.slice.call(arr);\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n\n function res(i, val) {\n try {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n var then = val.then;\n if (typeof then === 'function') {\n then.call(\n val,\n function(val) {\n res(i, val);\n },\n reject\n );\n return;\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n } catch (ex) {\n reject(ex);\n }\n }\n\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nPromise.allSettled = allSettled;\n\nPromise.resolve = function(value) {\n if (value && typeof value === 'object' && value.constructor === Promise) {\n return value;\n }\n\n return new Promise(function(resolve) {\n resolve(value);\n });\n};\n\nPromise.reject = function(value) {\n return new Promise(function(resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function(arr) {\n return new Promise(function(resolve, reject) {\n if (!isArray(arr)) {\n return reject(new TypeError('Promise.race accepts an array'));\n }\n\n for (var i = 0, len = arr.length; i < len; i++) {\n Promise.resolve(arr[i]).then(resolve, reject);\n }\n });\n};\n\n// Use polyfill for setImmediate for performance gains\nPromise._immediateFn =\n // @ts-ignore\n (typeof setImmediate === 'function' &&\n function(fn) {\n // @ts-ignore\n setImmediate(fn);\n }) ||\n function(fn) {\n setTimeoutFunc(fn, 0);\n };\n\nPromise._unhandledRejectionFn = function _unhandledRejectionFn(err) {\n if (typeof console !== 'undefined' && console) {\n console.warn('Possible Unhandled Promise Rejection:', err); // eslint-disable-line no-console\n }\n};\n\nexport default Promise;\n","import Promise from './index';\nimport promiseFinally from './finally';\nimport allSettled from './allSettled';\n\n/** @suppress {undefinedVars} */\nvar globalNS = (function() {\n // the only reliable means to get the global object is\n // `Function('return this')()`\n // However, this causes CSP violations in Chrome apps.\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n})();\n\n// Expose the polyfill if Promise is undefined or set to a\n// non-function value. The latter can be due to a named HTMLElement\n// being exposed by browsers for legacy reasons.\n// https://github.com/taylorhakes/promise-polyfill/issues/114\nif (typeof globalNS['Promise'] !== 'function') {\n globalNS['Promise'] = Promise;\n} else if (!globalNS.Promise.prototype['finally']) {\n globalNS.Promise.prototype['finally'] = promiseFinally;\n} else if (!globalNS.Promise.allSettled) {\n globalNS.Promise.allSettled = allSettled;\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = $;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\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](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 = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (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((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (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 = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((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 = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"./\" + chunkId + \".bundle.js\";\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 = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","var inProgress = {};\nvar dataWebpackPrefix = \"amaris_2021:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (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 = (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((fn) => (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 = (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};","__webpack_require__.p = \"/scripts/corporate/\";","// 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\t\"index\": 0\n};\n\n__webpack_require__.f.j = (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(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((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 = (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}\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 = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\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((id) => (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 = self[\"webpackChunkamaris_2021\"] = self[\"webpackChunkamaris_2021\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","import 'promise-polyfill/src/polyfill';\r\n\r\nimport './libraries/slimmageSettings';\r\nimport './libraries/slimmage';\r\n// App\r\nimport App from './app';\r\nimport PolyfillController from './controllers/polyfill';\r\n\r\n// Controllers\r\nimport HeaderController from './controllers/header';\r\nimport MediaController from './controllers/media';\r\nimport ConsentController from '@humandigital-agency/consent-controller';\r\nimport SliderController from './controllers/slider';\r\nimport AccordeonController from './controllers/accordeon/controller';\r\n\r\n(async () => {\r\n document.querySelector('html').classList.remove('no-js');\r\n\r\n const polyfills = new PolyfillController();\r\n await polyfills.init();\r\n\r\n try {\r\n const app = new App();\r\n app.resizeThrottle = 10;\r\n app.scrollThrottle = 100;\r\n window.app = app;\r\n \r\n app.polyfillController = polyfills;\r\n \r\n app.ConsentController = new ConsentController();\r\n app.headerController = new HeaderController();\r\n app.mediaController = new MediaController();\r\n app.sliderController = new SliderController();\r\n app.accordeonController = new AccordeonController();\r\n\r\n // Modules\r\n const loadModules = () => {\r\n if (document.querySelector('.shareContainer')) {\r\n import( /* webpackChunkName: \"modules/share\" */ './controllers/share/controller').then(e => {\r\n app.ShareController = new e.default();\r\n });\r\n }\r\n \r\n if (document.querySelector('[data-gallery]')) {\r\n import( /* webpackChunkName: \"modules/gallery\" */ './controllers/gallery').then(e => {\r\n app.galleryController = new e.default();\r\n });\r\n }\r\n \r\n if (document.querySelector('.tabs')) {\r\n import( /* webpackChunkName: \"modules/tabs\" */ './controllers/tabs/controller').then(e => {\r\n app.tabController = new e.default();\r\n });\r\n }\r\n \r\n if (document.querySelector('body.servicesoverviewpage')) {\r\n import( /* webpackChunkName: \"modules/servicesOverview\" */ './controllers/servicesOverview/controller').then(e => {\r\n app.servicesOverviewController = new e.default();\r\n });\r\n }\r\n \r\n if (document.querySelector('body.carelocationsoverviewpage')) {\r\n import( /* webpackChunkName: \"modules/carelocationsoverview\" */ './controllers/carelocationsoverview/controller').then(e => {\r\n app.careLocationsOverviewController = new e.default();\r\n });\r\n }\r\n };\r\n\r\n loadModules();\r\n\r\n await app.init();\r\n } catch(e) {\r\n console.error(`Something went wrong initializing the app`);\r\n throw e;\r\n };\r\n\r\n console.log(`App initialized`);\r\n document.documentElement.classList.remove('preventAnimations');\r\n\r\n})();"],"names":["App","_resizeFunctionsArr","_resizeFunctions","_resizeFunctionsCounter","_resizeTimeout","resizeThrottle","_scrollFunctionsArr","_scrollFunctions","_scrollFunctionsCounter","_scrollTimeout","scrollThrottle","_resizeAnimationPreventerTimeout","breakpoints","xs","gutter","size","sm","md","ml","lg","xl","detectBrowser","setEventListeners","fullHeightListener","resizeAnimationPreventer","initCSSBreakpoints","addNewWindowTitles","addNoOpener","addAnchorEnhancement","initSelectric","initTippy","initCopy","initScrollTo","initScrollToTop","initPrintListener","initLabelClick","window","addEventListener","resize","bind","passive","document","scroll","querySelectorAll","forEach","label","e","key","toLowerCase","substr","click","Array","from","filter","a","hasAttribute","setAttribute","runFunctions","i","length","setTimeout","func","Object","keys","push","resizeTimer","windowWidth","innerWidth","registerResizeEvent","documentElement","classList","add","clearTimeout","remove","fullHeight","style","setProperty","innerHeight","isOpera","opr","addons","opera","navigator","userAgent","indexOf","isFirefox","InstallTrigger","isIphone","match","isIpad","isSafari","isIE","documentMode","isEdge","StyleMedia","isChrome","test","vendor","isBlink","CSS","getComputedStyle","documentStyling","breakpoint","getPropertyValue","parseInt","NaN","text","querySelector","dataset","newWindowText","getAttribute","trim","replace","href","hostname","location","parentElement","hash","scrollTo","el","preventDefault","target","scrollPosition","elementCoords","top","behavior","min","max","Math","floor","random","box","getBoundingClientRect","body","docEl","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","left","round","scrollToTopContainer","button","registerScrollEvent","undefined","blur","then","select","$","selectric","arrowButtonMarkup","console","error","tippy","source","tippySource","allowHTML","content","innerHTML","interactive","copyContent","copy","input","createElement","type","position","height","overflow","value","appendChild","execCommand","parentNode","removeChild","toast","printTexts","printElements","printParent","span","print","printElement","width","reverse","currentBreakpoint","message","ToastController","log","Accordeon","container","items","resetClass","oneOption","selectors","header","loadSettings","children","item","scrollHeight","clickable","toggleItem","closeButton","inactive","event","transitionEnd","active","clientHeight","offsetHeight","otherItem","contains","AccordeonController","selector","accordeons","init","accordeonElement","accordeon","HeaderController","floatingHeaderElement","headerElement","menuButton","closeMenuButton","flyoutBackground","menuButtons","app","toggleMenu","closeMenu","toggle","previousScroll","Cookies","MediaController","autoinit","youtube","vimeo","media","mediatype","ConsentController","tracking","tag","src","firstScriptTag","getElementsByTagName","insertBefore","onYouTubeIframeAPIReady","YouTubeAPILoaded","module","Player","iframe","player","currentTarget","closest","videoPoster","play","YT","id","events","playVideo","url","imgtag","protocol","sourceRegex","imgsrc","imgElement","Image","embed","embedIframe","outerHTML","tempDiv","before","firstElementChild","PolyfillController","polyfills","loaded","loadPolyfills","Promise","all","includes","intersectionObserver","fetch","proxy","entries","assign","customEvent","NodeList","prototype","symbolIterator","Symbol","iterator","toStr","toString","isCallable","fn","call","toInteger","number","Number","isNaN","isFinite","abs","maxSafeInteger","pow","toLength","len","setGetItemHandler","isIterator","getItem","k","next","getArray","T","A","mapFn","kValue","done","TypeError","arrayLikeOrIterator","C","arguments","String","search","start","defineProperty","enumerable","obj","newArr","polyfill","AbortController","Element","matches","msMatchesSelector","webkitMatchesSelector","s","nodeType","arr","hasOwnProperty","configurable","writable","argArr","slice","docFrag","createDocumentFragment","argItem","isNode","Node","createTextNode","CharacterData","DocumentType","ownProps","resArray","varArgs","to","index","nextSource","nextKey","Event","CustomEvent","params","bubbles","cancelable","detail","evt","createEvent","initCustomEvent","SliderController","swiper","sliders","Swiper","use","Navigation","Scrollbar","Pagination","Autoplay","settings","spaceBetween","grabCursor","threshold","mousewheel","forceToAxis","on","pagination","getSpecificOptions","sliderMove","slider","slidesPerView","autoplay","delay","navigation","nextEl","prevEl","speed","loop","centeredSlides","slideToClickedSlide","disableOnInteraction","w","apply","beginWebPTest","_testingWebP","WebP","onload","onerror","cr","setAttr","elem","name","className","tabIndex","useMap","is_blank","v","hyphenProp","val","currentStyle","b","c","toUpperCase","parseFloat","temp","visibility","cssFloat","pixels","offsetWidth","nodesToArray","nodeList","array","visitor","mutator","injector","m","exec","q","qr","newq","elementWidth","previousSrc","previousPixelWidth","previousElement","data","devicePixelRatio","high_density","low_density","idealWidth","ceil","finalWidth","u","newSrc","_","d","p","zoom","toFixed","ratio","maxwidth","h","maxheight","img","cssMaxWidth","result","imageWidth","removeAttribute","il","j","jl","kl","timeoutid","webp_waiting","stopwatch","Date","getTime","newImages","n","ns","div","contents","textContent","ai","attributes","specified","childImages","ci","totalImages","images","image","dpr","clientWidth","dprWidth","dprHeight","changed","readyCalled","removeEventListener","attachEvent","slimmage","verbose","tryWebP","maxWidth","widthStep","jpegQuality","jpegRetinaQuality","webpTimeout","polyfillController","headerController","mediaController","sliderController","accordeonController","loadModules","ShareController","galleryController","tabController","servicesOverviewController","careLocationsOverviewController"],"sourceRoot":""}