{"version":3,"sources":["./src/app/public/not-logged-in/auction/auction-routing.module.ts","./src/app/services/auction-announcement.service.ts","./src/app/public/not-logged-in/auction/auctions-list/auctions-list.component.ts","./src/app/public/not-logged-in/auction/auctions-list/auctions-list.component.html","./src/app/public/not-logged-in/auction/auction-status-resolver.service.ts","./src/app/admin/auction/import-result/import-result.component.ts","./src/app/admin/auction/import-result/import-result.component.html","./src/app/admin/auction/manage-lot/lot-form/lot-form.component.ts","./src/app/admin/auction/manage-lot/lot-form/lot-form.component.html","./src/app/admin/auction/manage-lot/auction-announcement/auction-announcement.component.ts","./src/app/admin/auction/manage-lot/auction-announcement/auction-announcement.component.html","./src/app/admin/auction/add-auction-step2/add-auction-step2.component.ts","./src/app/admin/auction/add-auction-step2/add-auction-step2.component.html","./src/app/public/not-logged-in/auction/auction.module.ts","./src/app/admin/auction/add-auction-step3/add-auction-step3.component.ts","./src/app/admin/auction/add-auction-step3/add-auction-step3.component.html","./src/app/public/not-logged-in/auction/auction-lot-catalog/auction-lot-catalog.component.ts","./src/app/public/not-logged-in/auction/auction-lot-catalog/auction-lot-catalog.component.html","./src/app/admin/auction/auction.module.ts","./src/app/admin/auction/manage-lot/manage-lot.module.ts","./src/app/public/not-logged-in/auction/enquiry-now/enquiry-now.component.ts","./src/app/public/not-logged-in/auction/enquiry-now/enquiry-now.component.html","./node_modules/jspdf-autotable/dist/jspdf.plugin.autotable.js","./src/app/admin/auction/auction-result/auction-result.component.ts","./src/app/admin/auction/auction-result/auction-result.component.html","./src/app/public/not-logged-in/auction/auction-registeration-success/auction-registeration-success.component.ts","./src/app/public/not-logged-in/auction/auction-registeration-success/auction-registeration-success.component.html","./src/app/public/not-logged-in/auction/auction-lot-card/auction-lot-card.component.ts","./src/app/public/not-logged-in/auction/auction-lot-card/auction-lot-card.component.html","./src/app/admin/auction/auction-list/auction-list.component.ts","./src/app/admin/auction/auction-list/auction-list.component.html","./src/app/admin/auction/add-auction-step1/add-auction-step1.component.ts","./src/app/admin/auction/add-auction-step1/add-auction-step1.component.html","./src/app/public/not-logged-in/auction/auction-registeration/auction-registeration.component.ts","./src/app/public/not-logged-in/auction/auction-registeration/auction-registeration.component.html","./src/app/admin/auction/add-auction/add-auction.component.ts","./src/app/admin/auction/add-auction/add-auction.component.html","./src/app/admin/auction/auction-routing.module.ts","./src/app/services/auction-survey.service.ts","./src/app/public/not-logged-in/auction/view-lot/view-lot.component.ts","./src/app/public/not-logged-in/auction/view-lot/view-lot.component.html","./src/app/admin/auction/manage-lot/bulk-lot-form/bulk-lot-form.component.ts","./src/app/admin/auction/manage-lot/bulk-lot-form/bulk-lot-form.component.html","./src/app/admin/auction/imported-users/imported-users.component.ts","./src/app/admin/auction/imported-users/imported-users.component.html","./node_modules/fflate/esm/browser.js","./src/app/admin/auction/service/import-result.service.ts","./src/app/admin/auction/add-auction-step4/add-auction-step4.component.ts","./src/app/admin/auction/add-auction-step4/add-auction-step4.component.html","./node_modules/jspdf/dist/jspdf.es.min.js","./src/app/admin/auction/view-auction/view-auction.component.ts","./src/app/admin/auction/view-auction/view-auction.component.html","./node_modules/@angular/material/fesm2015/slider.js","./node_modules/@angular/material/fesm2015/progress-spinner.js","./src/app/admin/auction/manage-lot/lot-listing/lot-listing.component.ts","./src/app/admin/auction/manage-lot/lot-listing/lot-listing.component.html","./src/app/core/validators/text-file-validators.ts","./node_modules/@angular/material/fesm2015/autocomplete.js"],"names":[],"mappings":"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ACA;AACA;AACA;AACA,mCAAmC,0BAA0B,EAAE;AAC/D,yCAAyC,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA,8DAA8D,+DAA+D;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,8BAA8B,+BAA+B,EAAE;AAC/D,iCAAiC,uBAAuB,EAAE;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,6CAA6C;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,8EAA8E;AAC3G;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qDAAqD;AACzE,mBAAmB,+DAA+D;AAClF,oBAAoB;AACpB,mBAAmB,+DAA+D;AAClF,2BAA2B,iBAAiB;AAC5C,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,4BAA4B;AAC5B,SAAS;AACT;AACA,mBAAmB,oBAAoB;AACvC,mBAAmB,oBAAoB;AACvC,SAAS;AACT;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,YAAY;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,4CAA4C,EAAE;AACnG;AACA;AACA,qDAAqD,4CAA4C,EAAE;AACnG;AACA;AACA;AACA;AACA;AACA,+CAA+C,wBAAwB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,gBAAgB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,iCAAiC,EAAE;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,4CAA4C,4BAA4B;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,QAAQ,8GAA8G,EAAE;AAC9K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,0BAA0B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA,uCAAuC,2BAA2B;AAClE,4BAA4B,gBAAgB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA,mBAAmB,8BAA8B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;AACpD;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,sBAAsB;AACtB,8BAA8B;AAC9B,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA,yDAAyD,yBAAyB,EAAE;AACpF,sDAAsD;AACtD;AACA;AACA,oDAAoD,gBAAgB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,0BAA0B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,2BAA2B,EAAE;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,aAAa;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,KAAK;AACL;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,yBAAyB,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,yDAAyD,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,+CAA+C,yDAAyD,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mDAAmD,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,2CAA2C,mDAAmD,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,gBAAgB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,gBAAgB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uBAAuB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,cAAc;AAC3C;AACA;AACA,2CAA2C,mDAAmD,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,mDAAmD,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,8EAA8E;AAC3G;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,uBAAuB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA,2CAA2C;AAC3C;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,qCAAqC,uBAAuB,EAAE,EAAE;AACzG;AACA,gDAAgD,qCAAqC,gCAAgC,EAAE,EAAE;AACzH;AACA,wCAAwC,qCAAqC,sBAAsB,EAAE,EAAE;AACvG,0CAA0C,qCAAqC,wBAAwB,EAAE,EAAE;AAC3G,uCAAuC,qCAAqC,qBAAqB,EAAE,EAAE;AACrG,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,+BAA+B;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,kBAAkB,EAAE;AACpE,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4GAA4G,sBAAsB;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,UAAU,gBAAgB;AAC1B;AACA,gDAAgD;AAChD;AACA;AACA,wDAAwD,gBAAgB;AACxE;AACA,+CAA+C;AAC/C;AACA;AACA,sDAAsD,gBAAgB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA,4BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,OAAO;AACP;AACA;;AAEA;;AAEA,8CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,sFAAsF,wBAAwB,EAAE;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,kCAAkC,EAAE;AACrG,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA,iCAAiC,oCAAoC;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,0CAA0C,gBAAgB;AAC1D;AACA,4CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+FAA+F,iCAAiC;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA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B,SAAS;AAC1B;AACA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sCAAsC;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,QAAQ;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,UAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,cAAc;AACjC;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kBAAkB,EAAE;AAChD;AACA;AACA,YAAY,kBAAkB;AAC9B;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,uCAAuC,EAAE;AAC1E,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,cAAc;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,eAAe;AACzC,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA,sBAAsB,WAAW;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA,UAAU,kCAAkC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA,wBAAwB,QAAQ;AAChC;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,yEAAyE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,SAAS;AAC5C;AACA,mCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,6CAA6C;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,SAAS;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,cAAc;AACzC;AACA;AACA,SAAS;AACT,wBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,QAAQ;AACnC;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA,SAAS;AACT,wBAAwB,+EAA+E;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA,mBAAmB;AACnB,4BAA4B,sBAAsB,sCAAsC,kCAAkC;AAC1H;AACA;AACA,0BAA0B,oIAAoI;AAC9J,yBAAyB,0LAA0L;AACnN;AACA,uBAAuB,uCAAuC;AAC9D;AACA,wBAAwB,mBAAmB;AAC3C;AACA,uBAAuB,6BAA6B;AACpD;AACA,wBAAwB,cAAc;AACtC;AACA,0BAA0B,uCAAuC;AACjE;AACA,wBAAwB,sCAAsC;AAC9D;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,yCAAyC,gDAAgD;AACzF,0BAA0B,0CAA0C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,eAAe;AACjD;AACA;AACA,0BAA0B,+BAA+B;AACzD;AACA,0BAA0B,2EAA2E;AACrG;AACA;AACA,UAAU,GAAG;AACb;AACA;AACA;AACA;AACA;AACA,6FAA6F;AAC7F;AACA;AACA;AACA;AACA,uBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,QAAQ;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,4DAA4D;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACkB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAyB;AAClD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACuB;AACjB;AACP;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,iDAAiD,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACkB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,yBAAyB;AAClD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACuB;AACjB;AACP;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sDAAsD,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACe;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACoB;AACd;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC,sBAAsB,8CAA8C,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACiB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACsB;AAChB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C,sBAAsB,oCAAoC,EAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACe;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,+BAA+B;AACxD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACoB;AACd;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC,sBAAsB,8CAA8C,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACiB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,iCAAiC;AAC1D;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,CAAC;AACsB;AAChB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,qBAAqB;AAC1C,sBAAsB,qDAAqD,EAAE;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACwD;AACxD;AACsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,0CAA0C;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACqB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAC0B;AACpB;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,0BAA0B,cAAc;AACxC,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA,mBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,+CAA+C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,eAAe;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP,0BAA0B,WAAW;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA,UAAU,0BAA0B;AACpC;AACA;AACA;AACA;AACA;AAC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ACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD;AACA,sCAAsC,kDAAY;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA,uBAAuB,mFAAqB;AAC5C;AACA;AACA,eAAe,kBAAkB;AACjC;AACA,oBAAoB,kFAAoB;AACxC;AACA;AACA;AACA;AACA;AACA,eAAe,kBAAkB;AACjC;AACA,oBAAoB,kFAAoB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,mBAAmB;AACnC;AACA,qBAAqB,kFAAoB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,yBAAyB;AAC/C,2BAA2B,oBAAoB,mFAAqB,QAAQ;AAC5E;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA;AACA,iCAAiC,kFAAoB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,kFAAoB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA,yBAAyB,mFAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,mCAAmC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,iBAAiB,UAAU,iBAAiB;AACxF;AACA;AACA;AACA,mCAAmC,KAAK,GAAG,KAAK,EAAE,oBAAoB,cAAc,MAAM;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,QAAQ,UAAU,QAAQ;AACtE;AACA;AACA;AACA,mCAAmC,KAAK,GAAG,KAAK,EAAE,oBAAoB,cAAc,MAAM;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAK,GAAG,KAAK,EAAE,OAAO;AAC3D;AACA;AACA;AACA;AACA;AACA,oDAAoD,SAAS,QAAQ,SAAS;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,KAAK,GAAG,KAAK,EAAE,aAAa,IAAI,OAAO;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,KAAK,QAAQ,oBAAoB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,KAAK,IAAI,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,4EAAc;AAC3C;AACA;AACA;AACA;AACA,iBAAiB,6DAAO;AACxB;AACA;AACA,iBAAiB,+DAAS;AAC1B;AACA;AACA,iBAAiB,yDAAG;AACpB;AACA;AACA,iBAAiB,0DAAI;AACrB;AACA;AACA,iBAAiB,gEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,8DAAQ;AACzB;AACA;AACA,iBAAiB,iEAAW;AAC5B;AACA;AACA;AACA,iBAAiB,gEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,6BAA6B,+DAAwB,CAAC,wDAAiB,GA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AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA,yBAAyB,kFAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,kFAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD,kFAAoB;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,4EAAc;AACxC;AACA;AACA;AACA,oEAAoE,2CAA2C;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,QAAQ,GAAG,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,2BAA2B;AACnE,sCAAsC,0BAA0B;AAChE,qCAAqC,4BAA4B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAkE,sCAAsC,+DAAwB,CAAC,wDAAiB,GAAG,+DAAwB,CAAC,8DAAe,GAAG,+DAAwB,CAAC,wDAAQ,MAAM,+DAAwB,CAAC,0FAAqB,MAAM,+DAAwB,wCAAwC;AAC3V,0BAA0B,+DAAwB,EAAE,gNAAgN;AACpQ,QAAQ,yDAAkB;AAC1B,QAAQ,yDAAkB;AAC1B,QAAQ,yDAAkB;AAC1B,KAAK,EAAE,WAAW,iGAAiG,+CAA+C,wEAAiC,4aAA4a;AAC/mB,QAAQ,4DAAqB;AAC7B,QAAQ,4DAAqB;AAC7B,QAAQ,wDAAiB;AACzB,QAAQ,wDAAiB;AACzB,QAAQ,0DAAmB;AAC3B,KAAK;AACL,QAAQ,yDAAkB;AAC1B,QAAQ,wDAAiB;AACzB,QAAQ,yDAAkB;AAC1B,QAAQ,uDAAgB;AACxB,QAAQ,wDAAiB;AACzB,QAAQ,uDAAgB;AACxB,QAAQ,wDAAiB;AACzB,KAAK,EAAE,eAAe,wDAAe,EAAE,4DAAmB,wDAAwD;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,8DAAQ,EAAE;AACtB,KAAK,gCAAgC,OAAO,sDAAQ,EAAE,GAAG,OAAO,oDAAM,SAAS,wDAAQ,IAAI,GAAG;AAC9F,KAAK,6BAA6B,OAAO,sDAAQ,EAAE,GAAG,OAAO,oDAAM,SAAS,0FAAqB,IAAI,GAAG;AACxG,KAAK,gCAAgC,OAAO,oDAAM,iDAAiD;AACnG;AACA;AACA,gBAAgB,OAAO,mDAAK,EAAE;AAC9B,mBAAmB,OAAO,mDAAK,EAAE;AACjC,YAAY,OAAO,mDAAK,EAAE;AAC1B,aAAa,OAAO,mDAAK,EAAE;AAC3B;AACA,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD,gDAAgD,cAAc,kBAAkB,0BAA0B,kBAAkB,yBAAyB,MAAM,OAAO,wBAAwB,iBAAiB,6BAA6B,iBAAiB,wBAAwB,0CAA0C,qDAAqD,gBAAgB,eAAe,uDAAuD,oBAAoB,uFAAuF,oEAAoE,+GAA+G,gBAAgB,eAAe,8FAA8F,2BAA2B,0BAA0B,yDAAyD,mCAAmC,sHAAsH,gBAAgB,eAAe,gGAAgG,yGAAyG,wHAAwH,gBAAgB,eAAe,uGAAuG,2BAA2B,+HAA+H,gBAAgB,eAAe,8CAA8C,GAAG,uBAAuB,KAAK,0BAA0B,kDAAkD,GAAG,kCAAkC,oBAAoB,MAAM,+BAA+B,oBAAoB,SAAS,+BAA+B,0CAA0C,IAAI,kCAAkC,0CAA0C,SAAS,kCAAkC,yBAAyB,MAAM,+BAA+B,yBAAyB,SAAS,+BAA+B,2CAA2C,IAAI,kCAAkC,2CAA2C,SAAS,kCAAkC,yBAAyB,MAAM,+BAA+B,yBAAyB,SAAS,+BAA+B,2CAA2C,IAAI,kCAAkC,2CAA2C,SAAS,kCAAkC,wBAAwB,MAAM,+BAA+B,wBAAwB,SAAS,+BAA+B,2CAA2C,KAAK,kCAAkC,4CAA4C,uDAAuD,GAAG,uBAAuB,IAAI,0BAA0B,IAAI,0BAA0B,IAAI,0BAA0B,KAAK,2BAA2B;AACjvG,aAAa;AACb,KAAK,gBAAgB,UAAU,OAAO,wDAAiB,EAAE,GAAG,OAAO,8DAAe,EAAE,GAAG;AACvF,sBAAsB,sDAAQ;AAC9B,aAAa;AACb,sBAAsB,oDAAM;AAC5B,uBAAuB,wDAAQ;AAC/B,aAAa,GAAG,GAAG;AACnB,sBAAsB,sDAAQ;AAC9B,aAAa;AACb,sBAAsB,oDAAM;AAC5B,uBAAuB,0FAAqB;AAC5C,aAAa,GAAG,GAAG;AACnB,sBAAsB,oDAAM;AAC5B;AACA,aAAa,GAAG,EAAE,EAAE,GAAG;AACvB,kBAAkB,mDAAK;AACvB,SAAS;AACT,kBAAkB,mDAAK;AACvB,SAAS;AACT,kBAAkB,mDAAK;AACvB,SAAS;AACT,kBAAkB,mDAAK;AACvB,SAAS,GAAG,EAAE,EAAE;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,8BAA8B,+DAAwB,CAAC,wDAAiB,GAAG,+DAAwB,CAAC,8DAAe,GAAG,+DAAwB,CAAC,wDAAQ,MAAM,+DAAwB,CAAC,0FAAqB,MAAM,+DAAwB,wCAAwC;AACnU,kBAAkB,+DAAwB,EAAE,8NAA8N;AAC1Q,QAAQ,yDAAkB;AAC1B,QAAQ,yDAAkB;AAC1B,KAAK,EAAE,WAAW,iBAAiB,aAAa,wEAAiC,oaAAoa;AACrf,QAAQ,4DAAqB;AAC7B,QAAQ,4DAAqB;AAC7B,QAAQ,wDAAiB;AACzB,QAAQ,wDAAiB;AACzB,QAAQ,0DAAmB;AAC3B,KAAK;AACL,QAAQ,yDAAkB;AAC1B,QAAQ,wDAAiB;AACzB,QAAQ,yDAAkB;AAC1B,QAAQ,uDAAgB;AACxB,QAAQ,wDAAiB;AACzB,QAAQ,uDAAgB;AACxB,QAAQ,wDAAiB;AACzB,KAAK,EAAE,eAAe,wDAAe,EAAE,4DAAmB,wDAAwD;AAClH;AACA,KAAK,OAAO,wDAAU,EAAE;AACxB,KAAK,OAAO,8DAAQ,EAAE;AACtB,KAAK,gCAAgC,OAAO,sDAAQ,EAAE,GAAG,OAAO,oDAAM,SAAS,wDAAQ,IAAI,GAAG;AAC9F,KAAK,6BAA6B,OAAO,sDAAQ,EAAE,GAAG,OAAO,oDAAM,SAAS,0FAAqB,IAAI,GAAG;AACxG,KAAK,gCAAgC,OAAO,oDAAM,iDAAiD;AACnG;AACA,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iCAAiC,qEAAuB;AACxD,+BAA+B,+DAAiB;AAChD,gDAAgD,cAAc,kBAAkB,0BAA0B,kBAAkB,yBAAyB,MAAM,OAAO,wBAAwB,iBAAiB,6BAA6B,iBAAiB,wBAAwB,0CAA0C,qDAAqD,gBAAgB,eAAe,uDAAuD,oBAAoB,uFAAuF,oEAAoE,+GAA+G,gBAAgB,eAAe,8FAA8F,2BAA2B,0BAA0B,yDAAyD,mCAAmC,sHAAsH,gBAAgB,eAAe,gGAAgG,yGAAyG,wHAAwH,gBAAgB,eAAe,uGAAuG,2BAA2B,+HAA+H,gBAAgB,eAAe,8CAA8C,GAAG,uBAAuB,KAAK,0BAA0B,kDAAkD,GAAG,kCAAkC,oBAAoB,MAAM,+BAA+B,oBAAoB,SAAS,+BAA+B,0CAA0C,IAAI,kCAAkC,0CAA0C,SAAS,kCAAkC,yBAAyB,MAAM,+BAA+B,yBAAyB,SAAS,+BAA+B,2CAA2C,IAAI,kCAAkC,2CAA2C,SAAS,kCAAkC,yBAAyB,MAAM,+BAA+B,yBAAyB,SAAS,+BAA+B,2CAA2C,IAAI,kCAAkC,2CAA2C,SAAS,kCAAkC,wBAAwB,MAAM,+BAA+B,wBAAwB,SAAS,+BAA+B,2CAA2C,KAAK,kCAAkC,4CAA4C,uDAAuD,GAAG,uBAAuB,IAAI,0BAA0B,IAAI,0BAA0B,IAAI,0BAA0B,KAAK,2BAA2B;AACjvG,aAAa;AACb,KAAK,gBAAgB,UAAU,OAAO,wDAAiB,EAAE,GAAG,OAAO,8DAAe,EAAE,GAAG;AACvF,sBAAsB,sDAAQ;AAC9B,aAAa;AACb,sBAAsB,oDAAM;AAC5B,uBAAuB,wDAAQ;AAC/B,aAAa,GAAG,GAAG;AACnB,sBAAsB,sDAAQ;AAC9B,aAAa;AACb,sBAAsB,oDAAM;AAC5B,uBAAuB,0FAAqB;AAC5C,aAAa,GAAG,GAAG;AACnB,sBAAsB,oDAAM;AAC5B;AACA,aAAa,GAAG,EAAE,EAAE,QAAQ,EAAE;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,8DAAuB,EAAE,iCAAiC;AAC1F,gCAAgC,8DAAuB,EAAE,wDAAwD,8CAA8C,EAAE,aAAa,sEAAe,EAAE,4DAAY,GAAG,sEAAe,GAAG;AAChO,cAAc,oDAAoD,gEAAyB,4BAA4B,4BAA4B,yCAAyC,EAAE,wBAAwB,SAAS,sEAAe,EAAE,4DAAY,EAAE,EAAE,wBAAwB,yCAAyC,sEAAe,EAAE,EAAE,EAAE,EAAE,EAAE;AAC1V,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,sDAAQ;AACtB;AACA,0BAA0B,sEAAe,EAAE,4DAAY;AACvD;AACA;AACA;AACA,oBAAoB,sEAAe;AACnC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,KAAK,eAAe,EAAE;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEwJ;;AAExJ,4C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzauB;AAI+B;AAIV;AACQ;AAKP;AACkC;;;;;;;;;;;;;;;;;;;;;;;;;;;IClB7E,0EACE;IAAA,0EACE;IAAA,0EACE;IAAA,yEAAoB;IAAA,uDAAkC;IAAA,4DAAK;IAC7D,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAHoB,0DAAkC;IAAlC,6GAAkC;;;IA4BxD,0EACE;IAAA,0EACE;IAAA,qEACA;IAAA,yEAAqB;IAAA,2EAAgB;IAAA,4DAAK;IAC5C,4DAAM;IACR,4DAAM;;;IAMA,oEACE;IAAA,+GACF;IAAA,4DAAI;;;;IACJ,oFAEgB;IADd,wWAA6B;IAC/B,4DAAgB;;;IAFD,kFAAyB;;;IAgBtC,yEAAkD;IAAA,8DAAG;IAAA,4DAAK;;;IAC1D,yEACE;IAAA,2EAAwB;IAAA,gEAAK;IAAA,4DAAO;IAAC,uDACvC;IAAA,4DAAK;;;IADkC,0DACvC;IADuC,8HACvC;;;IAIA,yEAAkD;IAAA,+DAAI;IAAA,4DAAK;;;IAC3D,6EAEE;IAAA,2EAAwB;IAAA,0EAAe;IAAA,4DAAO;IAC9C,uDACF;;IAAA,4DAAK;;;IAJ8B,uIAAuC;IAGxE,0DACF;IADE,qMACF;;;IAIA,yEAAkD;IAAA,iEAAM;IAAA,4DAAK;;;IAC7D,yEACE;IAAA,2EAAwB;IAAA,mEAAQ;IAAA,4DAAO;IAAC,uDAC1C;IAAA,4DAAK;;;IADqC,0DAC1C;IAD0C,6HAC1C;;;IAIA,yEAAkD;IAAA,iEAAM;IAAA,4DAAK;;;;IAC7D,yEAEE;IAAA,2EAAwB;IAAA,yEAAc;IAAA,4DAAO;IAC7C,4EAEF;IADoC,oZAAqD,KAAK,KAAE;IAD9F,4DAEF;IAAA,4DAAK;;;;IAFuC,0DAAyB;IAAzB,kHAAyB;;;IAMrE,yEACE;IAAA,0EACF;IAAA,4DAAK;;;;IAEH,wEACE;IAAA,2EAAwB;IAAA,wEAAa;IAAA,4DAAO;IAC5C,4EAGF;IADI,6dAAqD,IAAI,KAAE;IAF7D,4DAGF;IAAA,qEAAe;;;;IAH6B,0DAAyB;IAAzB,kHAAyB;;;IAHvE,yEACE;IAAA,uJACE;IAKJ,4DAAK;;;IANW,0DAA4B;IAA5B,0FAA4B;;;IAU5C,yEAAkD;IAAA,iEAAM;IAAA,4DAAK;;;IAC7D,yEAEE;IAAA,2EAAwB;IAAA,uEAAY;IAAA,4DAAO;IAC3C,uDAIF;;IAAA,4DAAK;;;IAJH,0DAIF;IAJE,8PAIF;;;IAIA,yEAAkD;IAAA,iEAAM;IAAA,4DAAK;;;IAC7D,yEACE;IAAA,2EAAwB;IAAA,sEAAW;IAAA,4DAAO;IAC1C,uDAMF;;IAAA,4DAAK;;;;IANH,0DAMF;IANE,6UAMF;;;IAIA,yEAAkD;IAAA,mEAAQ;IAAA,4DAAK;;;IAG7D,wEACE;IAAA,2EAAwB;IAAA,mEAAQ;IAAA,4DAAO;IACvC,uDACF;IAAA,qEAAe;;;IADb,0DACF;IADE,iHACF;;;IALF,yEAEE;IAAA,uJACE;IAGJ,4DAAK;;;IAJW,0DAA4B;IAA5B,0FAA4B;;;IAQ5C,yEAAkD;IAAA,iEAAM;IAAA,4DAAK;;;IAE3D,wEACE;IAAA,2EAAwB;IAAA,mEAAQ;IAAA,4DAAO;IACvC,uDACF;;IAAA,qEAAe;;;IADb,0DACF;IADE,2KACF;;;IAJF,yEACE;IAAA,uJACE;IAGJ,4DAAK;;;IAJW,0DAA4B;IAA5B,0FAA4B;;;IAQ5C,yEAAkD;IAAA,iEAAM;IAAA,4DAAK;;;;IAGzD,4EAG8E;IAA9D,4gBAAyD;IAAC,4DAAI;;IAD5E,uFAA8B;;;;IAGhC,4EAG8E;IAA9D,4gBAAyD;IAAC,4DAAI;;IAD5E,wFAA+B;;;;IA6CzB,6EAME;IANkF,4jBAKjF;IACD,qFACF;IAAA,4DAAS;;;IARX,wEACE;IAAA,0KAME;IAEJ,qEAAe;;;IARS,0DAAiC;IAAjC,+FAAiC;;;;IAUvD,6EAEE;IADA,seAAuC;IACvC,iFACF;IAAA,4DAAS;;;IAJX,wEACE;IAAA,0KAEE;IAEJ,qEAAe;;;IAJS,0DAAgC;IAAhC,8FAAgC;;;;IAhB1D,wEACE;IAAA,6EACE;IADgD,0cAAoC;IACpF,uDAEF;IAAA,4DAAS;IACT,uKACE;IASF,uKACE;IAKJ,qEAAe;;;;IAnBX,0DAEF;IAFE,sIAEF;IACc,0DAA6C;IAA7C,uHAA6C;IAU7C,0DAAyB;IAAzB,2FAAyB;;;;IAQzC,wEACE;IAAA,6EAEE;IADA,8hBAAsD;IACtD,wEACF;IAAA,4DAAS;IACX,qEAAe;;;;;IA5EvB,yEACE;IAAA,0EACE;IAAA,iIAG0E;IAE1E,iIAG0E;IAE1E,4EAEiE;IAAjD,2cAA4C;IAAC,4DAAI;IAEjE,4EAE8D;IAA9C,scAAyC;IAAC,4DAAI;IAChE,4DAAM;IAEN,0EACE;IAAA,6EACE;IAAA,4EAAU;IAAA,qEAAS;IAAA,4DAAW;IAChC,4DAAS;IACT,sFACE;IAAA,2EACE;IAAA,8EAkBE;IAAA,6EACF;IAAA,4DAAS;IAET,yJACE;IAsBF,yJACE;IAKJ,4DAAM;IACR,4DAAW;IACb,4DAAM;IACR,4DAAK;;;;IA9EE,0DAAgC;IAAhC,8FAAgC;IAKhC,0DAA+B;IAA/B,6FAA+B;IAMhC,0DAAqB;IAArB,8EAAqB;IAIqC,0DAA8B;IAA9B,uFAA8B;IAKrC,0DAAiC;IAAjC,mFAAiC;IAK5D,0DAKnB;IALmB,wOAKnB;IAAe,8PAKf;IAWW,0DAA4B;IAA5B,0FAA4B;IAuB5B,0DAA4B;IAA5B,0FAA4B;;;IAYpD,oEAAiE;;;IAMjE,oEACE;IAAA,+GACF;IAAA,4DAAI;;;;IACJ,oFAEgB;IADd,4WAA6B;IAC/B,4DAAgB;;;IAFD,kFAAyB;;;;;IAjN5C,0EACE;IAAA,0EAGE;IAAA,2HACE;IAEF,mJAEA;IACF,4DAAM;IAEN,4EAUE;;IAAA,4EACE;IAAA,6HAAkD;IAClD,6HACE;IAEJ,qEAAe;IAEf,4EACE;IAAA,+HAAkD;IAClD,+HAEE;IAGJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,+HACE;IAEJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,+HAEE;IAIJ,qEAAe;IAEf,6EACE;IAAA,+HACE;IAEF,+HACE;IAOJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,+HAEE;IAMJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,+HACE;IAQJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,+HAEE;IAKJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,+HACE;IAKJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,iIACE;IAgFJ,qEAAe;IAEf,+HAA4D;IAC9D,4DAAQ;IAER,2EAGE;IAAA,6HACE;IAEF,qJAEA;IACF,4DAAM;IACR,4DAAM;;;IApNC,0DAED;IAFC,0LAED;IACC,0DAAmD;IAAnD,+GAAmD;IAItB,0DAA4B;IAA5B,oGAA4B;IAItB,0DASrC;IATqC,sRASrC;IAmLW,2DAA+C;IAA/C,qGAA+C;IAGxD,0DAED;IAFC,0LAED;IACC,0DAAmD;IAAnD,+GAAmD;IAItB,0DAA4B;IAA5B,oGAA4B;;;;IAOhE,6EAEE;IAFmE,gUAAoB;IAEvF,mEACF;IAAA,4DAAS;;;;IACT,6EAEE;IAFmE,2TAAkB,IAAI,KAAE;IAE3F,iEACF;IAAA,4DAAS;;;;IAUf,0EACE;IAAA,oEAAuC;IACvC,6EACE;IADsF,8SAAS,wBAAe,IAAC;IAC/G,qEACF;IAAA,4DAAS;IACX,4DAAM;IAEN,0EACE;IAAA,0EACE;IAAA,qEACA;IAAA,yEAAsC;IAAA,qEAAU;IAAA,4DAAK;IACrD,wEAAe;IAAA,wDAAuB;IAAA,4DAAI;IAC1C,2EACE;IAAA,8EACE;IAD8C,+SAAS,wBAAe,IAAC;IACvE,oEACF;IAAA,4DAAS;IAET,8EACE;IAD4C,oVAAyB;IACrE,yEACF;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAXa,2DAAuB;IAAvB,yFAAuB;;;;IAe1C,0EACE;IAAA,oEAAuC;IACvC,6EACE;IADsF,uUAAsB;IAC5G,qEACF;IAAA,4DAAS;IACX,4DAAM;IAEN,0EACE;IAAA,0EACE;IAAA,yEACE;IAAA,uDACF;IAAA,4DAAK;IACL,wEACE;IAAA,uDAGF;IAAA,4DAAI;IACJ,2EACE;IAAA,8EACE;IAD8C,wUAAsB;IACpE,oEACF;IAAA,4DAAS;IAET,8EACE;IAD4C,gVAA8B;IAC1E,iEACF;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAjBA,0DACF;IADE,+IACF;IAEE,0DAGF;IAHE,4NAGF;;;;IA2CA,oFAEE;IADA,0ZAAsD;IAEtD,8EAEE;IADA,8VAAsB;IACtB,mEACF;IAAA,4DAAS;IACX,4DAAe;;;IAPD,yFAAuB;;;;IAWnC,2EACE;IAAA,2EACE;IAAA,6EAA0B;IAAA,mEAAQ;IAAA,4DAAQ;IAC1C,2EACE;IAAA,2EACE;IAAA,6EAEA;IADE,uXAA8B;IADhC,4DAEA;IAAA,6EAAe;IAAA,mEAAQ;IAAA,4DAAQ;IACjC,4DAAM;IACN,2EACE;IAAA,8EAEA;IADE,wXAA8B;IADhC,4DAEA;IAAA,8EAAe;IAAA,0EAAc;IAAA,4DAAQ;IACvC,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;;;IAXkD,0DAA4B;IAA5B,8FAA4B;IAK7B,0DAA2B;IAA3B,6FAA2B;;;;IAbpF,yFAEE;IADA,oaAAsD;IAEtD,4JACE;IAiBF,8EAEE;IADA,mWAAsB;IACtB,mEACF;IAAA,4DAAS;IACX,4DAAoB;;;IAzBD,yFAAuB;IAGT,0DAA2B;IAA3B,8FAA2B;;;IAZ9D,sEACE;IAAA,yJAEE;IAMF,mKAEE;IAwBJ,4DAAM;;;IAjCqD,0DAAuB;IAAvB,0FAAuB;IAQvB,0DAAwB;IAAxB,2FAAwB;;;IAqCvE,sEACE;IAAA,sEACF;IAAA,4DAAM;;;IADmD,0DAA4B;IAA5B,2JAA4B;;;IAGnF,sEAEF;;;IAqCN,uEAA2E;;;;IArDjF,sEACE;IAAA,0EACE;IAAA,0EACE;IAAA,yEAA4B;IAAA,0EAAe;IAAA,4DAAI;IAC/C,yEACE;IAAA,+GACF;IAAA,4DAAI;IACJ,2EACE;IAAA,2EACE;IAAA,4EACE;IAAA,yIACE;IAEF,qOACE;IAGF,4EAEF;IADI,gTAAS,aAAa,IAAC;IADzB,4DAEF;IAAA,4DAAO;IACP,mFAEF;IADI,oXAAoD;IADtD,4DAEF;IAAA,4DAAM;IACN,4EACE;IAAA,0EACE;IAAA,gFAAmB;IAAA,sEACnB;IAAA,2EAAc;IAAA,iEACd;IAAA,sEACA;IAAA,wDAEF;IAAA,4DAAI;IACJ,oFAAuE;IACzE,4DAAM;IACR,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,0EAA4B;IAAA,sEAAU;IAAA,4DAAI;IAC1C,0EACE;IAAA,gHACF;IAAA,4DAAI;IACJ,uFAE2F;IAAzF,iYAA+C;IAAyB,4DAAiB;IAC7F,4DAAM;IACR,4DAAM;IAEN,4EACE;IAAA,+EACE;IAD4E,gVAAsB;IAClG,oEACF;IAAA,4DAAS;IACT,+EAEE;IADA,2VAAiC;IACjC,2IAAoE;IAAO,yEAC7E;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;;;;IA9CW,2DAA0D;IAA1D,uGAA0D;IAUxB,0DAAyB;IAAzB,2FAAyB;IAQhE,0DAEF;IAFE,iJAEF;IACkB,0DAAiC;IAAjC,mGAAiC;IAUvC,0DAAgC;IAAhC,8IAAgC;IAUI,0DAAoB;IAApB,sFAAoB;IAElE,0DAAe;IAAf,kFAAe;;;;;IArH7B,2EACE;IAAA,yEACE;IAAA,uDACF;IAAA,4DAAK;IACL,8EAEE;IADA,uUAAsB;IACtB,qEACF;IAAA,4DAAS;IACX,4DAAM;IAEN,2EACE;IAAA,2EAGE;IAAA,8EAGE;IADiB,6UAA+B,CAAC,KAAE;IACnD,4EAAwB;IAAA,sEAAW;IAAA,4DAAO;IAC5C,4DAAS;IAET,+EAGE;IADiB,8UAA+B,CAAC,KAAE;IACnD,6EAAwB;IAAA,sEAAU;IAAA,4DAAO;IAC3C,4DAAS;IACX,4DAAM;IAEN,iIACE;IAoCF,mIACE;IAwDJ,4DAAM;;;IAvHF,0DACF;IADE,kIACF;IAQiD,0DAE7C;IAF6C,uKAE7C;IACuB,0DAErB;IAFqB,6KAErB;IAIqB,0DAErB;IAFqB,8KAErB;IAKD,0DAAiC;IAAjC,mGAAiC;IAqCjC,0DAAiC;IAAjC,mGAAiC;;;IAqFhC,yEAAkD;IAAA,gEAAK;IAAA,4DAAK;;;IAC5D,yEACE;IAAA,2EAAwB;IAAA,gEAAK;IAAA,4DAAO;IAAC,uDACvC;IAAA,4DAAK;;;IADkC,0DACvC;IADuC,kGACvC;;;IAIA,yEAAkD;IAAA,0EAAe;IAAA,4DAAK;;;IACtE,0EACE;IAAA,2EAAwB;IAAA,0EAAe;IAAA,4DAAO;IAC9C,yEAA0B;IAAA,uDAAyB;IAAA,4DAAI;IACzD,4DAAK;;;IADuB,0DAAyB;IAAzB,yFAAyB;;;IAKrD,yEAAkD;IAAA,mEAAQ;IAAA,4DAAK;;;IAC/D,yEACE;IAAA,2EAAwB;IAAA,mEAAQ;IAAA,4DAAO;IAAC,uDAC1C;IAAA,4DAAK;;;IADqC,0DAC1C;IAD0C,iGAC1C;;;IAIA,oEAAuD;;;;IACvD,0EACE;IAAA,sEAAgC;IAChC,2EACE;IAAA,4EAEmE;IAAjE,mdAA4D;IAAC,4DAAI;IACrE,4DAAM;IACR,4DAAK;;IAH2D,0DAA8B;IAA9B,uFAA8B;;;IAKhG,oEAAkE;;;;IAxDxE,2EACE;IAAA,yEAAkC;IAAA,mFAAwB;IAAA,4DAAK;IAC/D,8EAEE;IADA,uUAAsB;IACtB,qEACF;IAAA,4DAAS;IACX,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,2EACE;IAAA,0EAAiB;IAAA,gEAAK;IAAA,4DAAK;IAC3B,yEAAe;IAAA,wDAAmC;IAAA,4DAAI;IACxD,4DAAM;IACN,4EACE;IAAA,2EAAiB;IAAA,2EAAe;IAAA,4DAAK;IACrC,yEAAe;IAAA,wDAAqC;IAAA,4DAAI;IAC1D,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,8EAEE;IAAA,6EACE;IAAA,+HAAkD;IAClD,+HACE;IAEJ,qEAAe;IAEf,8EACE;IAAA,+HAAkD;IAClD,gIACE;IAGJ,qEAAe;IAEf,8EACE;IAAA,+HAAkD;IAClD,+HACE;IAEJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,gIACE;IAOJ,qEAAe;IACf,+HAA6D;IAC/D,4DAAQ;IACV,4DAAM;IAEN,4EACE;IAAA,+EACE;IADoF,wUAAsB;IAC1G,mEACF;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;;;IArDe,2DAAmC;IAAnC,iJAAmC;IAInC,0DAAqC;IAArC,mJAAqC;IAKlB,0DAA+B;IAA/B,gGAA+B;IAmCrD,2DAAgD;IAAhD,uGAAgD;;;IAqC1D,oEAAuD;;;;IACvD,yEACE;IAAA,2EACE;IAAA,6EACA;IAD4D,uYAAuC;IAAnG,4DACA;IAAA,6EAAgC;IAAA,iEAAM;IAAA,4DAAQ;IAChD,4DAAM;IACR,4DAAK;;;IAIL,yEAAkD;IAAA,gEAAK;IAAA,4DAAK;;;IAC5D,0EACE;IAAA,2EAAwB;IAAA,gEAAK;IAAA,4DAAO;IAAC,uDACvC;IAAA,4DAAK;;;IADkC,0DACvC;IADuC,kGACvC;;;IAIA,yEAAkD;IAAA,sEAAW;IAAA,4DAAK;;;IAClE,yEACE;IAAA,2EAAwB;IAAA,0EAAe;IAAA,4DAAO;IAC9C,yEAA0B;IAAA,uDAAyB;IAAA,4DAAI;IACzD,4DAAK;;;IADuB,0DAAyB;IAAzB,yFAAyB;;;IAKrD,yEAAkD;IAAA,mEAAQ;IAAA,4DAAK;;;IAC/D,yEACE;IAAA,2EAAwB;IAAA,mEAAQ;IAAA,4DAAO;IAAC,uDAC1C;IAAA,4DAAK;;;IADqC,0DAC1C;IAD0C,iGAC1C;;;IAGF,oEAAkE;;;IAItE,yEACE;IAAA,2FACF;IAAA,4DAAI;;;;IA7DN,2EACE;IAAA,yEAAkC;IAAA,uFAA4B;IAAA,4DAAK;IACnE,8EAEE;IADA,uUAAsB;IACtB,qEACF;IAAA,4DAAS;IACX,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,2EACE;IAAA,0EAAiB;IAAA,gEAAK;IAAA,4DAAK;IAC3B,yEAAe;IAAA,wDAAmC;IAAA,4DAAI;IACxD,4DAAM;IACN,4EACE;IAAA,2EAAiB;IAAA,2EAAe;IAAA,4DAAK;IACrC,yEAAe;IAAA,wDAAqC;IAAA,4DAAI;IAC1D,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,8EAEE;IAAA,6EACE;IAAA,+HAAkD;IAClD,+HACE;IAKJ,qEAAe;IAEf,8EACE;IAAA,+HAAkD;IAClD,gIACE;IAEJ,qEAAe;IAEf,8EACE;IAAA,+HAAkD;IAClD,+HACE;IAGJ,qEAAe;IAEf,6EACE;IAAA,+HAAkD;IAClD,+HACE;IAEJ,qEAAe;IAEf,+HAA6D;IAC/D,4DAAQ;IACV,4DAAM;IAEN,8HACE;IAGF,4EACE;IAAA,+EACE;IADoF,wUAAsB;IAC1G,oEACF;IAAA,4DAAS;IACT,+EAEE;IAD6E,6UAA2B;IACxG,wEACF;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;;;IA5De,2DAAmC;IAAnC,iJAAmC;IAInC,0DAAqC;IAArC,mJAAqC;IAKlB,0DAA0B;IAA1B,2FAA0B;IAkChD,2DAAgD;IAAhD,uGAAgD;IAI3C,0DAAyD;IAAzD,mIAAyD;IAS1E,0DAA8D;IAA9D,uIAA8D;;;;IAQpE,2EACE;IAAA,oEACE;IAAA,uDAEF;IAAA,4DAAI;IACJ,8EAEE;IADA,sWAA+C,IAAI,KAAE;IACrD,+DACF;IAAA,4DAAS;IACT,8EAEE;IADA,8SAAS,iCAAwB,IAAC;IAClC,mEACF;IAAA,4DAAS;IACX,4DAAM;;;IAXF,0DAEF;IAFE,sSAEF;;ADjkBG,MAAM,mBAAmB;IAoF9B,YACU,UAAsB,EACtB,MAAqB,EACrB,YAA4B,EAC5B,oBAA+C,EAC/C,aAA4B,EAC5B,MAAc,EACd,KAAqB,EACrB,kBAAsC;QAPtC,eAAU,GAAV,UAAU,CAAY;QACtB,WAAM,GAAN,MAAM,CAAe;QACrB,iBAAY,GAAZ,YAAY,CAAgB;QAC5B,yBAAoB,GAApB,oBAAoB,CAA2B;QAC/C,kBAAa,GAAb,aAAa,CAAe;QAC5B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,uBAAkB,GAAlB,kBAAkB,CAAoB;QA3FvC,mBAAc,GAAY,KAAK,CAAC;QAGrB,aAAQ,GAAG,IAAI,0DAAY,EAAU,CAAC;QACxC,kBAAa,GAAG,IAAI,0DAAY,EAAW,CAAC;QAG9D,kCAAkC;QAClC,yBAAoB,GAAW,CAAC,CAAC;QACjC,oBAAe,GAAY,IAAI,CAAC;QAChC,iBAAY,GAAW,0DAAS,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC;QACzD,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAG,CAAC,CAAC;QACf,cAAS,GAAkB,EAAE,CAAC;QAE9B,qBAAgB,GAAa;YAC3B,OAAO;YACP,gBAAgB;YAChB,UAAU;YACV,eAAe;YACf,cAAc;YACd,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,WAAW;SACZ,CAAC;QACF,sBAAiB,GAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAC9E,sBAAiB,GAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;QAI9E,iBAAiB;QACjB,eAAU,GAAW,CAAC,CAAC;QACvB,aAAQ,GAAW,EAAE,CAAC;QACtB,eAAU,GAAW,EAAE,CAAC;QACxB,gBAAW,GAAY,IAAI,CAAC;QAE5B,aAAQ,GAAY,KAAK,CAAC;QAO1B,mBAAc,GAAY,KAAK,CAAC;QAChC,eAAU,GAAY,KAAK,CAAC;QAC5B,YAAO,GAAY,KAAK,CAAC;QAKzB,kDAAkD;QAClD,gCAA2B,GAKtB,EAAE,CAAC;QAER,6BAA6B;QAC7B,gBAAW,GAAe,EAAE,CAAC;QAC7B,qBAAgB,GAAe,EAAE,CAAC;QAElC,8BAAyB,GAAY,KAAK,CAAC;QAE3C,8CAA8C;QACrC,iBAAY,GAAW,0DAAS,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC;QAChE,mBAAc,GAAW,0DAAS,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC;QACxE,uBAAkB,GAAqB,EAAE,CAAC;QAC1C,yBAAoB,GAAW,IAAI,CAAC;QAC5B,2BAAsB,GAAc,IAAI,CAAC;QACjD,qBAAgB,GAAgB,EAAE,CAAC;QAMnC,8BAA8B;QAC9B,qBAAgB,GAAY,KAAK,CAAC;QAG1B,kBAAa,GAAwB,EAAE,CAAC;QA6gBhD,mCAAmC;QACnC,wBAAwB;QACxB,0BAAqB,GAAG,IAAI,0DAAW,CAAC,IAAI,EAAE;YAC5C,iFAAe,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;YAC5C,iFAAe,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC;SACjD,CAAC,CAAC;IAxgBA,CAAC;IAEI,iBAAiB,CAAC,GAAQ;QAChC,IAAI,KAAK,GAAgB;YACvB,kBAAkB,EAAE,IAAI;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,EAAE;YACb,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,YAAY,EAAE,GAAG,CAAC,YAAY;YAC9B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,kCAAkC,EAAE,GAAG,CAAC,kCAAkC,IAAI,CAAC;SAChF,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAC/D,IAAI,CAAC,WAAW,CAAC,cAAc,CAChC,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,GAAuB;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACnC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,WAAW,CAAC,KAAK;QACf,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;IACtD,CAAC;IAED,eAAe,CAAC,QAA0B;QACxC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,YAAY,GAAiB;YAC/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,KAAK;YACf,KAAK,EACH,yEAAyE;SAC5E,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;IAED,qBAAqB;IACrB,YAAY,CAAC,GAAQ,EAAE,KAAa,EAAE,YAAqB,KAAK;QAC9D,IAAI,UAAU,GAAW,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtD,IAAI,KAAK,GAAW,GAAG,CAAC,EAAE,CAAC;QAE3B,IAAI,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,UAAU;YAAE,OAAO;QAEzD,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,YAAY,KAAK,UAAU;YAAE,OAAO;QAE1D,IAAI,kBAAkB,GAAG,IAAI,CAAC,2BAA2B,CAAC,SAAS,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,CACrB,CAAC;QAEF,IAAI,kBAAkB,GAAG,CAAC,CAAC,EAAE;YAC3B,IAAI,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,kBAAkB,CAAC,CAAC;YAE1E,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,EAAE;gBAC7D,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK;gBAC7D,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY;aAC9D,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,OAAO,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC;YACpE,IAAI,OAAO,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC;YACpE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC;gBACpC,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK;gBACzC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;aAC1C,CAAC,CAAC;SACJ;IACH,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,2BAA2B,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE1D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU;aAC7B,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,2BAA2B,CAAC;aACrE,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;YACtC,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;aAChB;QACH,CAAC,EACD,GAAG,EAAE;YACH,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CACF,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,8BAA8B;IAC9B,MAAM;QACJ,IAAI,KAAK,GAAG;YACV,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,kBAAkB;IAClB,OAAO;QACL,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;YAC3B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CACpE,CAAC,QAAa,EAAE,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YACnB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED,eAAe;IACf,WAAW;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU;aACzB,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;aAC3B,SAAS,CAAC,CAAC,GAAQ,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG;gBACd,cAAc,EAAE,GAAG;gBACnB,YAAY,EAAE,GAAG;gBACjB,gBAAgB,EAAE,GAAG;gBACrB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,aAAa;gBACpB,WAAW,EAAE,KAAK;gBAClB,MAAM,EAAE,IAAI;gBACZ,gBAAgB,EAAE,IAAI;aACvB,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,yDAAW,CAAC,OAAO,CAAC,CAAC;YAC7C,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,YAAY,CAAC,GAAG;QACd,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,YAAY;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU;aAC1B,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;aACzC,SAAS,CACR,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,YAAY;gBAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;;gBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,YAAY;gBAAE,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;;gBACzC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC,CACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAGD,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG;YACV,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC,EAAE;gBAC9F,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC,EAAE;oBACvD,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;iBACtB;gBACD,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI,IAAI,GAAG,CAAC,YAAY,KAAK,CAAC,EAAE;oBACvD,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC;iBACtB;gBACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aACxB;QACH,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CACxD,CAAC,GAAQ,EAAE,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,oCAAoC,EACpC,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EACnC,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;QACxD,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,KAAK,EACL,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EACjC,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC;QACJ,CAAC,CACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,4CAA4C;IAC5C,kBAAkB,CAAC,aAAgC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACpC,aAAa,EACb,MAAM,CAAC,MAAM,CACX,EAAE,EACF;YACE,KAAK,EACH,+EAA+E;SAClF,CACF,CACF,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,mBAAmB,CAAC,cAAgC,EAAE,OAAY;QAChE,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,EAAE;YACrD,KAAK,EACH,gFAAgF;SACnF,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU;aAC1B,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;aAC7C,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC;QAC9B,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CACF,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,4BAA4B;IAC5B,kBAAkB,CAAC,UAA4B,EAAE,aAAkB;QACjE,IAAI,CAAC,eAAe,GAAG,aAAa,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE;YAC1D,KAAK,EAAE,oCAAoC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,OAAY,EAAE,gBAAyB,KAAK;QAC/D,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CACnE,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,GAAG,EAAE;gBACP,IAAI,IAAI,CAAC,iBAAiB;oBAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC1D,IAAI,aAAa,EAAE;oBACjB,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,6BAA6B,OAAO,CAAC,kBAAkB,eAAe,EACtE,SAAS,CACV,CAAC;oBACF,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC;oBAC7B,OAAO,CAAC,kBAAkB,GAAG,EAAE,CAAC;iBACjC;gBACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;QACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,IAAI,CAAC,iBAAiB;gBAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC,CACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,qCAAqC;IACrC,wBAAwB,CACtB,mBAAqC,EACrC,OAAY;QAEZ,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU;aAC7B,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC;aAC9B,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACjB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,EAAE;gBAC1D,KAAK,EACH,gFAAgF;aACnF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,eAAe;QACb,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC,mBAAmB;YAAE,OAAO;QACtC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU;aAC5B,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;aACxE,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,GAAG,EAAE;gBACP,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,QAAQ,IAAI,CAAC,kBAAkB,CAAC,SAAS,sBAAsB,IAAI,CAAC,mBAAmB,CAAC,SAAS,eAAe,EAChH,SAAS,CACV,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,gBAAgB;oBACtC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,kBAAkB,CAAC,kBAAkB;oBACxC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;gBACrC,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;QACH,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CACF,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,mBAAmB;IACnB,oBAAoB,CAAC,SAA2B,EAAE,UAAU;QAC1D,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;QAClC,IAAI,YAAY,GAAiB;YAC/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,KAAK;YACf,KAAK,EACH,yEAAyE;SAC5E,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU;aACjC,kBAAkB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;aAC3C,SAAS,CACR,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,mBAAmB,IAAI,CAAC,eAAe,CAAC,SAAS,IAC/C,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QACrD,eAAe,EACf,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EACnC,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,eAAe;gBAClC,CAAC,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;YACxC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,EACH,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EACjC,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CACF,CAAC;QACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,uBAAuB;IACvB,iBAAiB,CAAC,GAAQ;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE;YACtE,IAAI,GAAG,EAAE;gBACP,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,QAAQ,GAAG,CAAC,SAAS,IACnB,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAC9B,2BAA2B,CAC5B,CAAC;aACH;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,gBAAgB;IAChB,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,aAAa;IACb,SAAS,CAAC,QAA0B,EAAE,OAAY;QAChD,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,EAAE;YACvC,IAAI,CAAC,iBAAiB;gBACpB,+JAA+J,CAAC;SACnK;aAAM;YACL,IAAI,CAAC,iBAAiB,GAAG,2CAA2C,CAAC;SACtE;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACpC,QAAQ,EACR,MAAM,CAAC,MAAM,CACX,EAAE,EACF;YACE,KAAK,EAAE,8DAA8D;SACtE,CACF,CACF,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;IAC1B,CAAC;IAED,WAAW;IACX,YAAY,CAAC,SAA2B,EAAE,OAAY;QACpD,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,IAAI,CAAC,CAAC;QAC5D,IAAI,YAAY,GAAiB;YAC/B,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,KAAK;YACf,KAAK,EACH,yEAAyE;SAC5E,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,kBAAkB;IAClB,QAAQ,CAAC,SAAkB,KAAK;QAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,aAAa;IACb,QAAQ,CAAC,EAAU;QACjB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CACnD,GAAG,EAAE;YACH,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,yDAAQ,CAAC,GAAG,CAAC,OAAO,EACpB,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EACnC,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,EACD,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,GAAG,EACH,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EACjC,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC;YACF,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IASD,eAAe;IACf,qBAAqB,CAAC,OAAe;QACnC,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC;QACpC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,IAAI,IAAI,IAAI,QAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAQ,EAAE;YAC1C,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;IACH,CAAC;IAED,kCAAkC;IAClC,oBAAoB,CAAC,iBAAsB;QACzC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,uCAAuC;IACvC,2BAA2B;IAE3B,kBAAkB;;QAChB,gBAAI,IAAI,CAAC,kBAAkB,0CAAE,MAAM,0CAAE,MAAM,EAAE;YAC3C,UAAI,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,CAAC,GAAG;gBACtC,IAAI,CAAC,sBAAsB,SAAG,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBACjE,IAAI,CAAC,oBAAoB;oBACvB,WAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,CAAC,EAAE,IAAI,IAAG,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjE,IAAI,CAAC,gBAAgB,SAAG,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,KAAK,CAC3D,CAAC,QACD,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,MAAM,CACvC,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,gBAAgB,SAAG,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC;aACzD;SACF;IACH,CAAC;IACO,OAAO;QACb,OAAO,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAC5C,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI;YACrC,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;IAED,sBAAsB;IACtB,oBAAoB,CAAC,KAAe;QAClC,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC;QACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACpB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,OAAO,CAAC,aAAa,EAAE,CAAC;YACxB,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACjC,IAAI,OAAO,CAAC,KAAK,EAAE;gBACjB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;oBACnB,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,MAAgB,CAAC;gBACtD,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,OAAO,CAAC,aAAa,EAAE,CAAC;aACzB;SACF;IACH,CAAC;IAED,qEAAqE;IAC/D,qBAAqB;;;YACzB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACpB,IACE,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK;gBACjC,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,EACnC;gBACA,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClB,OAAO;aACR;YAED,IAAI,SAAS,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpB,IAAI,SAAS,EAAE;gBACb,IAAI;oBACF,MAAM,IAAI,CAAC,oBAAoB;yBAC5B,cAAc,CACb,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAC1B,SAAS,CAAC,EAAE,EACZ,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,KAAK,CAChB;yBACA,SAAS,EAAE,CAAC;iBAChB;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,QAAQ,GACV,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;wBAChC,CAAC,CAAC,SAAS,CAAC,IAAI;wBAChB,CAAC,OAAC,SAAS,CAAC,IAAI,0CAAE,IAAI,CAAC;oBAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;oBAC5D,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACxB;aACF;YAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBAClC,KAAK,IAAI,UAAU,GAAG,CAAC,EAAE,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAI;oBACvE,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;oBAC1D,IAAI;wBACF,MAAM,IAAI,CAAC,oBAAoB;6BAC5B,cAAc,CACb,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAC1B,WAAW,CAAC,EAAE,EACd,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,KAAK,GAAG,CAAC,CACtB;6BACA,SAAS,EAAE,CAAC;qBAChB;oBAAC,OAAO,GAAG,EAAE;wBACZ,UAAU,EAAE,CAAC;wBACb,IAAI,QAAQ,GACV,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ;4BAClC,CAAC,CAAC,WAAW,CAAC,IAAI;4BAClB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC5B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC;wBAC5D,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACvB,SAAS;qBACV;oBACD,UAAU,EAAE,CAAC;iBACd;gBACD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,0DAA0D,EAC1D,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,EACjC,0DAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAC9B,CAAC;iBACH;aACF;YACD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;;KACF;IAEO,eAAe;QACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CACjB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,QAC5C,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OACxC,eAAe,EACf,SAAS,CACV,CAAC;IACJ,CAAC;IAED,wCAAwC;IAChC,mBAAmB;QACzB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;aAC/B,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;aACnC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAiB,EAAE,EAAE;YAC/C,GAAG,CAAC,WAAW,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;;sFA7wBU,mBAAmB;mGAAnB,mBAAmB;;QC9BhC,yFAC2B;QAE3B,yEACE;QAAA,+GACE;QAOF,yEACE;QAAA,yEACE;QAAA,oFAEiB;QADqB,yJAAS,6BAAyB,IAAC;QACzE,4DAAiB;QACnB,4DAAM;QACN,yEACE;QAAA,4EACE;QADoE,2IAAS,gBAAY,IAAC;QAC1F,iEACF;QAAA,4DAAS;QAET,4EACE;QADyE,2IAAS,iBAAa,IAAC;QAChG,kFACF;QAAA,4DAAS;QAET,6EACE;QADoE,4RAAS,yBAA4B,IAAC;QAC1G,2EACF;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,2EACE;QAAA,2EACE;QAAA,kHACE;QAKF,gNACE;QAwNF,2EACE;QAAA,wHAEE;QAEF,wHAEE;QAEF,8EACE;QADoF,4IAAS,iBAAa,IAAC;QAC3G,6EACF;QAAA,4DAAS;QACX,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;QAEN,+MACE;QAyBF,+MACE;QA8BF,gNACE;QA4HF,+MACE;QAoEF,+MACE;QA2EF,8MACE;;;QA3lBuC,oFAAuB;QAI7C,0DAAiB;QAAjB,+EAAiB;QAUd,0DAAgD;QAAhD,yGAAgD;QAqB7B,2DAAsC;QAAtC,oFAAsC;QAiOrE,0DAAuB;QAAvB,qFAAuB;QAIvB,0DAAuB;QAAvB,qFAAuB;QAGY,0DAAkC;QAAlC,8HAAkC;;6FD7OlE,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;kpBAEU,cAAc;kBAAtB,mDAAK;YACG,SAAS;kBAAjB,mDAAK;YACG,WAAW;kBAAnB,mDAAK;YACc,QAAQ;kBAA3B,oDAAM;mBAAC,UAAU;YACA,aAAa;kBAA9B,oDAAM;mBAAC,QAAQ;;;;;;;;;;;;;;AEjClB;AAAA;AAAO,MAAM,kBAAkB;IAEpB,MAAM,CAAC,UAAU,CAAC,QAAgB;QACrC,OAAO,CAAC,OAAwB,EAA2B,EAAE;YACzD,IAAI,IAAI,GAAQ,OAAO,CAAC,KAAK,CAAC;YAC9B,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS;gBAChD,OAAO;oBACH,eAAe,EAAE;wBACb,eAAe,EAAE,IAAI;wBACrB,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;qBACjD;iBACJ,CAAC;YACN,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,QAAgB;QACxC,OAAO,CAAC,OAAwB,EAA2B,EAAE;YACzD,IAAI,IAAI,GAAQ,OAAO,CAAC,KAAK,CAAC;YAC9B,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,IAAI,OAAO,IAAI,IAAI,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACzC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3D,oBAAoB,EAAE;oBAClB,oBAAoB,EAAE,IAAI;oBAC1B,YAAY,EAAE,GAAG,GAAG,QAAQ;iBAC/B;aACJ,CAAC,CAAC,CAAC,IAAI,CAAC;QACb,CAAC,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,SAAS,CAAC,QAAgB;QACpC,OAAO,CAAC,OAAwB,EAA2B,EAAE;YACzD,IAAI,IAAI,GAAQ,OAAO,CAAC,KAAK,CAAC;YAC9B,IAAI,OAAO,IAAI,IAAI,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACzC,IAAI,IAAI,IAAI,IAAI,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ;oBACtB,OAAO;oBACP,OAAO;wBACH,eAAe,EAAE;4BACb,eAAe,EAAE,IAAI;4BACrB,YAAY,EAAE,CAAC,QAAQ;yBAC1B;qBACJ,CAAC;aACT;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;IACN,CAAC;CACJ;;;;;;;;;;;;;ACnDD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+D;AACD;AACgO;AACvD;AAC7J;AACjB;AACoB;AACD;AACzB;AAC8C;AAC1C;AACF;AACF;AACyB;AACF;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACwC;AACE;AACK;AACH;AACK;AACM;;AAEvD;AACA,0DAA0D;AAC1D,IAAI,4DAAqB;AACzB,IAAI,0DAAmB;AACvB,IAAI,0DAAmB;AACvB,CAAC;AACD,mBAAmB,2DAAoB;AACvC,IAAI,wDAAiB;AACrB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iFAAkB;AACpD;AACA,6CAA6C,4DAAc;AAC3D;AACA;AACA,CAAC;AACD;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,iDAAY;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,0DAAY;AAC9C;AACA,0BAA0B,0DAAY;AACtC;AACA,0BAA0B,0DAAY;AACtC;AACA,mCAAmC,0DAAY;AAC/C;AACA;AACA,sCAAsC,+BAA+B;AACrE;AACA;AACA;AACA,kBAAkB,uCAAuC;AACzD;AACA;AACA;AACA;AACA,iCAAiC,oCAAoC;AACrE;AACA,sCAAsC,mFAAqB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4EAA0B;AACzD;AACA,uCAA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A4B,gDAAgD,gBAAgB,kDAAkD,kBAAkB;AACppB,aAAa;AACb,KAAK,UAAU;AACf,kBAAkB,6DAAe;AACjC,mBAAmB,mEAAY,GAAG,oBAAoB;AACtD,SAAS;AACT,kBAAkB,6DAAe;AACjC,mBAAmB,gEAAS,GAAG,oBAAoB;AACnD,SAAS,GAAG,EAAE,EAAE;;AAEhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAkF,8CAA8C,+DAAwB,CAAC,wDAAiB,GAAG;AAC7K,kCAAkC,+DAAwB,EAAE,mCAAmC;AAC/F;AACA,KAAK,OAAO,wDAAU;AACtB;AACA,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB,KAAK,gBAAgB,UAAU,OAAO,wDAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,wEAAwE,uEAAuE;AAC/I,6BAA6B,+DAAwB,EAAE,8HAA8H,wEAAiC,GAAG;AACzN,yDAAyD,mEAA4B;AACrF,4BAA4B,CAAC,+DAAwB;AACrD,cAAc,uDAAS;AACvB;AACA;AACA;AACA,aAAa;AACb,KAAK,eAAe,EAAE;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,4DAAc;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4DAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,iEAAiB;AAC9B,iBAAiB,gEAAU;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,iDAAY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,4CAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,kDAAK;AACrC;AACA,uBAAuB,kDAAK;AAC5B;AACA;AACA;AACA;AACA,sBAAsB,4DAAI,KAAK,iEAAS;AACxC,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,mCAAmC;AACnE;AACA,qCAAqC,mFAAqB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAK,kEAAkE,8DAAM;AAC5F,gDAAgD,8DAAM;AACtD,YAAY,+CAAE;AACd;AACA,QAAQ,2DAAG,2BAA2B,+EAAwB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kDAAK,CAAC,sDAAS,2BAA2B,sDAAS;AAClE,kBAAkB,8DAAM;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,4DAAM,KAAK,4EAAc;AACjD;AACA;AACA,6CAA6C,2DAAK;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,8DAAQ,gBAAgB,gEAAU;AAC7E,8CAA8C,yDAAG;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,4DAAI;AACzD,qEAAqE,2DAAG;AACxE;AACA;AACA,QAAQ,6DAAK;AACb;AACA,eAAe,kDAAK;AACpB;AACA;AACA;AACA,QAAQ,iEAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,QAAQ,4DAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,6EAAc;AACvD;AACA;AACA;AACA,+BAA+B,mEAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,4DAAM,KAAK,4EAAc;AAChE,uCAAuC,8DAAQ,IAAI,4EAAc;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,2CAA2C,+BAA+B;AAC1E;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,mCAAmC,+BAA+B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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","file":"auction-auction-module-es2015.js","sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport routeTable from '../../../utility/routeTable';\r\nimport { AuctionsListComponent } from './auctions-list/auctions-list.component';\r\nimport { AuctionRegisterationComponent } from './auction-registeration/auction-registeration.component';\r\nimport { AuctionLotCatalogComponent } from './auction-lot-catalog/auction-lot-catalog.component';\r\nimport { EnquiryNowComponent } from './enquiry-now/enquiry-now.component';\r\nimport { ViewLotComponent } from './view-lot/view-lot.component';\r\nimport { AuctionDetailsComponent } from '../../shared/component/auction-details/auction-details.component';\r\nimport { AuctionStatusResolver } from './auction-status-resolver.service';\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: routeTable.public.currentAuction,\r\n    component: AuctionsListComponent,\r\n    data: { title: 'Current Auctions', type: 'CurrentAuction' },\r\n  },\r\n  {\r\n    path: routeTable.public.pastAuction,\r\n    component: AuctionsListComponent,\r\n    data: { title: 'Recent Auctions', type: 'PastAuction' },\r\n  },\r\n  {\r\n    path: routeTable.public.turnKeySale,\r\n    component: AuctionsListComponent,\r\n    data: { title: 'Past Turn Key Sales', type: 'TurnKeySale' },\r\n  },\r\n  {\r\n    path: routeTable.public.machinery,\r\n    component: AuctionsListComponent,\r\n    data: { title: 'Industrial Surplus', type: 'Machinery' },\r\n  },\r\n  {\r\n    path: routeTable.public.featuredPast,\r\n    component: AuctionsListComponent,\r\n    data: { title: 'Featured Past Auctions', type: 'FeaturedPast' },\r\n  },\r\n  {\r\n    path: routeTable.public.publicLink,\r\n    resolve: {\r\n      auctionState: AuctionStatusResolver,\r\n    },\r\n    children: [\r\n      {\r\n        path: '',\r\n        component: AuctionDetailsComponent,\r\n      },\r\n      {\r\n        path: routeTable.public.auctionRegister,\r\n        component: AuctionRegisterationComponent,\r\n      },\r\n      {\r\n        path: routeTable.public.auctionLot,\r\n        data: { lowConnectionNeeded: true },\r\n        children: [\r\n          {\r\n            path: '',\r\n            component: AuctionLotCatalogComponent,\r\n          },\r\n          {\r\n            path: routeTable.public.viewAuctionLotDetail,\r\n            component: ViewLotComponent,\r\n          },\r\n        ],\r\n      },\r\n      {\r\n        path: routeTable.public.enquire,\r\n        component: EnquiryNowComponent,\r\n      },\r\n    ],\r\n  },\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class AuctionRoutingModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { environment } from '../../environments/environment';\r\nimport { map } from 'rxjs/operators';\r\nimport { ApiBaseResponse } from '../models';\r\nimport { Observable } from 'rxjs';\r\nimport { AuctionAnnouncement } from '../models/auctionAnnouncement';\r\n\r\n@Injectable({\r\n  providedIn: 'root'\r\n})\r\nexport class AuctionAnnouncementService {\r\n  private apiUrl: string = environment.apiUrl;\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  getAuctionAnnouncementById(auctionId: number): Observable<AuctionAnnouncement> {\r\n    let param = new HttpParams();\r\n    param = param.append('auctionId', '' + auctionId);\r\n    return this.http.get<ApiBaseResponse<AuctionAnnouncement>>(`${this.apiUrl}/auctionAnnouncement`, { params: param })\r\n      .pipe(map((it) => (it.data)));\r\n  }\r\n\r\n  // this is for public\r\n  getAuctionAnnouncementByCode(auctionCode: string): Observable<AuctionAnnouncement> {\r\n    let param = new HttpParams();\r\n    param = param.append('auctionCode', auctionCode);\r\n    return this.http.get<ApiBaseResponse<AuctionAnnouncement>>(`${this.apiUrl}/auctionAnnouncement`, {\r\n      params: param\r\n    }).pipe(map((it) => (it.data)));\r\n  }\r\n\r\n  addEditRemoveAuctionAnnouncement(auctionId: number, announcement: string, isRemoveAnnouncement: boolean = false): Observable<AuctionAnnouncement> {\r\n    let request: Observable<ApiBaseResponse<AuctionAnnouncement>>;\r\n    if (isRemoveAnnouncement) {\r\n      request = this.http.patch<any>(`${this.apiUrl}/auctionAnnouncement`, {\r\n        auctionId: auctionId\r\n      })\r\n    } else {\r\n      request = this.http.post<any>(`${this.apiUrl}/auctionAnnouncement`, {\r\n        auctionId: auctionId,\r\n        text: announcement\r\n      })\r\n    }\r\n    return request.pipe(map((it) => (it.data)));\r\n  }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { CommonDropdown } from '../../../../models';\r\nimport { CurrentAuctionList } from '../../../../models/auctionList';\r\nimport {\r\n  AuctionService,\r\n  CategoryService,\r\n  AuthenticationService,\r\n  LoaderService,\r\n  SaleTypeService,\r\n} from '../../../../services';\r\nimport constants from '../../../../utility/constants';\r\nimport {  Subscription } from 'rxjs';\r\nimport { HttpParams } from '@angular/common/http';\r\n\r\n@Component({\r\n  selector: 'app-auctions-list',\r\n  templateUrl: './auctions-list.component.html',\r\n  styleUrls: ['./auctions-list.component.css'],\r\n})\r\nexport class AuctionsListComponent implements OnInit {\r\n  showListView = true;\r\n  sectionTitle: string;\r\n  registerBidText: string;\r\n  showPaginator: boolean = false;\r\n  statusValue = constants.common.auctionStatus;\r\n  isShowStatusFilter: boolean = false;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  currentAuctionType: string;\r\n  backgroundPic: string = '';\r\n\r\n  auctionStatuses = constants.common.auctionStatus;\r\n\r\n  auctionType = {\r\n    currentAuction: {\r\n      title: 'CurrentAuction',\r\n      bgPicture: '/assets/images/Current-Auction.jpg',\r\n    },\r\n    pastAuction: {\r\n      title: 'PastAuction',\r\n      bgPicture: '/assets/images/Past-Auctions.jpg',\r\n    },\r\n    turnKeySale: {\r\n      title: 'TurnKeySale',\r\n      bgPicture: '/assets/images/Past-Turn-Key-Sales.jpg',\r\n    },\r\n    machinery: {\r\n      title: 'Machinery',\r\n      bgPicture: '/assets/images/Machinery-Marketplace.jpg',\r\n    },\r\n    featuredPast: {\r\n      title: 'FeaturedPast',\r\n      bgPicture: '/assets/images/Past-Auctions.jpg',\r\n    },\r\n  };\r\n\r\n  private sortOrderKeys = {\r\n    ASCENDING: 'Ascending',\r\n    DESCENDING: 'Descending',\r\n  };\r\n\r\n  private sortByKeys = {\r\n    START_DATE_TIME: 'StartDateTime',\r\n    END_DATE_TIME: 'EndDateTime',\r\n    AUCTION_NAME: 'Name',\r\n  };\r\n\r\n  sortingObject: Array<CommonDropdown> = [\r\n    {\r\n      text: 'Start Date: Ascending',\r\n      value: 1,\r\n    },\r\n    {\r\n      text: 'Start Date: Descending',\r\n      value: 2,\r\n    },\r\n    {\r\n      text: 'End Date: Ascending',\r\n      value: 3,\r\n    },\r\n    {\r\n      text: 'End Date: Descending',\r\n      value: 4,\r\n    },\r\n    {\r\n      text: 'Auction Name: Ascending',\r\n      value: 5,\r\n    },\r\n    {\r\n      text: 'Auction Name: Descending',\r\n      value: 6,\r\n    },\r\n  ];\r\n\r\n  displaySectionDD: Array<CommonDropdown> = [\r\n    {\r\n      value: 1,\r\n      text: 'All',\r\n    },\r\n    {\r\n      value: 2,\r\n      text: 'Current Auctions',\r\n    },\r\n    {\r\n      value: 3,\r\n      text: 'Turn Key Sales',\r\n    },\r\n  ];\r\n\r\n  selectedDisplaySection: number;\r\n\r\n  auctionData: Array<CurrentAuctionList>;\r\n  totalAuction: number;\r\n\r\n  // date functions\r\n  isStartDate: boolean;\r\n  isEndDate: boolean;\r\n\r\n  // paging info\r\n  saleType = 0;\r\n  category = {\r\n    text: '',\r\n    value: 0\r\n  }\r\n  sortModel = {\r\n    text: '',\r\n    value: 0\r\n  };\r\n  searchTerm = '';\r\n  pageNumber = 1;\r\n  pageSize = 20;\r\n  sortBy = '';\r\n  sortOrder = '';\r\n  isPaginated = true;\r\n  onlyActive = false;\r\n  auctionStatus = 0;\r\n  displaySection = [];\r\n  categories: Array<CommonDropdown>;\r\n  searchControl = new FormControl();\r\n  isInquireForm: number =\r\n  constants.common.saletypeRegistrationFormat.inquiryForm;\r\n  params: HttpParams = new HttpParams();\r\n\r\n  isLoggedIn: boolean | null;\r\n  private displaySections = constants.common.displaySection;\r\n\r\n  constructor(\r\n    private auctionService: AuctionService,\r\n    private categoryService: CategoryService,\r\n    private saletypeService: SaleTypeService,\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private authService: AuthenticationService,\r\n    private loader: LoaderService\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.getAuctionType();\r\n    this.getCategories();\r\n    this.getSaleTypes();\r\n\r\n    this.isLoggedIn = this.authService.checkLoggedIn();\r\n\r\n    if (this.auctionStatus == 4) {\r\n      this.sortingObject.splice(0, 2);\r\n    }\r\n\r\n    this.route.queryParams.subscribe((params) => {\r\n      let model = this.filterModel();\r\n      if (params['searchTerm']) {\r\n        model.searchTerm = params['searchTerm']\r\n        this.searchTerm = params['searchTerm'];\r\n      }\r\n      if (params['category']) {\r\n        model.category = params['category']\r\n        this.category.value = parseInt(params['category'])\r\n      }\r\n      if (params['sortBy']) {\r\n        model.sortBy = params['sortBy']\r\n        this.sortBy = params['sortBy'];\r\n      }\r\n      if (params['sortOrder']) {\r\n        model.sortOrder = params['sortOrder']\r\n        this.sortOrder = params['sortOrder'];\r\n        let sortValue = this.getSortValue(this.sortBy, this.sortOrder);\r\n        this.sortModel = this.sortingObject.find(x => x.value === sortValue);\r\n      }\r\n      if (params['saleType']) {\r\n        model.saleType = params['saleType']\r\n        this.saleType = parseInt(params['saleType']);\r\n      }\r\n      if (params['pageNumber']) {\r\n        model.pageNumber = params['pageNumber']\r\n        this.pageNumber = parseInt(params['pageNumber']);\r\n      }\r\n      if (params['auctionStatus']) {\r\n        model.auctionStatus = params['auctionStatus']\r\n        this.auctionStatus = parseInt(params['auctionStatus']);\r\n      }\r\n      this.getCurrentAuctionsData();\r\n    });\r\n    this.searchFilter();\r\n  }\r\n\r\n  ///// this is the method which is responsible for differenciate the type of list to show\r\n  ///// i.e. past or current or turn-key-sale\r\n  getAuctionType() {\r\n    let type: string;\r\n    this.route.data.subscribe((data) => {\r\n      this.sectionTitle = data['title'];\r\n      type = data['type'];\r\n    });\r\n\r\n    let auctionStatus = constants.common.auctionStatus;\r\n    this.currentAuctionType = type;\r\n\r\n    switch (type) {\r\n      case this.auctionType.currentAuction.title:\r\n        this.selectedDisplaySection = 1; // for All\r\n        this.auctionStatus = auctionStatus.liveUpcoming;\r\n        this.displaySection = this.assignDisplaySectionForCurrentAuction();\r\n        this.backgroundPic = this.auctionType.currentAuction.bgPicture;\r\n        break;\r\n      case this.auctionType.turnKeySale.title:\r\n        this.auctionStatus = auctionStatus.past;\r\n        this.displaySection = [this.displaySections.turnKey];\r\n        this.backgroundPic = this.auctionType.turnKeySale.bgPicture;\r\n        break;\r\n      case this.auctionType.pastAuction.title:\r\n        // updated to auctionStatus.archived to default to archived - set auctionStatus.past to revert\r\n        this.auctionStatus = auctionStatus.archived;\r\n        this.displaySection = [this.displaySections.auctionCalender];\r\n        this.backgroundPic = this.auctionType.pastAuction.bgPicture;\r\n        break;\r\n      case this.auctionType.machinery.title:\r\n        this.auctionStatus = auctionStatus.LiveUpcomingPast;\r\n        this.displaySection = [this.displaySections.machinery];\r\n        this.isShowStatusFilter = true;\r\n        this.backgroundPic = this.auctionType.machinery.bgPicture;\r\n        break;\r\n      case this.auctionType.featuredPast.title:\r\n        this.auctionStatus = auctionStatus.featuredPast;\r\n        this.displaySection = [...this.displaySections.featuredPast];\r\n        this.isShowStatusFilter = true;\r\n        this.backgroundPic = this.auctionType.featuredPast.bgPicture;\r\n        break;\r\n    }\r\n  }\r\n\r\n  saletypesForDD: Array<{ text: string; value: number }>;\r\n\r\n  getSaleTypes() {\r\n    const saleType = this.saletypeService\r\n      .getSaletypeForDropDownPublic(this.statusValue.liveUpcoming, [\r\n        this.displaySections.auctionCalender,\r\n        this.displaySections.turnKey,\r\n      ])\r\n      .subscribe((res) => {\r\n        this.saletypesForDD = res;\r\n      });\r\n      this.subscriptions.push(saleType)\r\n  }\r\n\r\n  getCategories() {\r\n    const category = this.categoryService.categoryForDropDown().subscribe((res) => {\r\n      this.categories = res;\r\n    });\r\n    this.subscriptions.push(category)\r\n  }\r\n\r\n  categoryFilter(value) {\r\n    if (value == null) this.category.value = 0;\r\n    else this.category.value = value;\r\n    this.getCurrentAuctionsData();\r\n  }\r\n\r\n  saletypeFilter(value) {\r\n    this.saleType = value;\r\n    this.getCurrentAuctionsData();\r\n  }\r\n\r\n  searchFilter() {\r\n    this.searchControl.valueChanges\r\n      .pipe(debounceTime(700))\r\n      .subscribe((value) => {\r\n        //this.pageNumber = 1;\r\n        this.searchTerm = value;\r\n        this.getCurrentAuctionsData();\r\n      });\r\n  }\r\n\r\n  statusFilter(value: number) {\r\n    this.auctionStatus = value;\r\n    this.getCurrentAuctionsData();\r\n  }\r\n\r\n  displaySectionFilter(value: number) {\r\n    this.selectedDisplaySection = value;\r\n    this.getCurrentAuctionsData();\r\n  }\r\n\r\n  private assignDisplaySectionForCurrentAuction(): number[] {\r\n    switch (this.selectedDisplaySection) {\r\n      case 1:\r\n        return [\r\n          this.displaySections.turnKey,\r\n          this.displaySections.auctionCalender,\r\n        ];\r\n      case 2:\r\n        return [this.displaySections.auctionCalender];\r\n      case 3:\r\n        return [this.displaySections.turnKey];\r\n      default:\r\n        return null;\r\n    }\r\n  }\r\n\r\n  resetSearch() {\r\n    this.searchControl.reset();\r\n  }\r\n\r\n  sortFilter(value) {\r\n    if (value == null) {\r\n      this.sortBy = '';\r\n      this.sortOrder = '';\r\n    } else {\r\n      switch (value) {\r\n        case 1:\r\n          this.sortBy = this.sortByKeys.START_DATE_TIME;\r\n          this.sortOrder = this.sortOrderKeys.ASCENDING;\r\n          break;\r\n        case 2:\r\n          this.sortBy = this.sortByKeys.START_DATE_TIME;\r\n          this.sortOrder = this.sortOrderKeys.DESCENDING;\r\n          break;\r\n        case 3:\r\n          this.sortBy = this.sortByKeys.END_DATE_TIME;\r\n          this.sortOrder = this.sortOrderKeys.ASCENDING;\r\n          break;\r\n        case 4:\r\n          this.sortBy = this.sortByKeys.END_DATE_TIME;\r\n          this.sortOrder = this.sortOrderKeys.DESCENDING;\r\n          break;\r\n        case 5:\r\n          this.sortBy = this.sortByKeys.AUCTION_NAME;\r\n          this.sortOrder = this.sortOrderKeys.ASCENDING;\r\n          break;\r\n        case 6:\r\n          this.sortBy = this.sortByKeys.AUCTION_NAME;\r\n          this.sortOrder = this.sortOrderKeys.DESCENDING;\r\n          break;\r\n      }\r\n    }\r\n    this.getCurrentAuctionsData();\r\n  }\r\n\r\n  getSortValue(sortBy, sortOrder) {\r\n    switch (sortBy) {\r\n      case this.sortByKeys.START_DATE_TIME:\r\n        return sortOrder === this.sortOrderKeys.ASCENDING ? 1 : 2;\r\n      case this.sortByKeys.END_DATE_TIME:\r\n        return sortOrder === this.sortOrderKeys.ASCENDING ? 3 : 4;\r\n      case this.sortByKeys.AUCTION_NAME:\r\n        return sortOrder === this.sortOrderKeys.ASCENDING ? 5 : 6;\r\n      default:\r\n        return null; // Handle the case where sortBy is not recognized.\r\n    }\r\n  }\r\n\r\n  filterModel() {\r\n    return {\r\n      saleType: this.saleType,\r\n      category: this.category.value,\r\n      searchTerm: this.searchTerm,\r\n      pageNumber: this.pageNumber,\r\n      pageSize: this.pageSize,\r\n      sortBy: this.sortBy,\r\n      sortOrder: this.sortOrder,\r\n      isPaginated: this.isPaginated,\r\n      onlyActive: this.onlyActive,\r\n      auctionStatus: this.auctionStatus,\r\n      displaySection:\r\n        this.assignDisplaySectionForCurrentAuction() || this.displaySection,\r\n    };\r\n  }\r\n\r\n  getCurrentAuctionsData() {\r\n    this.showPaginator = false;\r\n    this.loader.showLoader(true);\r\n    let model = this.filterModel();\r\n    const currentParams = { ...this.router.parseUrl(this.router.url).queryParams };\r\n    let paramCopy = {...currentParams}\r\n    const resetPageNumber = (paramName: string) => {\r\n      if (this.pageNumber === 1) {\r\n        return;\r\n      }\r\n      if (!paramCopy[paramName] && model[paramName]) {\r\n        this.pageNumber = 1\r\n        model.pageNumber = 1\r\n      } else if (paramCopy[paramName] && paramCopy[paramName] != model[paramName]) {\r\n        this.pageNumber = 1\r\n        model.pageNumber = 1\r\n      }\r\n    }\r\n    if (model.searchTerm) {\r\n      resetPageNumber('searchTerm')\r\n      currentParams['searchTerm'] = model.searchTerm;\r\n    } else if (!model.searchTerm) {\r\n      delete currentParams['searchTerm']\r\n    }\r\n    if (model.category) {\r\n      resetPageNumber('category')\r\n      currentParams['category'] = model.category;\r\n    } else if (!model.category) {\r\n      delete currentParams['category']\r\n    }\r\n    if (model.sortBy) {\r\n      currentParams['sortBy'] = model.sortBy;\r\n    } else if (!model.sortBy) {\r\n      delete currentParams['sortBy']\r\n    }\r\n    if (model.sortOrder) {\r\n      currentParams['sortOrder'] = model.sortOrder;\r\n    } else if (!model.sortOrder) {\r\n      delete currentParams['sortOrder']\r\n    }\r\n    if (model.saleType) {\r\n      resetPageNumber('saleType')\r\n      currentParams['saleType'] = model.saleType;\r\n    } else if (!model.saleType) {\r\n      delete currentParams['saleType']\r\n    }\r\n    if (model.pageNumber) {\r\n      currentParams['pageNumber'] = model.pageNumber;\r\n    } else if (!model.pageNumber) {\r\n      delete currentParams['pageNumber']\r\n    }\r\n    if (model.auctionStatus) {\r\n      resetPageNumber('auctionStatus')\r\n      currentParams['auctionStatus'] = model.auctionStatus;\r\n    } else if (!model.auctionStatus) {\r\n      delete currentParams['auctionStatus']\r\n    }\r\n    this.router.navigate([], {\r\n      relativeTo: this.route,\r\n      queryParams: currentParams,\r\n    });\r\n    const allCurrentAuctions = this.auctionService.getAllCurrentAuctions(model).subscribe(\r\n      (res) => {\r\n        this.loader.showLoader(false);\r\n        this.showPaginator = true;\r\n        this.auctionData = res.data;\r\n        this.totalAuction = res.totalCount;\r\n      },\r\n      () => {\r\n        this.loader.showLoader(false);\r\n        this.showPaginator = false;\r\n        this.auctionData = null;\r\n        this.totalAuction = 0;\r\n      }\r\n    );\r\n    this.subscriptions.push(allCurrentAuctions)\r\n  }\r\n\r\n  goToRegister(auctionId: number) {\r\n    this.router.navigate([auctionId, 'register'], {\r\n      relativeTo: this.route,\r\n      queryParams: { returnTo: this.router.url },\r\n    });\r\n  }\r\n\r\n  onPageChange(paging: number) {\r\n    this.pageNumber = paging;\r\n    this.getCurrentAuctionsData();\r\n    window.scrollTo({\r\n      top: 0,\r\n      behavior: 'smooth' // You can change this to 'auto' for instant scrolling\r\n    });\r\n  }\r\n\r\n  switchToArchive() {\r\n    this.auctionStatus = this.auctionStatuses.archived;\r\n    this.displaySection = [this.displaySections.auctionCalender];\r\n    this.getCurrentAuctionsData();\r\n  }\r\n\r\n  switchToRecent() {\r\n    this.auctionStatus = this.auctionStatuses.past;\r\n    this.displaySection = [this.displaySections.auctionCalender];\r\n    this.getCurrentAuctionsData();\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<div\r\n  class=\"banner-with-text\"\r\n  [ngStyle]=\"{ 'background-image': 'url(' + backgroundPic + ')' }\"\r\n>\r\n  <div class=\"container\">\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <h1 class=\"hdg\">{{ sectionTitle }}</h1>\r\n        <h5 class=\"sb-hdg\">Auctions</h5>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"blog-wrap\">\r\n  <div class=\"container\">\r\n    <div class=\"row mt-4 pt-1 mb-3\">\r\n      <div class=\"col-auto\">\r\n        <h3 class=\"page-h3 m-0\">{{ sectionTitle }}</h3>\r\n      </div>\r\n      <div class=\"col-auto ml-auto\">\r\n        <button\r\n          class=\"lgv-btn mr-3\"\r\n          [ngClass]=\"{ active: !showListView }\"\r\n          role=\"button\"\r\n          (click)=\"showListView = false\"\r\n        >\r\n          <svg\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            width=\"16\"\r\n            height=\"16\"\r\n            viewBox=\"0 0 16 16\"\r\n          >\r\n            <g fill=\"none\" fill-rule=\"evenodd\">\r\n              <g fill=\"currentColor\" fill-rule=\"nonzero\">\r\n                <path\r\n                  d=\"M1210.335 346.889c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm8.889 0c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm-8.89 1.778h-3.556v3.555h3.555v-3.555zm8.888 0h-3.555v3.555h3.555v-3.555zM1210.335 338c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm8.889 0c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm-8.89 1.778h-3.556v3.555h3.555v-3.555zm8.888 0h-3.555v3.555h3.555v-3.555z\"\r\n                  transform=\"translate(-1205 -338) matrix(-1 0 0 1 2426 0)\"\r\n                />\r\n              </g>\r\n            </g>\r\n          </svg>\r\n        </button>\r\n        <button\r\n          class=\"lgv-btn\"\r\n          [ngClass]=\"{ active: showListView }\"\r\n          role=\"button\"\r\n          (click)=\"showListView = true\"\r\n        >\r\n          <svg\r\n            xmlns=\"http://www.w3.org/2000/svg\"\r\n            width=\"16\"\r\n            height=\"13\"\r\n            viewBox=\"0 0 16 13\"\r\n          >\r\n            <g fill=\"none\" fill-rule=\"evenodd\">\r\n              <g fill=\"currentColor\" fill-rule=\"nonzero\">\r\n                <path\r\n                  d=\"M1266.071 350.143c.513 0 .929.416.929.928 0 .513-.416.929-.929.929h-14.142c-.513 0-.929-.416-.929-.929 0-.512.416-.928.929-.928h14.142zm0-5.572c.513 0 .929.416.929.929 0 .513-.416.929-.929.929h-14.142c-.513 0-.929-.416-.929-.929 0-.513.416-.929.929-.929h14.142zm0-5.571c.513 0 .929.416.929.929 0 .512-.416.928-.929.928h-14.142c-.513 0-.929-.416-.929-.928 0-.513.416-.929.929-.929h14.142z\"\r\n                  transform=\"translate(-1251 -339) matrix(-1 0 0 1 2518 0)\"\r\n                />\r\n              </g>\r\n            </g>\r\n          </svg>\r\n        </button>\r\n      </div>\r\n    </div>\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <div class=\"auction-search\">\r\n          <div\r\n            class=\"form-group mb-4 no-float-fields no-float-with-search search-width\"\r\n          >\r\n            <mat-form-field appearance=\"outline\">\r\n              <input\r\n                matInput\r\n                type=\"text\"\r\n                [(ngModel)]=\"searchTerm\"\r\n                [formControl]=\"searchControl\"\r\n                placeholder=\"Search\"\r\n                maxlength=\"50\"\r\n              />\r\n            </mat-form-field>\r\n            <span\r\n              class=\"search-icon\"\r\n              role=\"button\"\r\n              (click)=\"resetSearch()\"\r\n              *ngIf=\"searchControl.value != null; else showSearch\"\r\n            >\r\n              <img\r\n                src=\"../assets/images/cross.svg\"\r\n                title=\"filter-search-icon\"\r\n                alt=\"filter-clear-icon\"\r\n              />\r\n            </span>\r\n            <ng-template #showSearch>\r\n              <span class=\"search-icon\">\r\n                <img src=\"/assets/images/search-icon2.svg\" />\r\n              </span>\r\n            </ng-template>\r\n          </div>\r\n\r\n          <div class=\"form-group mb-4 no-float-fields auc-width\">\r\n            <mat-select\r\n              [(value)]=\"category.value\"\r\n              (selectionChange)=\"categoryFilter($event.value)\"\r\n              placeholder=\"Auction Category\"\r\n            >\r\n              <mat-option [value]=\"null\">All</mat-option>\r\n              <mat-option\r\n                *ngFor=\"let category of categories\"\r\n                [value]=\"category.value\"\r\n                >{{ category.text }}\r\n              </mat-option>\r\n            </mat-select>\r\n          </div>\r\n\r\n          <div class=\"form-group mb-4 no-float-fields sort-width\">\r\n            <mat-select\r\n              (selectionChange)=\"sortFilter($event.value)\"\r\n              placeholder=\"Sort By\"\r\n              [(value)]=\"sortModel.value\"\r\n            >\r\n              <mat-option [value]=\"null\">All</mat-option>\r\n              <mat-option\r\n                *ngFor=\"let sort of sortingObject\"\r\n                [value]=\"sort.value\"\r\n                >{{ sort.text }}\r\n              </mat-option>\r\n            </mat-select>\r\n          </div>\r\n\r\n          <div\r\n            class=\"form-group mb-4 no-float-fields sort-width\"\r\n            *ngIf=\"isShowStatusFilter\"\r\n          >\r\n            <mat-select\r\n              (selectionChange)=\"statusFilter($event.value)\"\r\n              placeholder=\"Status\"\r\n            >\r\n              <mat-option [value]=\"statusValue.LiveUpcomingPast\" selected\r\n                >All</mat-option\r\n              >\r\n              <mat-option [value]=\"statusValue.liveUpcoming\"\r\n                >Available</mat-option\r\n              >\r\n              <mat-option [value]=\"statusValue.past\">Sold</mat-option>\r\n            </mat-select>\r\n          </div>\r\n\r\n          <ng-container\r\n            *ngIf=\"currentAuctionType === auctionType.currentAuction.title\"\r\n          >\r\n            <div class=\"form-group mb-4 no-float-fields sort-width\">\r\n              <mat-select\r\n                [(value)]=\"saleType\"\r\n                (selectionChange)=\"saletypeFilter($event.value)\"\r\n                placeholder=\"Sale Type\"\r\n              >\r\n                <mat-option [value]=\"0\">All</mat-option>\r\n                <mat-option\r\n                  *ngFor=\"let saletype of saletypesForDD\"\r\n                  [value]=\"saletype.value\"\r\n                  >{{ saletype.text }}\r\n                </mat-option>\r\n              </mat-select>\r\n            </div>\r\n          </ng-container>\r\n\r\n          <ng-container\r\n            *ngIf=\"currentAuctionType == auctionType.pastAuction.title\"\r\n          >\r\n            <div class=\"form-group mb-4\">\r\n              <a\r\n                *ngIf=\"auctionStatus == auctionStatuses.past\"\r\n                role=\"button\"\r\n                role=\"button\"\r\n                (click)=\"switchToArchive()\"\r\n                class=\"btn btn-white-border btnWithMarg btn-full viewAchivedAuction-link\"\r\n              >\r\n                View Archived Auctions\r\n              </a>\r\n            </div>\r\n\r\n            <a\r\n              *ngIf=\"auctionStatus == auctionStatuses.archived\"\r\n              role=\"button\"\r\n              role=\"button\"\r\n              (click)=\"switchToRecent()\"\r\n              class=\"btn btn-white-border btnWithMarg btn-full viewAchivedAuction-link\"\r\n            >\r\n              View Recent Auctions\r\n            </a>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div\r\n      class=\"empty-state-container empty-pad-2\"\r\n      *ngIf=\"this.totalAuction == 0; else showTable\"\r\n    >\r\n      <div class=\"empty-state-content\">\r\n        <img\r\n          alt=\"empty-state\"\r\n          src=\"../../../../assets/images/empty-state-icon.svg\"\r\n        />\r\n        <h3 class=\"_heading\">No Auction Found</h3>\r\n      </div>\r\n    </div>\r\n\r\n    <ng-template #showTable>\r\n      <ng-container *ngIf=\"currentAuctionType != auctionType.turnKeySale.title\">\r\n        <div class=\"row gutter-16 auctionPagesCard\" id=\"auctionPagesCard\">\r\n          <div class=\"container\">\r\n            <div class=\"row\">\r\n              <div class=\"col-12\">\r\n                <app-paginator\r\n                  [paginationId]=\"'server'\"\r\n                  [currentPage]=\"pageNumber\"\r\n                  [pageSize]=\"pageSize\"\r\n                  (page)=\"onPageChange($event)\"\r\n                  *ngIf=\"totalAuction > pageSize\"\r\n                ></app-paginator>\r\n              </div>\r\n            </div>\r\n          </div>\r\n          <div\r\n            class=\"col-12 auctions-outer-mobile-list\"\r\n            [ngClass]=\"{ 'col-md-6 col-lg-4': !showListView }\"\r\n            *ngFor=\"\r\n              let item of auctionData\r\n                | paginate\r\n                  : {\r\n                      id: 'server',\r\n                      itemsPerPage: pageSize,\r\n                      currentPage: pageNumber,\r\n                      totalItems: totalAuction\r\n                    }\r\n            \"\r\n          >\r\n            <auction-card\r\n              [auctionData]=\"item\"\r\n              [listView]=\"showListView\"\r\n              [routeType]=\"null\"\r\n            ></auction-card>\r\n          </div>\r\n\r\n          <div class=\"container\">\r\n            <div class=\"row\">\r\n              <div class=\"col-12\">\r\n                <app-paginator\r\n                  [paginationId]=\"'server'\"\r\n                  [currentPage]=\"pageNumber\"\r\n                  [pageSize]=\"pageSize\"\r\n                  (page)=\"onPageChange($event)\"\r\n                  *ngIf=\"totalAuction > pageSize\"\r\n                ></app-paginator>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <ng-container *ngIf=\"currentAuctionType == auctionType.turnKeySale.title\">\r\n        <div class=\"container\">\r\n          <div class=\"row\">\r\n            <div class=\"col-12\">\r\n              <app-paginator\r\n                [paginationId]=\"'server1'\"\r\n                [currentPage]=\"pageNumber\"\r\n                [pageSize]=\"pageSize\"\r\n                (page)=\"onPageChange($event)\"\r\n                *ngIf=\"totalAuction > pageSize\"\r\n              ></app-paginator>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"turnKeyCards\">\r\n          <div class=\"turnHdg\">\r\n            <h1>PAST TURN KEY SALES</h1>\r\n          </div>\r\n          <div class=\"turnCardsInner\">\r\n            <div\r\n              class=\"eachTurnCards\"\r\n              *ngFor=\"\r\n                let auction of auctionData\r\n                  | paginate\r\n                    : {\r\n                        id: 'server1',\r\n                        itemsPerPage: pageSize,\r\n                        currentPage: pageNumber,\r\n                        totalItems: totalAuction\r\n                      }\r\n              \"\r\n            >\r\n              <div class=\"row\">\r\n                <div class=\"col-lg-6 leftWrap mb-3 mb-lg-0\">\r\n                  <img\r\n                    alt=\"Cover Photo\"\r\n                    AuctionDefaultImage\r\n                    *ngIf=\"auction\"\r\n                    [image]=\"auction.coverPhoto\"\r\n                  />\r\n                </div>\r\n                <div class=\"col-lg-6 rightWrap\">\r\n                  <div class=\"inner\">\r\n                    <div class=\"forLogo\">\r\n                      <img\r\n                        class=\"logo\"\r\n                        alt=\"Client Logo\"\r\n                        AuctionDefaultImage\r\n                        *ngIf=\"auction\"\r\n                        [image]=\"auction.clientLogo\"\r\n                      />\r\n                    </div>\r\n                    <div class=\"badge-type forBadge\">\r\n                      <span class=\"card-badge-colored\">{{\r\n                        auction.saleTypePublicName\r\n                      }}</span>\r\n                    </div>\r\n                    <h1 class=\"name\">{{ auction.title }}</h1>\r\n                    <p class=\"des\" [innerHTML]=\"auction.tagline\"></p>\r\n                    <p\r\n                      class=\"location\"\r\n                      *ngIf=\"\r\n                        auction.saleType.isDetailPageInHouse &&\r\n                        auction.locations\r\n                      \"\r\n                    >\r\n                      {{ auction.locations }}\r\n                    </p>\r\n                    <p\r\n                      class=\"dateTime\"\r\n                      [innerHtml]=\"\r\n                        auction?.saleType?.auctionDate\r\n                          | auctionDateFormat\r\n                            : auction?.auctionStatus\r\n                            : auction?.timeZoneName\r\n                            : auction?.startDateTime\r\n                            : auction?.endDateTime\r\n                            : auction?.saleType?.dateText\r\n                      \"\r\n                    ></p>\r\n                    <div class=\"forDeatils\">\r\n                      <button\r\n                        type=\"button\"\r\n                        class=\"btn btn-colored\"\r\n                        [routerLink]=\"['/', auction.auctionCode]\"\r\n                      >\r\n                        View Details\r\n                      </button>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <div class=\"container\">\r\n              <div class=\"row\">\r\n                <div class=\"col-12\">\r\n                  <app-paginator\r\n                    [paginationId]=\"'server1'\"\r\n                    [currentPage]=\"pageNumber\"\r\n                    [pageSize]=\"pageSize\"\r\n                    (page)=\"onPageChange($event)\"\r\n                    *ngIf=\"totalAuction > pageSize\"\r\n                  ></app-paginator>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n    </ng-template>\r\n\r\n    <!-- turn Sale kay page start here -->\r\n    <div class=\"empty-state-container empty-pad-2 d-none\">\r\n      <div class=\"empty-state-content\">\r\n        <img\r\n          alt=\"empty-state\"\r\n          src=\"../../../../assets/images/empty-state-icon.svg\"\r\n        />\r\n        <h3 class=\"_heading\">\r\n          There are no current active listings. <br />\r\n          Check back for future Turn Key Sales.\r\n        </h3>\r\n      </div>\r\n    </div>\r\n    <!-- turn Sale kay page end here -->\r\n  </div>\r\n</div>\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n  Resolve,\r\n  ActivatedRouteSnapshot,\r\n  RouterStateSnapshot,\r\n} from '@angular/router';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport { AuctionCurrentState } from '../../../models';\r\nimport routeTable from '../../../utility/routeTable';\r\n\r\n@Injectable()\r\nexport class AuctionStatusResolver implements Resolve<AuctionCurrentState> {\r\n  auctionCodeParam = routeTable.public.publicLink;\r\n  constructor(\r\n    private auctionService: AuctionService,\r\n    private loader: LoaderService\r\n  ) {}\r\n\r\n  resolve(\r\n    route: ActivatedRouteSnapshot,\r\n    state: RouterStateSnapshot\r\n  ): Promise<AuctionCurrentState> {\r\n    this.loader.showLoader(true);\r\n    return new Promise((resolve) => {\r\n      this.auctionService\r\n        .getAuctionCurrentStatus(\r\n          route.paramMap.get(this.auctionCodeParam.split(':')[1])\r\n        )\r\n        .toPromise()\r\n        .then((res) => {\r\n          this.loader.showLoader(false);\r\n          resolve(res);\r\n        })\r\n        .catch(() => {\r\n          this.loader.showLoader(false);\r\n          resolve(null);\r\n        });\r\n    });\r\n  }\r\n}\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport {\r\n  AbstractControl,\r\n  FormControl,\r\n  FormGroup,\r\n  ValidatorFn,\r\n  Validators,\r\n} from '@angular/forms';\r\nimport { ExportToCsv } from 'export-to-csv';\r\nimport { TextFileValidators } from '../../../core/validators/text-file-validators';\r\nimport { AdminAuctionList } from '../../../models/adminAuctionList';\r\nimport constants from '../../../utility/constants';\r\nimport { ImportResultService } from '../service/import-result.service';\r\nimport {  Subscription } from 'rxjs';\r\nexport enum FileType {\r\n  AuctionUser = 1,\r\n  LotResult,\r\n  ErrorLog,\r\n}\r\n\r\n@Component({\r\n  selector: 'app-import-result',\r\n  templateUrl: './import-result.component.html',\r\n  styleUrls: ['./import-result.component.css'],\r\n})\r\nexport class ImportResultComponent implements OnInit {\r\n  @Input() auctionInfo: AdminAuctionList;\r\n\r\n  processCompleted: boolean = false;\r\n  showErrors: boolean = false;\r\n  showSuccess: boolean = false;\r\n\r\n  importForm: FormGroup;\r\n\r\n  importFileType = FileType;\r\n\r\n  fileSize: string = constants.admin.csvUploadSetting.lotImportCsvFileMaxSize;\r\n  fileFormat: string = constants.admin.csvUploadSetting.lotImportCsvFileType;\r\n  fileExtension: string =\r\n    constants.admin.csvUploadSetting.lotImportCsvFileExtension;\r\n\r\n  submitting: boolean = false;\r\n  isLoading: boolean = false;\r\n\r\n  errorsInFiles: {\r\n    auctionUserErrors?: string;\r\n    lotResultErrors?: string;\r\n  };\r\n\r\n  noOfLotsImported: number = 0;\r\n  noOfUsersImported: number = 0;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  private validatorsForAuctionUser: ValidatorFn[] = [\r\n    TextFileValidators.sizeCheck(this.fileSize),\r\n    TextFileValidators.textExtension(this.fileExtension),\r\n  ];\r\n\r\n  private validatorsForLotResult: ValidatorFn[] = [\r\n    TextFileValidators.sizeCheck(this.fileSize),\r\n    TextFileValidators.textExtension(this.fileExtension),\r\n  ];\r\n\r\n  constructor(private importResult: ImportResultService) {}\r\n\r\n  ngOnInit(): void {\r\n    this.initiateForm();\r\n    this.checkAuctionUsers();\r\n  }\r\n\r\n  private initiateForm() {\r\n    this.importForm = new FormGroup({\r\n      auctionUser: new FormControl(null, [\r\n        Validators.required,\r\n        ...this.validatorsForAuctionUser,\r\n      ]),\r\n      lotResult: new FormControl(null, [\r\n        Validators.required,\r\n        ...this.validatorsForLotResult,\r\n      ]),\r\n    });\r\n  }\r\n\r\n  private checkAuctionUsers() {\r\n    this.isLoading = true;\r\n    const aucUsers = this.importResult.checkAuctionUsers(this.auctionInfo.id).subscribe(\r\n      (res) => {\r\n        if (res) {\r\n          this.importForm.controls.auctionUser.setValidators(\r\n            this.validatorsForAuctionUser\r\n          );\r\n          this.importForm.controls.auctionUser.updateValueAndValidity();\r\n        }\r\n        this.isLoading = false;\r\n      },\r\n      () => (this.isLoading = false)\r\n    );\r\n    this.subscriptions.push(aucUsers);\r\n  }\r\n\r\n  downloadCsvFile(fileType: number) {\r\n    let headers = [];\r\n    let fileName: string = '';\r\n    let exportedData = [];\r\n\r\n    switch (fileType) {\r\n      case this.importFileType.AuctionUser:\r\n        headers = [\r\n          'Bidder Number',\r\n          'Company',\r\n          'First Name',\r\n          'Last Name',\r\n          'Address Line 1',\r\n          'Address Line 2',\r\n          'City',\r\n          'State',\r\n          'Postal',\r\n          'Country',\r\n          'Phone',\r\n          'Fax',\r\n          'Email',\r\n        ];\r\n        fileName = `Sample_AuctionUser_${this.auctionInfo.auctionCode}`;\r\n        exportedData = new Array(headers.length).fill('');\r\n        this.generateCsv(headers, exportedData, fileName);\r\n        break;\r\n      case this.importFileType.LotResult:\r\n        headers = [\r\n          'Lot Number',\r\n          'Description',\r\n          'Amount',\r\n          'Bidder Number',\r\n          'Location',\r\n        ];\r\n        fileName = `Sample_LotResult_${this.auctionInfo.auctionCode}`;\r\n        exportedData = new Array(headers.length).fill('');\r\n        this.generateCsv(headers, exportedData, fileName);\r\n        break;\r\n      case this.importFileType.ErrorLog:\r\n        fileName = `ErrorLog_${this.auctionInfo.auctionCode}`;\r\n        for (const key in this.errorsInFiles) {\r\n          headers.push(key);\r\n          exportedData.push(this.errorsInFiles[key]);\r\n        }\r\n        this.generateCsv(headers, exportedData, fileName, true);\r\n        break;\r\n    }\r\n  }\r\n\r\n  private generateCsv(\r\n    headers: string[],\r\n    data: any,\r\n    fileName: string,\r\n    isErrorFile: boolean = false\r\n  ) {\r\n    const errorOptions = {\r\n      filename: fileName,\r\n      showLabels: true,\r\n      useKeysAsHeaders: false,\r\n      headers: headers,\r\n      fieldSeparator: '',\r\n      quoteStrings: '',\r\n      useTextFile: true,\r\n    };\r\n\r\n    const options = {\r\n      filename: fileName,\r\n      showLabels: true,\r\n      useKeysAsHeaders: false,\r\n      headers: headers,\r\n    };\r\n    const csvExporter = new ExportToCsv(isErrorFile ? errorOptions : options);\r\n    if (data) csvExporter.generateCsv(data);\r\n  }\r\n\r\n  uploadLotResult(files: FileList) {\r\n    let control = this.importForm.controls.lotResult;\r\n    if (files.length > 0) {\r\n      control.setValue(files[0]);\r\n      control.updateValueAndValidity();\r\n      control.markAsTouched();\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n\r\n  uploadAuctionUser(files: FileList) {\r\n    let control = this.importForm.controls.auctionUser;\r\n    if (files.length > 0) {\r\n      control.setValue(files[0]);\r\n      control.updateValueAndValidity();\r\n      control.markAsTouched();\r\n    }\r\n  }\r\n\r\n  removeFile(control: AbstractControl) {\r\n    control.reset();\r\n  }\r\n\r\n  async uploadFiles() {\r\n    this.submitting = true;\r\n    if (this.importForm.invalid) return;\r\n    this.submitting = false;\r\n\r\n    this.isLoading = true;\r\n\r\n    this.processCompleted = false;\r\n    this.showErrors = false;\r\n    this.showSuccess = false;\r\n\r\n    let lotResultFile = this.importForm.getRawValue().lotResult;\r\n    let auctionUserFile = this.importForm.getRawValue().auctionUser;\r\n\r\n    if (auctionUserFile) {\r\n      try {\r\n        this.noOfUsersImported = await this.importResult\r\n          .uploadAuctionUsers(this.auctionInfo.id, auctionUserFile)\r\n          .toPromise();\r\n      } catch (error) {\r\n        this.isLoading = false;\r\n        this.processCompleted = true;\r\n        this.showErrors = true;\r\n        this.showSuccess = false;\r\n        this.errorsInFiles = { auctionUserErrors: error };\r\n        return;\r\n      }\r\n    }\r\n\r\n    if (lotResultFile) {\r\n      try {\r\n        this.noOfLotsImported = await this.importResult\r\n          .uploadLotResults(this.auctionInfo.id, lotResultFile)\r\n          .toPromise();\r\n      } catch (error) {\r\n        this.isLoading = false;\r\n        this.processCompleted = true;\r\n        this.showErrors = true;\r\n        this.showSuccess = false;\r\n        this.errorsInFiles = { lotResultErrors: error };\r\n        return;\r\n      }\r\n    }\r\n\r\n    this.isLoading = false;\r\n    this.processCompleted = true;\r\n    this.showErrors = false;\r\n    this.showSuccess = true;\r\n  }\r\n}\r\n","<app-loader [showLoader]=\"isLoading\"></app-loader>\r\n\r\n<ng-container *ngIf=\"processCompleted; else uploadSection\">\r\n  <div class=\"importResultWrap importFailed text-center\" *ngIf=\"showErrors\">\r\n    <img class=\"topIcon\" alt=\"icon\" src=\"../assets/images/cancel.svg\" />\r\n    <h3 class=\"hdg\">Import Failed</h3>\r\n    <p class=\"des\">\r\n      To investigate the issues please download the log file, fix errors &\r\n      upload again.\r\n    </p>\r\n    <button\r\n      class=\"btn btn-colored importBtn text-center\"\r\n      role=\"button\"\r\n      (click)=\"downloadCsvFile(importFileType.ErrorLog)\"\r\n    >\r\n      <img alt=\"icon\" src=\"../assets/images/downloadCloud.svg\" /> Download Log\r\n      File\r\n    </button>\r\n  </div>\r\n  <div class=\"importResultWrap importSuccess text-center\" *ngIf=\"showSuccess\">\r\n    <img\r\n      class=\"topIcon\"\r\n      alt=\"icon\"\r\n      src=\"../assets/images/auction-success.svg\"\r\n    />\r\n    <h3 class=\"hdg\">Import Successful</h3>\r\n    <p class=\"des\">\r\n      {{ noOfUsersImported + \" Users\" }} |\r\n      {{ noOfLotsImported + \" Winning Lots\" }} Imported\r\n    </p>\r\n    <ng-content select=\"[takeToAuctionButton]\"></ng-content>\r\n  </div>\r\n</ng-container>\r\n\r\n<!-- this is suppose to upload section  -->\r\n<ng-template #uploadSection>\r\n  <div class=\"importAuctionUserHeader\">\r\n    <div class=\"row\">\r\n      <div class=\"col-md-8\">\r\n        <h3>Registered Users</h3>\r\n        <p>Import registered users to map them with winning lots</p>\r\n      </div>\r\n      <div class=\"col-md-4 text-md-right\">\r\n        <a\r\n          class=\"btn btn-text px-0\"\r\n          role=\"button\"\r\n          (click)=\"downloadCsvFile(importFileType.AuctionUser)\"\r\n        >\r\n          <img alt=\"download\" src=\"../assets/images/icDownload.svg\" />\r\n          <span>Download Template</span>\r\n        </a>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"importUpload\">\r\n    <h4>Upload File</h4>\r\n    <div class=\"importUploadBtn\">\r\n      <button\r\n        class=\"btn btn-colored\"\r\n        role=\"button\"\r\n        (click)=\"browserUser.click()\"\r\n      >\r\n        <svg\r\n          width=\"16px\"\r\n          height=\"15px\"\r\n          viewBox=\"0 0 16 15\"\r\n          version=\"1.1\"\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n        >\r\n          <g\r\n            id=\"Page-1\"\r\n            stroke=\"none\"\r\n            stroke-width=\"1\"\r\n            fill=\"none\"\r\n            fill-rule=\"evenodd\"\r\n          >\r\n            <g\r\n              id=\"Create_New_Auction_Display_Details\"\r\n              transform=\"translate(-608.000000, -975.000000)\"\r\n              fill=\"#F7F7F7\"\r\n            >\r\n              <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n                <path\r\n                  d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n                  id=\"Combined-shape-1226\"\r\n                ></path>\r\n              </g>\r\n            </g>\r\n          </g>\r\n        </svg>\r\n        Browse\r\n      </button>\r\n\r\n      <span class=\"browseFileName\">\r\n        <span class=\"mr-1\">\r\n          {{\r\n            importForm.controls.auctionUser.value\r\n              ? importForm.controls.auctionUser.value.name\r\n              : \"No File Chosen\"\r\n          }}\r\n        </span>\r\n        <img\r\n          alt=\"cross\"\r\n          *ngIf=\"importForm.controls.auctionUser.value\"\r\n          src=\"../assets/images/cross.svg\"\r\n          role=\"button\"\r\n          (click)=\"removeFile(importForm.controls.auctionUser)\"\r\n        />\r\n      </span>\r\n      <control-messages\r\n        [isFormSubmitted]=\"submitting\"\r\n        [control]=\"importForm.controls.auctionUser\"\r\n      ></control-messages>\r\n    </div>\r\n    <div>\r\n      <input\r\n        class=\"btn btn-colored browse-btn d-none\"\r\n        accept=\".{{ fileExtension }}\"\r\n        type=\"file\"\r\n        (change)=\"uploadAuctionUser($event.target.files)\"\r\n        text=\"Browse\"\r\n        #browserUser\r\n      />\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"importAuctionUserHeader\">\r\n    <div class=\"row\">\r\n      <div class=\"col-md-8\">\r\n        <h3>Winning Lot Data</h3>\r\n        <p>Import data for winning lots</p>\r\n      </div>\r\n      <div\r\n        class=\"col-md-4 text-md-right\"\r\n        role=\"button\"\r\n        (click)=\"downloadCsvFile(importFileType.LotResult)\"\r\n      >\r\n        <a class=\"btn btn-text px-0\">\r\n          <img alt=\"\" src=\"../assets/images/icDownload.svg\" />\r\n          <span>Download Template</span>\r\n        </a>\r\n      </div>\r\n    </div>\r\n  </div>\r\n  <div class=\"importUpload border-0\">\r\n    <h4>Upload File</h4>\r\n    <div class=\"importUploadBtn\">\r\n      <button class=\"btn btn-colored\" role=\"button\" (click)=\"winning.click()\">\r\n        <svg\r\n          width=\"16px\"\r\n          height=\"15px\"\r\n          viewBox=\"0 0 16 15\"\r\n          version=\"1.1\"\r\n          xmlns=\"http://www.w3.org/2000/svg\"\r\n          xmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n        >\r\n          <g\r\n            id=\"Page-1\"\r\n            stroke=\"none\"\r\n            stroke-width=\"1\"\r\n            fill=\"none\"\r\n            fill-rule=\"evenodd\"\r\n          >\r\n            <g\r\n              id=\"Create_New_Auction_Display_Details\"\r\n              transform=\"translate(-608.000000, -975.000000)\"\r\n              fill=\"#F7F7F7\"\r\n            >\r\n              <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n                <path\r\n                  d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n                  id=\"Combined-shape-1226\"\r\n                ></path>\r\n              </g>\r\n            </g>\r\n          </g>\r\n        </svg>\r\n        Browse\r\n      </button>\r\n\r\n      <span class=\"browseFileName\">\r\n        <span class=\"mr-1\">\r\n          {{\r\n            importForm.controls.lotResult.value\r\n              ? importForm.controls.lotResult.value.name\r\n              : \"No File Chosen\"\r\n          }}\r\n        </span>\r\n        <img\r\n          alt=\"cross\"\r\n          src=\"../assets/images/cross.svg\"\r\n          *ngIf=\"importForm.controls.lotResult.value\"\r\n          role=\"button\"\r\n          (click)=\"removeFile(importForm.controls.lotResult)\"\r\n        />\r\n      </span>\r\n      <control-messages\r\n        [isFormSubmitted]=\"submitting\"\r\n        [control]=\"importForm.controls.lotResult\"\r\n      ></control-messages>\r\n    </div>\r\n    <div>\r\n      <input\r\n        class=\"btn btn-colored browse-btn d-none\"\r\n        accept=\".{{ fileExtension }}\"\r\n        type=\"file\"\r\n        (change)=\"uploadLotResult($event.target.files)\"\r\n        text=\"Browse\"\r\n        #winning\r\n      />\r\n    </div>\r\n  </div>\r\n\r\n  <ng-container *ngIf=\"importForm.invalid && submitting\">\r\n    <p class=\"error-msg mb-4\">Please resolve all the error(s) first</p>\r\n  </ng-container>\r\n\r\n  <div class=\"footerBtns\">\r\n    <ng-content select=\"[cancelButton]\"></ng-content>\r\n    <button class=\"btn btn-colored\" role=\"button\" (click)=\"uploadFiles()\">\r\n      Import\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport constants from '../../../../utility/constants';\r\nimport { CommonDropdown, GetAuctionStep1 } from '../../../../models';\r\nimport { LoaderService, LotService, AddLotModel } from '../../../../services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport {  Subscription } from 'rxjs';\r\n@Component({\r\n  selector: 'app-lot-form',\r\n  templateUrl: './lot-form.component.html',\r\n  styleUrls: ['./lot-form.component.css'],\r\n})\r\nexport class LotFormComponent implements OnInit {\r\n  @Input() auctionId: number;\r\n  @Input() lotId: number;\r\n  @Input() auctionData: GetAuctionStep1;\r\n  @Output('lotFormStep1Completed') step1Completed = new EventEmitter<any>();\r\n\r\n  loading: boolean = false;\r\n  publishLoading: boolean = false;\r\n  submitting: boolean = false;\r\n\r\n  private lotType: number = 1;\r\n\r\n  lotForm: FormGroup;\r\n\r\n  lotsForDD: Array<CommonDropdown>;\r\n\r\n  fieldMaxLengthShort: number = constants.common.validations.maxLength50;\r\n  mobileNumberLength: number =\r\n    constants.common.validations.maxLengthMobileNumber;\r\n  fieldVeryShortMaxLength: number = constants.common.validations.maxLength10;\r\n  fieldMaxLength: number = constants.common.validations.maxLength100;\r\n  fieldMaxLength200: number = constants.common.validations.maxLength200;\r\n  fieldMaxLengthMedium: number = constants.common.validations.maxLength500;\r\n  fieldMaxLengthLong: number = constants.common.validations.maxLength1500;\r\n  fieldMaxLengthLonger: number = constants.common.validations.maxLength2500;\r\n  fieldMaxLengthLongest: number = constants.common.validations.maxLength8000;\r\n  fieldLengthForPrices: number = 3;\r\n  isDisabled: boolean;\r\n  message: string;\r\n  private subscriptions: Array<Subscription> = [];\r\n  constructor(\r\n    private loaderService: LoaderService,\r\n    private lotService: LotService,\r\n    private toastr: ToastrService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.initiatelotForm();\r\n    this.lotsListingForDD();\r\n\r\n    if (this.lotId) this.getLotDataById();\r\n  }\r\n\r\n  private initiatelotForm() {\r\n    this.lotForm = new FormGroup({\r\n      id: new FormControl(0),\r\n      lotNumbers: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldVeryShortMaxLength),\r\n        AppValidators.checkLotNumber,\r\n      ]),\r\n      lotNumberAfterWhichThisWillBeAdded: new FormControl('', [\r\n        AppValidators.noWhitespace,\r\n        Validators.maxLength(this.fieldVeryShortMaxLength),\r\n      ]),\r\n      description: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldMaxLengthLongest),\r\n      ]),\r\n      location: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldMaxLength200),\r\n      ]),\r\n      category: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldMaxLengthShort),\r\n      ]),\r\n      consigner: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.maxLength(this.fieldMaxLengthShort),\r\n      ]),\r\n      reserve: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        AppValidators.onlyNumeric\r\n      ]),\r\n      quantity: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n        AppValidators.onlyNumeric,\r\n      ]),\r\n      openingPrice: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        AppValidators.onlyNumeric\r\n      ]),\r\n      isDeleted: new FormControl(false),\r\n    });\r\n  }\r\n\r\n  private lotsListingForDD() {\r\n    this.lotService\r\n      .getLotsByAuction(this.auctionId, this.lotType)\r\n      .toPromise()\r\n      .then((response: CommonDropdown[]) => {\r\n        this.lotsForDD = response;\r\n      });\r\n  }\r\n\r\n  private getLotDataById() {\r\n    this.loaderService.showLoader(true);\r\n    const vlots = this.lotService.viewLotById(this.lotId).subscribe(\r\n      (res) => {\r\n        this.mapDataToForm(res);\r\n        this.loaderService.showLoader(false);\r\n      },\r\n      () => {\r\n        this.loaderService.showLoader(false);\r\n      }\r\n    );\r\n    this.subscriptions.push(vlots);\r\n  }\r\n\r\n  mapDataToForm(lotData: any) {\r\n    this.lotForm.patchValue({\r\n      id: lotData.id,\r\n      lotNumbers: lotData.lotNumber,\r\n      description: lotData.description,\r\n      location: lotData.location,\r\n      category: lotData.category,\r\n      consigner: lotData.consignor,\r\n      openingPrice: lotData.openingPrice,\r\n      reserve: lotData.reservePrice,\r\n      quantity: lotData.quantity,\r\n      lotNumberAfterWhichThisWillBeAdded:\r\n        lotData.lotNumberAfterWhichThisWillBeAdded,\r\n    });\r\n\r\n    if (lotData.addedInBulkLotId) this.lotForm.controls.reserve.disable();\r\n  }\r\n\r\n  private createAddLotModel(isPublishLot): AddLotModel {\r\n    let formValues = this.lotForm.getRawValue();\r\n    let model: AddLotModel = {\r\n      isUpdateAndPublish: isPublishLot,\r\n      auctionId: this.auctionId,\r\n      consignor: formValues.consigner,\r\n      category: formValues.category,\r\n      description: formValues.description,\r\n      location: formValues.location,\r\n      lotId: this.lotId || 0,\r\n      lotNumber: formValues.lotNumbers,\r\n      lotType: this.lotType,\r\n      openingPrice:\r\n        formValues.openingPrice != null ? +formValues.openingPrice : null,\r\n      reservePrice: formValues.reserve != null ? +formValues.reserve : null,\r\n      quantity: +formValues.quantity,\r\n      lotNumberAfterWhichThisWillBeAdded:\r\n        +formValues.lotNumberAfterWhichThisWillBeAdded || 0,\r\n    };\r\n    return model;\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n\r\n  addUpdateLot(isPublishLot) {\r\n    this.submitting = true;\r\n\r\n    if (this.lotForm.invalid) return;\r\n\r\n    this.submitting = false;\r\n    if (isPublishLot) this.publishLoading = true;\r\n    else this.loading = true;\r\n\r\n    const clots = this.lotService\r\n      .addUpdateLot(this.createAddLotModel(isPublishLot))\r\n      .subscribe(\r\n        (res: any) => {\r\n          if (isPublishLot) this.publishLoading = false;\r\n          else this.loading = false;\r\n          this.lotForm.reset();\r\n          this.stepCompleted(res);\r\n        },\r\n        (err) => {\r\n          if (isPublishLot) this.publishLoading = false;\r\n          else this.loading = false;\r\n          this.toastr.error(err, 'Error');\r\n        }\r\n      );\r\n      this.subscriptions.push(clots);\r\n  }\r\n\r\n  getClosingBeginsData(auctionEndDate) {\r\n    let currentDate = new Date().getTime();\r\n    let auctionendDate = new Date(auctionEndDate).getTime();\r\n    if (currentDate < auctionendDate && this.lotsForDD?.length > 0) {\r\n      this.isDisabled = false;\r\n      this.message = 'applicable only when lot closing has not started.';\r\n      return true;\r\n    } else if (currentDate < auctionendDate && this.lotsForDD?.length == 0) {\r\n      this.isDisabled = true;\r\n      this.message =\r\n        'No lot present in this auction, Lot will be added at first position.';\r\n      return true;\r\n    } else if (currentDate > auctionendDate && this.lotsForDD?.length > 0) {\r\n      this.isDisabled = true;\r\n      this.message =\r\n        'Auction closing Started, So lot will be added in the last.';\r\n      return true;\r\n    } else if (currentDate > auctionendDate && this.lotsForDD?.length == 0) {\r\n      this.isDisabled = true;\r\n      this.message =\r\n        'Auction closing Started, So lot will be added at first position.';\r\n      return true;\r\n    }\r\n  }\r\n\r\n  stepCompleted(lotData: any) {\r\n    this.step1Completed.emit(lotData);\r\n  }\r\n}\r\n","<form [formGroup]=\"lotForm\">\r\n  <div class=\"row\">\r\n    <ng-content select=\".lotType\"></ng-content>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <label class=\"form-label\">Lot Number *</label>\r\n        <mat-form-field appearance=\"outline\">\r\n          <input\r\n            matInput\r\n            required\r\n            type=\"text\"\r\n            placeholder=\"Add Lot Number\"\r\n            formControlName=\"lotNumbers\"\r\n            [maxlength]=\"fieldVeryShortMaxLength\"\r\n            [disabled]=\"lotId\"\r\n            [readonly]=\"lotId\"\r\n          />\r\n        </mat-form-field>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"lotForm.controls.lotNumbers\"\r\n        ></control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div\r\n      class=\"col-md-12\"\r\n      *ngIf=\"auctionData.auctionStatus !== 1 && lotsForDD?.length\"\r\n    >\r\n      <div class=\"form-group input-with-tooltip\">\r\n        <label class=\"form-label\"\r\n          >Enter Lot Number after which this new lot should be added</label\r\n        >\r\n        <mat-form-field appearance=\"outline\">\r\n          <mat-select formControlName=\"lotNumberAfterWhichThisWillBeAdded\">\r\n            <mat-option value=\"\" disabled>Select</mat-option>\r\n            <mat-option *ngFor=\"let item of lotsForDD\" [value]=\"item?.value\">{{\r\n              item?.text\r\n            }}</mat-option>\r\n          </mat-select>\r\n        </mat-form-field>\r\n        <mat-hint>applicable only when lot closing has not started.</mat-hint>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"lotForm.controls.lotNumberAfterWhichThisWillBeAdded\"\r\n        >\r\n        </control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div\r\n      class=\"col-md-12\"\r\n      *ngIf=\"\r\n        auctionData.auctionStatus == 1 &&\r\n        getClosingBeginsData(auctionData.endDateTimeUtc)\r\n      \"\r\n    >\r\n      <div class=\"form-group input-with-tooltip\">\r\n        <label class=\"form-label\"\r\n          >Enter Lot Number after which this new lot should be added</label\r\n        >\r\n        <mat-form-field appearance=\"outline\">\r\n          <mat-select\r\n            formControlName=\"lotNumberAfterWhichThisWillBeAdded\"\r\n            [disabled]=\"isDisabled\"\r\n          >\r\n            <mat-option value=\"\" disabled>Select</mat-option>\r\n            <mat-option *ngFor=\"let item of lotsForDD\" [value]=\"item?.value\">{{\r\n              item?.text\r\n            }}</mat-option>\r\n          </mat-select>\r\n        </mat-form-field>\r\n        <mat-hint>{{ message }}</mat-hint>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"lotForm.controls.lotNumberAfterWhichThisWillBeAdded\"\r\n        >\r\n        </control-messages>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <div class=\"min-100\">\r\n          <label class=\"form-label\">Description *</label>\r\n          <mat-form-field appearance=\"outline\">\r\n            <textarea\r\n              matInput\r\n              required\r\n              placeholder=\"Enter description\"\r\n              formControlName=\"description\"\r\n              [maxlength]=\"fieldMaxLengthLongest\"\r\n            ></textarea>\r\n          </mat-form-field>\r\n          <control-messages\r\n            [isFormSubmitted]=\"submitting\"\r\n            [control]=\"lotForm.controls.description\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <div class=\"min-140\">\r\n          <label class=\"form-label\">Location *</label>\r\n          <mat-form-field appearance=\"outline\">\r\n            <input\r\n              matInput\r\n              required\r\n              type=\"text\"\r\n              placeholder=\"Add Location\"\r\n              formControlName=\"location\"\r\n              [maxlength]=\"fieldMaxLength200\"\r\n            />\r\n          </mat-form-field>\r\n          <control-messages\r\n            [isFormSubmitted]=\"submitting\"\r\n            [control]=\"lotForm.controls.location\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <div class=\"min-140\">\r\n          <label class=\"form-label\">Lot Category *</label>\r\n          <mat-form-field appearance=\"outline\">\r\n            <input\r\n              matInput\r\n              required\r\n              type=\"text\"\r\n              placeholder=\"Add Lot Category\"\r\n              formControlName=\"category\"\r\n              [maxlength]=\"fieldMaxLengthShort\"\r\n            />\r\n          </mat-form-field>\r\n          <control-messages\r\n            [isFormSubmitted]=\"submitting\"\r\n            [control]=\"lotForm.controls.category\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <div class=\"min-140\">\r\n          <label class=\"form-label\">Consignor</label>\r\n          <mat-form-field appearance=\"outline\">\r\n            <input\r\n              matInput\r\n              type=\"text\"\r\n              placeholder=\"Add Consignor\"\r\n              formControlName=\"consigner\"\r\n              [maxlength]=\"fieldMaxLengthShort\"\r\n            />\r\n          </mat-form-field>\r\n          <control-messages\r\n            [isFormSubmitted]=\"submitting\"\r\n            [control]=\"lotForm.controls.Consignor\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <div class=\"min-140\">\r\n          <label class=\"form-label\"\r\n            >Reserve (in {{ auctionData.currencyName }}) *</label\r\n          >\r\n          <mat-form-field appearance=\"outline\">\r\n            <input\r\n              matInput\r\n              required\r\n              type=\"number\"\r\n              min=\"0.01\"\r\n              placeholder=\"Add Reserve\"\r\n              formControlName=\"reserve\"\r\n              [maxlength]=\"fieldLengthForPrices\"\r\n            />\r\n          </mat-form-field>\r\n          <control-messages\r\n            [isFormSubmitted]=\"submitting\"\r\n            [control]=\"lotForm.controls.reserve\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <div class=\"min-140\">\r\n          <label class=\"form-label\">Quantity *</label>\r\n          <mat-form-field appearance=\"outline\">\r\n            <input\r\n              matInput\r\n              required\r\n              type=\"number\"\r\n              placeholder=\"Enter Quantity\"\r\n              formControlName=\"quantity\"\r\n            />\r\n          </mat-form-field>\r\n          <control-messages\r\n            [isFormSubmitted]=\"submitting\"\r\n            [control]=\"lotForm.controls.quantity\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <div class=\"min-140\">\r\n          <label class=\"form-label\"\r\n            >Starting Price/ Opening Price (in\r\n            {{ auctionData.currencyName }}) *</label\r\n          >\r\n          <mat-form-field appearance=\"outline\">\r\n            <input\r\n              matInput\r\n              required\r\n              type=\"number\"\r\n              min=\"0.01\"\r\n              placeholder=\"Enter Price\"\r\n              formControlName=\"openingPrice\"\r\n              [maxlength]=\"fieldLengthForPrices\"\r\n            />\r\n          </mat-form-field>\r\n          <control-messages\r\n            [isFormSubmitted]=\"submitting\"\r\n            [control]=\"lotForm.controls.openingPrice\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <p class=\"error-msg my-2\" *ngIf=\"lotForm.invalid && submitting\">\r\n    Please resolve error(s) first\r\n  </p>\r\n\r\n  <div class=\"image-popup-wrap pt-4 mt-2\">\r\n    <ng-content select=\".closeModalButton\"></ng-content>\r\n\r\n    <ng-container *ngIf=\"!lotId\">\r\n      <button\r\n        type=\"submit\"\r\n        class=\"btn btn-colored font-15 ml-2\"\r\n        [disabled]=\"publishLoading || loading\"\r\n        role=\"button\"\r\n        (click)=\"addUpdateLot(false)\"\r\n      >\r\n        <span\r\n          *ngIf=\"loading\"\r\n          class=\"spinner-border spinner-border-sm mr-1\"\r\n        ></span>\r\n        {{ lotId ? \"Update\" : \"Add\" }} Lot\r\n      </button>\r\n    </ng-container>\r\n\r\n    <ng-container *ngIf=\"lotId\">\r\n      <button\r\n        type=\"submit\"\r\n        class=\"btn btn-colored font-15 ml-2\"\r\n        [disabled]=\"loading || publishLoading\"\r\n        role=\"button\"\r\n        (click)=\"addUpdateLot(true)\"\r\n      >\r\n        <span\r\n          *ngIf=\"publishLoading\"\r\n          class=\"spinner-border spinner-border-sm mr-1\"\r\n        ></span>\r\n        {{ lotId ? \"Update\" : \"Add\" }} Lot & Publish\r\n      </button>\r\n    </ng-container>\r\n  </div>\r\n</form>\r\n","import { Component, OnInit, TemplateRef, Input } from '@angular/core';\r\nimport { AuctionAnnouncement } from '../../../../models/auctionAnnouncement';\r\nimport { FormControl, Validators, AbstractControl } from '@angular/forms';\r\nimport constants from '../../../../utility/constants';\r\nimport { AuctionAnnouncementService } from '../../../../services/auction-announcement.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { BsModalService, ModalOptions, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { LoaderService } from '../../../../services';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { GetAuctionStep1 } from '../../../../models';\r\n\r\nexport enum AnnouncementMode {\r\n  Add = 1,\r\n  Edit,\r\n  Remove\r\n}\r\n\r\n@Component({\r\n  selector: 'app-auction-announcement',\r\n  templateUrl: './auction-announcement.component.html',\r\n  styleUrls: ['./auction-announcement.component.css']\r\n})\r\nexport class AuctionAnnouncementComponent implements OnInit {\r\n  @Input() auctionId: number;\r\n  @Input() auction: GetAuctionStep1;\r\n  announcementModes = AnnouncementMode;\r\n  currentAnnouncementMode: number;\r\n  auctionAnnoucement: AuctionAnnouncement;\r\n  announcementText: string;\r\n  announcementControl: FormControl;\r\n  isEditorCharLimitReached: boolean;\r\n  announcementMaxLength: number = constants.common.validations.maxLength1000;\r\n\r\n  modalRef: BsModalRef;\r\n  private subscriptions: Array<Subscription> = [];\r\n  constructor(\r\n    private auctionAnnoucementService: AuctionAnnouncementService,\r\n    private toastr: ToastrService,\r\n    private modalService: BsModalService,\r\n    private loaderService: LoaderService\r\n  ) { }\r\n\r\n  ngOnInit(): void {\r\n    this.announcementControl = new FormControl(null, [Validators.required]);\r\n    this.getAnnouncement();\r\n  }\r\n\r\n  openAnnouncementModal(template: TemplateRef<any>, mode: number) {\r\n    this.currentAnnouncementMode = mode;\r\n    let modalOptions: ModalOptions = {\r\n      backdrop: 'static',\r\n      keyboard: false,\r\n      class:\r\n        'custom-popup form-modal modal-dialog modal-dialog-centered',\r\n    };\r\n    this.modalRef = this.modalService.show(template, modalOptions);\r\n  }\r\n\r\n  public editorContent(event: { data: string, limitReached: boolean }, control: AbstractControl) {\r\n    control.patchValue(event.data);\r\n    control.markAsDirty();\r\n    if (event.limitReached)\r\n      control.setErrors({ invalid: true })\r\n    else\r\n      control.setErrors(null);\r\n  }\r\n\r\n  getAnnouncement() {\r\n    const announcments = this.auctionAnnoucementService.getAuctionAnnouncementById(this.auctionId).subscribe((res) => {\r\n      this.auctionAnnoucement = (res?.isActive) ? res : null;\r\n      this.announcementText = (res?.isActive) ? res?.text : null;\r\n      this.announcementControl.patchValue(res?.text);\r\n    })\r\n    this.subscriptions.push(announcments);\r\n  }\r\n\r\n  announcementChanges() {\r\n    if (this.announcementControl.invalid)\r\n      return;\r\n\r\n    this.loaderService.showLoader(true);\r\n    let currentMode: string;\r\n    let request: Observable<any>;\r\n    let announcementText = this.announcementControl.value;\r\n    if (this.currentAnnouncementMode === this.announcementModes.Add) {\r\n      request = this.auctionAnnoucementService.addEditRemoveAuctionAnnouncement(this.auctionId, announcementText);\r\n      currentMode = \"Added\";\r\n    } else if (this.currentAnnouncementMode === this.announcementModes.Edit) {\r\n      request = this.auctionAnnoucementService.addEditRemoveAuctionAnnouncement(this.auctionId, announcementText);\r\n      currentMode = \"Edited\";\r\n    } else if (this.currentAnnouncementMode === this.announcementModes.Remove) {\r\n      request = this.auctionAnnoucementService.addEditRemoveAuctionAnnouncement(this.auctionId, announcementText, true);\r\n      currentMode = \"Removed\";\r\n    }\r\n    if (request) {\r\n      const reqst = request.subscribe((res) => {\r\n        this.loaderService.showLoader(false);\r\n        this.toastr.success(`Announcement ${currentMode} Successfully`, constants.common.toast.successTitle, constants.common.toast.config);\r\n        this.auctionAnnoucement = (res?.isActive) ? res : null;\r\n        this.announcementText = (res?.isActive) ? res?.text : null;\r\n        this.announcementControl.patchValue(res?.text);\r\n        this.closeModal();\r\n      }, (err) => {\r\n        this.loaderService.showLoader(false);\r\n        this.toastr.error(err, constants.common.toast.errorTitle, constants.common.toast.config);\r\n      })\r\n      this.subscriptions.push(reqst);\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n\r\n  closeModal() {\r\n    if (this.modalRef) {\r\n      this.modalRef.hide();\r\n    }\r\n  }\r\n}\r\n","<div class=\"col-12 lotAnnouncementWrap\">\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <div class=\"alertAnnouncement\">\r\n        <div class=\"leftZone\">\r\n          <img alt=\"announcement\" src=\"../assets/images/announcement.svg\" />\r\n        </div>\r\n        <div class=\"rightZone\">\r\n          <div class=\"dtlWrap\">\r\n            <h3 class=\"hdg\" *ngIf=\"!auctionAnnoucement\">Add Announcement</h3>\r\n            <p class=\"sbHdg\" *ngIf=\"!auctionAnnoucement\">\r\n              Added announcement will be visible on public website on lot\r\n              catalog page.\r\n            </p>\r\n            <p\r\n              class=\"des\"\r\n              *ngIf=\"auctionAnnoucement\"\r\n              [innerHTML]=\"auctionAnnoucement?.text\"\r\n            ></p>\r\n          </div>\r\n          <div class=\"ctaWrap\" *ngIf=\"!auctionAnnoucement\">\r\n            <button\r\n              class=\"btn btn-white-border\"\r\n              type=\"button\"\r\n              role=\"button\"\r\n              (click)=\"\r\n                openAnnouncementModal(annoucementModal, announcementModes.Add)\r\n              \"\r\n            >\r\n              + Add Announcement\r\n            </button>\r\n          </div>\r\n\r\n          <div class=\"ctaWrapEdit\" *ngIf=\"auctionAnnoucement\">\r\n            <div class=\"for-icons\">\r\n              <a\r\n                class=\"hover-icon edit-icon-colored mr-2 custom-tooltip custom-tooltip2\"\r\n                #tooltip=\"matTooltip\"\r\n                matTooltip=\"Edit\"\r\n                matTooltipClass=\"custom-tooltip-icon\"\r\n                [matTooltipPosition]=\"'above'\"\r\n                role=\"button\"\r\n                (click)=\"\r\n                  openAnnouncementModal(\r\n                    annoucementModal,\r\n                    announcementModes.Edit\r\n                  )\r\n                \"\r\n              ></a>\r\n\r\n              <a\r\n                class=\"hover-icon del-icon-colored mr-2 custom-tooltip custom-tooltip2\"\r\n                #tooltip=\"matTooltip\"\r\n                matTooltip=\"Delete\"\r\n                matTooltipClass=\"custom-tooltip-icon\"\r\n                [matTooltipPosition]=\"'above'\"\r\n                role=\"button\"\r\n                (click)=\"\r\n                  openAnnouncementModal(\r\n                    annoucementModal,\r\n                    announcementModes.Remove\r\n                  )\r\n                \"\r\n              ></a>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #annoucementModal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">\r\n      {{\r\n        currentAnnouncementMode === announcementModes.Add\r\n          ? \"Add\"\r\n          : currentAnnouncementMode === announcementModes.Edit\r\n          ? \"Edit\"\r\n          : \"Remove\"\r\n      }}\r\n      Announcement\r\n    </h4>\r\n    <button\r\n      type=\"button\"\r\n      class=\"close pull-right p-0 m-0\"\r\n      aria-label=\"Close\"\r\n      role=\"button\"\r\n      (click)=\"closeModal()\"\r\n    >\r\n      <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body pt-0 pb-4\">\r\n    <ng-container\r\n      *ngIf=\"\r\n        currentAnnouncementMode === announcementModes.Remove;\r\n        else showEditor\r\n      \"\r\n    >\r\n      <h6 class=\"modal-inner-hdg mb-3\">\r\n        Are you sure want to remove announcement ?\r\n      </h6>\r\n    </ng-container>\r\n    <ng-template #showEditor>\r\n      <p class=\"announceNote mb-3\">\r\n        Add announcement for - '{{ auction.title }}'\r\n      </p>\r\n      <p class=\"des announceEditor editorMin250\">\r\n        <editor\r\n          [initialValue]=\"announcementText\"\r\n          (editorData)=\"editorContent($event, announcementControl)\"\r\n          [characterLimit]=\"announcementMaxLength\"\r\n        ></editor>\r\n      </p>\r\n      <p class=\"announceNote mb-0\">\r\n        Note more than {{ announcementMaxLength }} characters\r\n      </p>\r\n    </ng-template>\r\n    <div class=\"delete-btns mt-4 pt-3 pb-3\">\r\n      <button\r\n        class=\"btn btn-white-border mr-3\"\r\n        role=\"button\"\r\n        (click)=\"closeModal()\"\r\n      >\r\n        Cancel\r\n      </button>\r\n\r\n      <button\r\n        class=\"btn btn-colored min-110\"\r\n        [disabled]=\"announcementControl.invalid\"\r\n        role=\"button\"\r\n        (click)=\"announcementChanges()\"\r\n      >\r\n        {{\r\n          currentAnnouncementMode === announcementModes.Add\r\n            ? \"Add\"\r\n            : currentAnnouncementMode === announcementModes.Edit\r\n            ? \"Update\"\r\n            : \"Remove\"\r\n        }}\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n  TemplateRef,\r\n} from '@angular/core';\r\nimport { FormGroup, FormControl, Validators, FormArray } from '@angular/forms';\r\nimport constants from '../../../utility/constants';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport { ImageValidators } from '../../../core/validators/image-validators';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Router } from '@angular/router';\r\nimport { GetAuctionStep2 } from '../../../models';\r\nimport messages from '../../../utility/messages';\r\nimport {\r\n  AuctionImageUploadService,\r\n  ImageFile,\r\n} from '../../../services/auction-image-upload.service';\r\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport {  Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-add-auction-step2',\r\n  templateUrl: './add-auction-step2.component.html',\r\n  styleUrls: ['./add-auction-step2.component.css'],\r\n})\r\nexport class AddAuctionStep2Component implements OnInit {\r\n  @Input('isEditMode') editMode: boolean;\r\n  @Input('auctionStatus') auctionStatus: number;\r\n  @Input('auctionId') auctionId: number;\r\n  @Output('goToStep') step: EventEmitter<number> = new EventEmitter();\r\n  showView = false;\r\n\r\n  // step 2 form\r\n  createAuctionForm2: FormGroup;\r\n\r\n  submitted: boolean = false;\r\n\r\n  // edit Directory\r\n  addEditDeleteSliderImages: Array<{ id: number; name: File | string }>;\r\n  addEditDeletePhotoGallery: Array<{ id: number; name: File | string }>;\r\n\r\n  //image settings\r\n  coverPhotoSize: string;\r\n  coverPhotoFormat: string;\r\n  clientLogoSize: string;\r\n  clientLogoFormat: string;\r\n  sliderImageSize: string;\r\n  sliderImageFormat: string;\r\n  photoGallerySize: string;\r\n  photoGalleryFormat: string;\r\n\r\n  //images with thumbnails\r\n  coverPhotoString: string;\r\n  clientLogoString: string;\r\n\r\n  sliderImages: Array<any> = [];\r\n  galleryImages: Array<any> = [];\r\n\r\n  resultantSliderImages: ImageFile[] = [];\r\n  resultantGalleryImages: ImageFile[] = [];\r\n\r\n  photoGalleryAsset: number;\r\n  sliderImageAsset: number;\r\n\r\n  auctionStatuses = constants.common.auctionStatus;\r\n  modalRef: BsModalRef;\r\n\r\n  sliderErrorLogs: Array<string> = [];\r\n  galleryErrorLogs: Array<string> = [];\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  constructor(\r\n    private auctionService: AuctionService,\r\n    private toastr: ToastrService,\r\n    private router: Router,\r\n    private loader: LoaderService,\r\n    private auctionImageUploader: AuctionImageUploadService,\r\n    private modalService: BsModalService\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.initializeSettings();\r\n    this.initiateForm2();\r\n    if (this.auctionId) {\r\n      this.bindFormData();\r\n    } else {\r\n      this.showView = true;\r\n    }\r\n  }\r\n\r\n  private initializeSettings() {\r\n    this.coverPhotoSize = constants.admin.uploadSetting.coverPhotoMaxSize;\r\n    this.coverPhotoFormat = constants.admin.uploadSetting.coverPhotoType;\r\n    this.clientLogoSize = constants.admin.uploadSetting.clientLogoMaxSize;\r\n    this.clientLogoFormat = constants.admin.uploadSetting.clientLogoType;\r\n\r\n    this.sliderImageSize = constants.admin.uploadSetting.sliderImageMaxSize;\r\n    this.sliderImageFormat = constants.admin.uploadSetting.sliderImageType;\r\n    this.photoGallerySize = constants.admin.uploadSetting.photoGalleryMaxSize;\r\n    this.photoGalleryFormat = constants.admin.uploadSetting.photoGalleryType;\r\n\r\n    this.sliderImageAsset = constants.admin.assetType.sliderImage;\r\n    this.photoGalleryAsset = constants.admin.assetType.photoGallery;\r\n  }\r\n\r\n  private initiateForm2() {\r\n    this.createAuctionForm2 = new FormGroup({\r\n      coverPhoto: new FormControl(null, [\r\n        ImageValidators.sizeCheck(this.coverPhotoSize),\r\n        ImageValidators.imageFormat(this.coverPhotoFormat),\r\n        this.conditionalRequired.bind(this),\r\n      ]),\r\n      clientLogo: new FormControl(null, [\r\n        ImageValidators.sizeCheck(this.clientLogoSize),\r\n        ImageValidators.imageFormat(this.clientLogoFormat),\r\n        this.conditionalRequired.bind(this),\r\n      ]),\r\n    });\r\n  }\r\n\r\n  bindFormData() {\r\n    const step1 = this.auctionService.getAuctionStepIi(this.auctionId).subscribe(\r\n      (res) => {\r\n        this.bindingData(res);\r\n        this.showView = true;\r\n      },\r\n      () => {\r\n        this.showView = true;\r\n        this.onCancel();\r\n      }\r\n    );\r\n    this.subscriptions.push(step1);\r\n  }\r\n\r\n  bindingData(value: GetAuctionStep2) {\r\n    this.coverPhotoString = value.coverPhoto;\r\n    this.clientLogoString = value.clientLogo;\r\n    this.createAuctionForm2.patchValue({\r\n      clientLogo: value.clientLogo,\r\n      coverPhoto: value.coverPhoto,\r\n    });\r\n    this.addEditDeleteSliderImages = value.sliderImagesThumbnail;\r\n    this.addEditDeletePhotoGallery = value.photoGalleryThumbnail;\r\n  }\r\n\r\n  private conditionalRequired(formControl: FormControl) {\r\n    if (\r\n      this.auctionStatus !== this.auctionStatuses.past ||\r\n      this.auctionStatus !== this.auctionStatuses.archived\r\n    )\r\n      return Validators.required(formControl);\r\n    return null;\r\n  }\r\n\r\n  // files handling\r\n  uploadCoverPhoto(files: FileList) {\r\n    let reader = new FileReader();\r\n    this.coverPhotoString = null;\r\n    let control = this.createAuctionForm2.controls.coverPhoto;\r\n    if (files.length > 0) {\r\n      this.createAuctionForm2.patchValue({ coverPhoto: files[0] });\r\n      control.markAsTouched();\r\n      control.updateValueAndValidity();\r\n      if (control.valid) {\r\n        reader.readAsDataURL(files[0]);\r\n        reader.onload = () => {\r\n          this.coverPhotoString = reader.result as string;\r\n        };\r\n      } else {\r\n        this.coverPhotoString = null;\r\n        control.markAsTouched();\r\n      }\r\n    }\r\n  }\r\n\r\n  uploadClientLogo(files: FileList) {\r\n    let reader = new FileReader();\r\n    this.clientLogoString = null;\r\n    let control = this.createAuctionForm2.controls.clientLogo;\r\n    if (files.length > 0) {\r\n      this.createAuctionForm2.patchValue({ clientLogo: files[0] });\r\n      control.markAsTouched();\r\n      control.updateValueAndValidity();\r\n      if (control.valid) {\r\n        reader.readAsDataURL(files[0]);\r\n        reader.onload = () => {\r\n          this.clientLogoString = reader.result as string;\r\n        };\r\n      } else {\r\n        this.clientLogoString = null;\r\n        control.markAsTouched();\r\n      }\r\n    }\r\n  }\r\n\r\n  onCancel() {\r\n    if (this.auctionStatus == 1) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'live' },\r\n      });\r\n    } else if (this.auctionStatus == 2) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'upcoming' },\r\n      });\r\n    } else if (this.auctionStatus == 4) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'recent' },\r\n      });\r\n    } else {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'pending' },\r\n      });\r\n    }\r\n  }\r\n\r\n  goToStep(step: number = 1) {\r\n    this.step.emit(step);\r\n  }\r\n\r\n  async save() {\r\n    this.submitted = true;\r\n\r\n    if (this.createAuctionForm2.invalid) {\r\n      return;\r\n    }\r\n\r\n    let numOfSliderImages = this.resultantSliderImages.length;\r\n    let numOfGalleryImages = this.resultantGalleryImages.length;\r\n\r\n    if (\r\n      this.createAuctionForm2.pristine &&\r\n      numOfSliderImages === 0 &&\r\n      numOfGalleryImages === 0\r\n    ) {\r\n      this.formDone();\r\n    }\r\n\r\n    this.submitted = false;\r\n\r\n    this.loader.showLoader(true);\r\n\r\n    let clientImage = this.createAuctionForm2.value.clientLogo;\r\n    let coverImage = this.createAuctionForm2.value.coverPhoto;\r\n    // upload logo and cover photo\r\n    if (typeof clientImage !== 'string' || typeof coverImage !== 'string') {\r\n      let formData = new FormData();\r\n      formData.append('AuctionId', '' + this.auctionId);\r\n      if(clientImage)\r\n      { \r\n        if(typeof clientImage === 'string')\r\n        {\r\n          formData.append('ClientLogo', clientImage);\r\n        } \r\n        else\r\n        {\r\n          formData.append('ClientLogo', clientImage, clientImage?.name);\r\n        }\r\n      }\r\n      if(coverImage)\r\n      { \r\n        if(typeof coverImage === 'string')\r\n        {\r\n          formData.append('CoverPhoto', coverImage);\r\n        } \r\n        else\r\n        {\r\n          formData.append('CoverPhoto', coverImage, coverImage?.name);\r\n        }\r\n      }\r\n      await this.auctionService.uploadCoverLogoImages(formData).toPromise();\r\n    }\r\n\r\n    // upload slider images\r\n    if (this.resultantSliderImages && numOfSliderImages) {\r\n      let failedImages = [];\r\n      this.sliderErrorLogs = [];\r\n      for (let processNum = 1; processNum <= numOfSliderImages; ) {\r\n        let image: ImageFile = this.resultantSliderImages[processNum - 1];\r\n        try {\r\n          await this.auctionImageUploader\r\n            .uploadImage(\r\n              this.auctionId,\r\n              image.id,\r\n              image.name,\r\n              image.order,\r\n              this.sliderImageAsset\r\n            )\r\n            .toPromise();\r\n        } catch (err) {\r\n          processNum++;\r\n          let fileName =\r\n            typeof image.name === 'string' ? image.name : image.name.name;\r\n          this.sliderErrorLogs.push(`issue for image ${fileName} : ${err}`);\r\n          failedImages.push(err);\r\n          continue;\r\n        }\r\n        processNum++;\r\n      }\r\n      if (failedImages && failedImages.length > 0) {\r\n        this.toastr.error(\r\n          'Error(s) occured while uploading images, please see logs',\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      this.loader.showLoader(false);\r\n      return;}\r\n    }\r\n\r\n    // upload gallery images\r\n    if (this.resultantGalleryImages && numOfGalleryImages) {\r\n      let failedImages = [];\r\n      this.galleryErrorLogs = [];\r\n      for (let processNum = 1; processNum <= numOfGalleryImages; ) {\r\n        let image: ImageFile = this.resultantGalleryImages[processNum - 1];\r\n        try {\r\n          await this.auctionImageUploader\r\n            .uploadImage(\r\n              this.auctionId,\r\n              image.id,\r\n              image.name,\r\n              image.order,\r\n              this.photoGalleryAsset\r\n            )\r\n            .toPromise();\r\n        } catch (err) {\r\n          processNum++;\r\n          let fileName =\r\n            typeof image.name === 'string' ? image.name : image.name.name;\r\n          this.galleryErrorLogs.push(`issue for image ${fileName} : ${err}`);\r\n          failedImages.push(err);\r\n          continue;\r\n        }\r\n        processNum++;\r\n      }\r\n      if (failedImages && failedImages.length > 0) {\r\n        let msg = failedImages.join('\\n');\r\n        this.toastr.error(\r\n          'Error(s) occured while uploading images, please see logs',\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      this.loader.showLoader(false);\r\n      return;}\r\n    }\r\n\r\n    this.formDone();\r\n  }\r\n\r\n  private formDone() {\r\n    this.sliderImages = [];\r\n    this.galleryImages = [];\r\n    this.clientLogoString = null;\r\n    this.coverPhotoString = null;\r\n    this.loader.showLoader(false);\r\n    this.toastr.success(\r\n      this.editMode ? messages.addAuction2.updated : messages.addAuction2.saved,\r\n      constants.common.toast.successTitle,\r\n      constants.common.toast.config\r\n    );\r\n    this.goToStep(3);\r\n  }\r\n  syncSliderImages() {\r\n    this.loader.showLoader(true);\r\n    const simages = this.auctionService.syncSliderImages(this.auctionId).subscribe(\r\n      (res: any) => {\r\n        if (res) {\r\n          this.toastr.success(\r\n            'Slider Images Upload Successfully.',\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n        } else {\r\n          this.toastr.error(\r\n            'No image added from the server',\r\n            constants.common.toast.errorTitle,\r\n            constants.common.toast.config\r\n          );\r\n        }\r\n        this.loader.showLoader(false);\r\n        this.closeModal();\r\n      },\r\n      (err) => {\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.loader.showLoader(false);\r\n      }\r\n    );\r\n    this.subscriptions.push(simages);\r\n  }\r\n\r\n  syncGalleryImages() {\r\n    this.loader.showLoader(true);\r\n    const gimages = this.auctionService.syncGalleryImages(this.auctionId).subscribe(\r\n      (res: any) => {\r\n        if (res) {\r\n          this.toastr.success(\r\n            'Gallery Images Upload Successfully.',\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n        } else {\r\n          this.toastr.error(\r\n            'No image added from the server',\r\n            constants.common.toast.errorTitle,\r\n            constants.common.toast.config\r\n          );\r\n        }\r\n        this.loader.showLoader(false);\r\n        this.closeModal();\r\n      },\r\n      (err) => {\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.loader.showLoader(false);\r\n      }\r\n    );\r\n    this.subscriptions.push(gimages);\r\n  }\r\n\r\n  closeModal() {\r\n    if (this.modalRef) this.modalRef.hide();\r\n  }\r\n\r\n  openSyncSliderModal(template: TemplateRef<any>) {\r\n    if (this.resultantSliderImages.length) {\r\n      let modalOptions: ModalOptions = {\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class: 'custom-popup delete-modal modal-dialog modal-dialog-centered',\r\n      };\r\n      this.modalRef = this.modalService.show(template, modalOptions);\r\n    } else {\r\n      this.syncSliderImages();\r\n    }\r\n  }\r\n\r\n  openSyncGalleryModal(template: TemplateRef<any>) {\r\n    if (this.resultantGalleryImages.length) {\r\n      let modalOptions: ModalOptions = {\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class: 'custom-popup delete-modal modal-dialog modal-dialog-centered',\r\n      };\r\n      this.modalRef = this.modalService.show(template, modalOptions);\r\n    } else {\r\n      this.syncGalleryImages();\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<form [formGroup]=\"createAuctionForm2\" *ngIf=\"showView\">\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <div class=\"upload-with-name\">\r\n        <div class=\"custom-file-upload\">\r\n          <span class=\"upload-inner\">\r\n            <div *ngIf=\"coverPhotoString != null; else showPlaceholder\">\r\n              <img alt=\"thumb-image\" class=\"thumb-image\" width=\"150\" [src]=\"coverPhotoString\" />\r\n            </div>\r\n            <ng-template #showPlaceholder>\r\n              <img class=\"thumb-image\" src=\"../assets/images/thumbnail-square.jpg\" title=\"thumb-image\"\r\n                alt=\"thumb-image\" />\r\n            </ng-template>\r\n            <img src=\"../assets/images/ic-upload-photo.svg\" class=\"upload-btn\" alt=\"upload-btn\" role=\"button\"\r\n              (click)=\"cover.click()\" />\r\n          </span>\r\n          <input type=\"file\" style=\"display: none\" [accept]=\"coverPhotoFormat\" #cover\r\n            (change)=\"uploadCoverPhoto($event.target.files)\" />\r\n        </div>\r\n        <div class=\"for-info\">\r\n          <p class=\"name\">Cover Photo</p>\r\n          <p class=\"upload-note m-0\">\r\n            Recommended Size : <br class=\"d-sm-none\" />\r\n            1024 * 720 px <br />\r\n            <br class=\"d-sm-none\" />\r\n            File size should not exceed {{ +coverPhotoSize / (1024 * 1024) }} MB\r\n          </p>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"createAuctionForm2.controls.coverPhoto\">\r\n          </control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-12\">\r\n      <div class=\"upload-with-name\">\r\n        <div class=\"custom-file-upload\">\r\n          <span class=\"upload-inner\">\r\n            <div class=\"upload-container\" *ngIf=\"clientLogoString != null; else showPlaceholder\">\r\n              <img alt=\"thumb-image\" class=\"thumb-image\" width=\"150\" [src]=\"clientLogoString\" />\r\n            </div>\r\n            <ng-template #showPlaceholder>\r\n              <img class=\"thumb-image\" src=\"../assets/images/thumbnail-square.jpg\" alt=\"thumb-image\"\r\n                title=\"thumb-image\" />\r\n            </ng-template>\r\n            <img src=\"../assets/images/ic-upload-photo.svg\" class=\"upload-btn\" alt=\"upload-btn\" role=\"button\"\r\n              (click)=\"logo.click()\" />\r\n          </span>\r\n          <input type=\"file\" style=\"display: none\" [accept]=\"clientLogoFormat\" #logo\r\n            (change)=\"uploadClientLogo($event.target.files)\" />\r\n        </div>\r\n        <div class=\"for-info\">\r\n          <p class=\"name\">Client Logo</p>\r\n          <p class=\"upload-note m-0\">\r\n            Recommended Size : <br class=\"d-sm-none\" />\r\n            240 * 240 px <br />\r\n            <br class=\"d-sm-none\" />\r\n            File size should not exceed {{ +clientLogoSize / (1024 * 1024) }} MB\r\n          </p>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"createAuctionForm2.controls.clientLogo\">\r\n          </control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-12\">\r\n      <div class=\"max-width-600\">\r\n        <h5 class=\"small-label mt-4\">Slider Images</h5>\r\n        <p class=\"upload-note m-0 pb-2\">\r\n          Note : All slider images will appear in image gallery by default for\r\n          front end user.\r\n        </p>\r\n        <p class=\"upload-note m-0 pb-2\">\r\n          image should be greater than 256 Pixel X 256 pixel\r\n        </p>\r\n        <image-uploader [auctionId]=\"auctionId\" [imageSize]=\"+sliderImageSize\" [imageFormat]=\"sliderImageFormat\"\r\n          [uploadedImages]=\"addEditDeleteSliderImages\" [assetType]=\"sliderImageAsset\" [assetName]=\"'Slider Images'\"\r\n          [resetImagesNeeded]=\"true\" [orderChangeNeeded]=\"true\" (resultantImages)=\"resultantSliderImages = $event\"\r\n          [errorLogs]=\"sliderErrorLogs\"></image-uploader>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-12\">\r\n      <div class=\"max-width-600 text-center\">\r\n        <p class=\"or-text\">Or</p>\r\n      </div>\r\n      <div class=\"max-width-600 text-center\">\r\n        <button class=\"btn btn-colored mb-2\" role=\"button\" (click)=\"openSyncSliderModal(syncPopup)\">\r\n          Sync Images\r\n        </button>\r\n      </div>\r\n      <p class=\"upload-note m-0 pb-2\">\r\n        Note : Click \"Sync Images\" button to sync images placed on server.\r\n      </p>\r\n    </div>\r\n\r\n    <div class=\"col-12\">\r\n      <div class=\"max-width-600\">\r\n        <p class=\"small-label mt-4\">Photo Gallery</p>\r\n        <p class=\"upload-note m-0 pb-2\">\r\n          image should be greater than 256 Pixel X 256 pixel\r\n        </p>\r\n        <image-uploader [auctionId]=\"auctionId\" [imageSize]=\"+photoGallerySize\" [imageFormat]=\"photoGalleryFormat\"\r\n          [assetName]=\"'Photo Gallery'\" [assetType]=\"photoGalleryAsset\" [uploadedImages]=\"addEditDeletePhotoGallery\"\r\n          [resetImagesNeeded]=\"true\" [orderChangeNeeded]=\"true\" (resultantImages)=\"resultantGalleryImages = $event\"\r\n          [errorLogs]=\"galleryErrorLogs\"></image-uploader>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-12\">\r\n      <div class=\"max-width-600 text-center\">\r\n        <p class=\"or-text\">Or</p>\r\n      </div>\r\n      <div class=\"max-width-600 text-center\">\r\n        <button class=\"btn btn-colored mb-2\" role=\"button\" (click)=\"openSyncGalleryModal(syncGalleryPopup)\">\r\n          Sync Images\r\n        </button>\r\n      </div>\r\n      <p class=\"upload-note m-0 pb-2\">\r\n        Note : Click \"Sync Images\" button to sync images placed on server.\r\n      </p>\r\n    </div>\r\n\r\n    <div class=\"col-12\">\r\n      <p class=\"error-msg my-2\" *ngIf=\"createAuctionForm2.invalid && submitted\">\r\n        Please resolve error(s) first\r\n      </p>\r\n    </div>\r\n\r\n    <div class=\"col-12\">\r\n      <div class=\"steps-btn-wrap pt-0 pt-md-4 mt-2\">\r\n        <button class=\"btn btn-white-border mr-2 half-mob\" role=\"button\" (click)=\"onCancel()\">\r\n          Cancel\r\n        </button>\r\n        <a class=\"btn btn-white-border mr-2 half-mob\" role=\"button\" (click)=\"goToStep()\">Back</a>\r\n        <button type=\"submit\" class=\"btn btn-colored full-mob\" role=\"button\" (click)=\"save()\">\r\n          Save & Continue\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</form>\r\n\r\n\r\n\r\n\r\n\r\n<ng-template #syncPopup>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"delete-data\">\r\n      <img alt=\"delete-icon\" src=\"../assets/images/delete-icon.svg\" />\r\n      <h1 class=\"modal-inner-hdg mt-3\">\r\n        Confirm\r\n      </h1>\r\n      <p class=\"des\">\r\n        Sync Images will overwrite the uploaded images. Are you sure you want to proceed?\r\n      </p>\r\n      <div class=\"delete-btns\">\r\n        <button type=\"button\" class=\"btn btn-text mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n        <button class=\"btn btn-colored pad-22\" role=\"button\" (click)=\"\r\n          syncSliderImages()\r\n          \">\r\n          Yes\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #syncGalleryPopup>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"delete-data\">\r\n      <img alt=\"delete-icon\" src=\"../assets/images/delete-icon.svg\" />\r\n      <h1 class=\"modal-inner-hdg mt-3\">\r\n        Confirm\r\n      </h1>\r\n      <p class=\"des\">\r\n        Sync Images will overwrite the uploaded images. Are you sure you want to proceed?\r\n      </p>\r\n      <div class=\"delete-btns\">\r\n        <button type=\"button\" class=\"btn btn-text mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n        <button class=\"btn btn-colored pad-22\" role=\"button\" (click)=\"\r\n          syncGalleryImages()\r\n          \">\r\n          Yes\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AuctionsListComponent } from './auctions-list/auctions-list.component';\r\nimport { AuctionLotCatalogComponent } from './auction-lot-catalog/auction-lot-catalog.component';\r\nimport { AuctionRegisterationComponent } from './auction-registeration/auction-registeration.component';\r\nimport { AuctionRegisterationSuccessComponent } from './auction-registeration-success/auction-registeration-success.component';\r\nimport { CoreModule } from '../../../core/core.module';\r\nimport { CommonSharedModule } from '../../../shared/shared.module';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { SlickCarouselModule } from 'ngx-slick-carousel';\r\nimport { AuctionRoutingModule } from './auction-routing.module';\r\nimport { PublicSharedModule } from '../../shared/shared.module';\r\nimport { EnquiryNowComponent } from './enquiry-now/enquiry-now.component';\r\nimport { ViewLotComponent } from './view-lot/view-lot.component';\r\nimport { RecaptchaFormsModule, RecaptchaModule } from 'ng-recaptcha';\r\nimport { CountdownModule } from 'ngx-countdown';\r\nimport { AuctionStatusResolver } from './auction-status-resolver.service';\r\nimport { AuctionLotCardComponent } from './auction-lot-card/auction-lot-card.component';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AuctionsListComponent,\r\n    AuctionLotCatalogComponent,\r\n    AuctionLotCardComponent,\r\n    AuctionRegisterationComponent,\r\n    AuctionRegisterationSuccessComponent,\r\n    EnquiryNowComponent,\r\n    ViewLotComponent,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    CoreModule,\r\n    ReactiveFormsModule,\r\n    MatInputModule,\r\n    MatFormFieldModule,\r\n    MatSelectModule,\r\n    CommonSharedModule,\r\n    SlickCarouselModule,\r\n    AuctionRoutingModule,\r\n    PublicSharedModule,\r\n    RecaptchaModule,\r\n    RecaptchaFormsModule,\r\n    CountdownModule,\r\n  ],\r\n  providers: [AuctionStatusResolver],\r\n})\r\nexport class AuctionModule {}\r\n","import { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { COMMA, ENTER, SPACE } from '@angular/cdk/keycodes';\r\nimport { MatChipInputEvent } from '@angular/material/chips';\r\nimport {\r\n  Component,\r\n  Input,\r\n  OnInit,\r\n  TemplateRef,\r\n  Output,\r\n  EventEmitter,\r\n} from '@angular/core';\r\nimport {\r\n  FormArray,\r\n  FormControl,\r\n  FormGroup,\r\n  Validators,\r\n  AbstractControl,\r\n} from '@angular/forms';\r\nimport {\r\n  AuctionService,\r\n  EmailTemplateService,\r\n  LoaderService,\r\n} from '../../../services';\r\nimport constants from '../../../utility/constants';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ImageValidators } from '../../../core/validators/image-validators';\r\nimport { CommonDropdown } from '../../../models';\r\nimport { AppValidators } from '../../../core/validators/app-validators';\r\nimport { Router } from '@angular/router';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport messages from '../../../utility/messages';\r\nimport {  Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-add-auction-step3',\r\n  templateUrl: './add-auction-step3.component.html',\r\n  styleUrls: ['./add-auction-step3.component.css'],\r\n})\r\nexport class AddAuctionStep3Component implements OnInit {\r\n  @Input('isEditMode') editMode: boolean;\r\n  @Input('auctionId') auctionId: number;\r\n  @Input('auctionStatus') auctionStatus: number;\r\n  @Output('goToStep') step: EventEmitter<number> = new EventEmitter();\r\n\r\n  modalRef: BsModalRef;\r\n  loading: boolean = false;\r\n  fileProccessed: number;\r\n  checkLoader: boolean;\r\n  // null because we do not want any thing on loader\r\n  checkLoader$ = new BehaviorSubject<any>(null);\r\n  step3Form: FormGroup;\r\n  fieldMaxLengthShorter = constants.common.validations.maxLength25;\r\n  fieldMaxLength = constants.common.validations.maxLength50;\r\n  fieldMaxLengthMedium = constants.common.validations.maxLength100;\r\n  fieldMaxLength1000 = constants.common.validations.maxLength1000;\r\n  fieldMaxLengthLong = constants.common.validations.maxLength500;\r\n  premiumMaxLength = constants.common.validations.maxLength1500;\r\n  fieldMaxLengthLonger = constants.common.validations.maxLength2500;\r\n  keywordLength: number = constants.common.validations.maxLength100;\r\n  fieldMaxLengthTenThousand = constants.common.validations.maxLength10000;\r\n  isRegUrlAllowed: boolean;\r\n  isCatalogUrlAllowed: boolean;\r\n  // keyword chips setting\r\n  visible = true;\r\n  selectable = true;\r\n  removable = true;\r\n  addOnBlur = true;\r\n  readonly separatorKeysCodes: number[] = [ENTER, COMMA, SPACE];\r\n  keywords: Array<string> = [];\r\n  // upcoming auction list dropdown\r\n  upcomingAuctionList: Array<CommonDropdown>;\r\n  // template list dropdown\r\n  prePostTemplateList: Array<CommonDropdown>;\r\n  showForm: boolean = false;\r\n  showView: boolean = false;\r\n  // for ckeditor binding strings\r\n  featuredItemsText: string = null;\r\n  gBpText: string = null;\r\n  ccBpText: string = null;\r\n\r\n  // for bind the button name from buttons popup\r\n  currentButtonControl: any;\r\n  // aaray for tracking the new and old added or deleted custom buttons\r\n  addDeleteButtonFile: Array<any> = [];\r\n  // documents settings\r\n  documentString: string;\r\n  payDocumentString: string;\r\n\r\n  documentFormat = constants.admin.uploadSetting.documentType;\r\n  documentSize = constants.admin.uploadSetting.documentMaxSize;\r\n  customButtonString: string;\r\n  customButtons: Array<string>; // for popup\r\n  // partner logo settings\r\n  partnerLogoArray: File[] = [];\r\n  logoFormat = constants.admin.uploadSetting.partnerLogoType;\r\n  logoSize = constants.admin.uploadSetting.partnerLogoMaxSize;\r\n  validComboDrag: any;\r\n  lastInvalids: any;\r\n  fileDropDisabled: any;\r\n  baseDropValid: any;\r\n  addEditPartnerLogo: Array<{ id: number; name: File | string }>;\r\n  // current button control, need to bind with button's doc uploading process\r\n  currentButtonFileUpload: any;\r\n  showFeaturedItemsHeader: boolean = true;\r\n  // to check characters limit\r\n  isEditorCharLimitReached: boolean;\r\n\r\n  submitted: boolean = false;\r\n\r\n  showBPasEditor: boolean;\r\n\r\n  isShowEmailTemplates: boolean = true;\r\n\r\n  paymentInstructionEditorString: string = null;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  constructor(\r\n    private modalService: BsModalService,\r\n    private auctionService: AuctionService,\r\n    private toastr: ToastrService,\r\n    private templateService: EmailTemplateService,\r\n    private router: Router,\r\n    private loaderService: LoaderService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.fileProccessed = 0;\r\n    this.initializeForm();\r\n    this.getAuctionSpecificSaletype(this.auctionId);\r\n    this.getUpcomingAuction();\r\n    this.getPrePostTemplate();\r\n    this.getPaymentInstText();\r\n    this.getButtons();\r\n    this.bindData();\r\n\r\n    const loader = this.checkLoader$.subscribe((res: any) => {\r\n      // false means no images left for processing\r\n      if (res == false) {\r\n        this.addAuctionStep3();\r\n      }\r\n    });\r\n    this.subscriptions.push(loader);\r\n  }\r\n\r\n  initializeForm() {\r\n    this.step3Form = new FormGroup({\r\n      auctionId: new FormControl(this.auctionId),\r\n      registrationLinkUrl: new FormControl(null),\r\n      catalogLinkUrl: new FormControl(null),\r\n      pageTitle: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.maxLength(this.fieldMaxLengthMedium),\r\n      ]),\r\n      metaDescription: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.maxLength(this.fieldMaxLengthLong),\r\n      ]),\r\n      keywords: new FormControl(null),\r\n      relatedAuctionIds: new FormControl(null),\r\n      preApprovalRegistrationEmailTemplateId: new FormControl(4, [\r\n        Validators.required,\r\n      ]),\r\n      postApprovalRegistrationEmailTemplateId: new FormControl(4, [\r\n        Validators.required,\r\n      ]),\r\n      emailNotes: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.maxLength(this.fieldMaxLength1000),\r\n      ]),\r\n      generalBuyerPremium: new FormControl(\r\n        constants.admin.initialValues.generalBuyersPremium,\r\n        [Validators.required, AppValidators.noWhitespace]\r\n      ),\r\n      creditCardBuyerPremium: new FormControl(\r\n        constants.admin.initialValues.creditCardBuyersPremium,\r\n        [AppValidators.noWhitespace]\r\n      ),\r\n      gBP: new FormControl(constants.admin.initialValues.generalBuyersPremium, [\r\n        Validators.required,\r\n        Validators.min(0),\r\n        Validators.max(100),\r\n        AppValidators.onlyNumeric,\r\n      ]),\r\n      ccBP: new FormControl(\r\n        constants.admin.initialValues.creditCardBuyersPremium,\r\n        [Validators.min(0), Validators.max(100), AppValidators.onlyNumeric]\r\n      ),\r\n      featuredItemHeader: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.maxLength(this.fieldMaxLength),\r\n      ]),\r\n      featuredItems: new FormControl(null),\r\n      paymentInstructions: new FormControl(null, [\r\n        Validators.required,\r\n        AppValidators.noWhitespace,\r\n      ]),\r\n      documents: new FormArray([]),\r\n      buttons: new FormArray([]),\r\n      paymentDocuments: new FormArray([]),\r\n    });\r\n  }\r\n\r\n  initializeButtonDoc() {\r\n    let buttonLength = this.step3Form.value.buttons.length;\r\n    let docLength = this.step3Form.value.documents.length;\r\n    let payDocLength = this.step3Form.value.paymentDocuments.length;\r\n    if (docLength <= 0) {\r\n      this.documentString = messages.addAuction3.addDocument;\r\n    } else {\r\n      this.documentString = messages.addAuction3.addAnotherDocument;\r\n    }\r\n    if (payDocLength <= 0) {\r\n      this.payDocumentString = messages.addAuction3.addDocument;\r\n    } else {\r\n      this.payDocumentString = messages.addAuction3.addAnotherDocument;\r\n    }\r\n    if (buttonLength <= 0) {\r\n      this.customButtonString = messages.addAuction3.addNewButton;\r\n    } else {\r\n      this.customButtonString = messages.addAuction3.addAnotherButton;\r\n    }\r\n  }\r\n\r\n  getAuctionSpecificSaletype(auctionId: number) {\r\n    const saletypes = this.auctionService.getAuctionSaleType(auctionId).subscribe(\r\n      (res) => {\r\n        this.showView = true;\r\n        this.checkRegUrlIsRequired(res.registrationFormat);\r\n        this.checkCatalogUrlIsRequired(res.isCatalogUploadAllowed);\r\n        this.isShowEmailTemplates =\r\n          res.registrationFormat !=\r\n          constants.common.saletypeRegistrationFormat.thirdPartyRegistration;\r\n      },\r\n      (err) => {\r\n        this.showView = true;\r\n      }\r\n    );\r\n    this.subscriptions.push(saletypes);\r\n  }\r\n\r\n  checkRegUrlIsRequired(registrationFormat: number) {\r\n    if (\r\n      registrationFormat ==\r\n      constants.common.saletypeRegistrationFormat.thirdPartyRegistration\r\n    ) {\r\n      this.isRegUrlAllowed = true;\r\n      let control = this.step3Form.controls.registrationLinkUrl;\r\n      control.setValidators([\r\n        AppValidators.noWhitespace,\r\n        AppValidators.checkWebAddress,\r\n      ]);\r\n      control.updateValueAndValidity();\r\n    } else {\r\n      this.isRegUrlAllowed = false;\r\n    }\r\n  }\r\n\r\n  checkCatalogUrlIsRequired(catalogUploadAllowed: boolean) {\r\n    if (!catalogUploadAllowed) {\r\n      this.isCatalogUrlAllowed = true;\r\n      let control = this.step3Form.controls.catalogLinkUrl;\r\n      control.setValidators([\r\n        AppValidators.noWhitespace,\r\n        AppValidators.checkWebAddress,\r\n      ]);\r\n      control.updateValueAndValidity();\r\n    } else {\r\n      this.isCatalogUrlAllowed = false;\r\n    }\r\n  }\r\n\r\n  addKeyword(event: MatChipInputEvent) {\r\n    const input = event.input;\r\n    const value = event.value;\r\n    if ((value || '').trim()) {\r\n      let keyword = value.trim();\r\n      this.keywords.push(keyword);\r\n      this.checkKeyWordLength();\r\n    }\r\n    if (input) {\r\n      input.value = '';\r\n    }\r\n  }\r\n  removeKeyword(key: string): void {\r\n    const index = this.keywords.indexOf(key);\r\n    if (index >= 0) {\r\n      this.keywords.splice(index, 1);\r\n      this.checkKeyWordLength();\r\n    }\r\n  }\r\n  changeToKeywords(commaSepString: string): Array<string> {\r\n    let keywordArray = commaSepString.split(',');\r\n    keywordArray.forEach((i) => this.keywords.push(i));\r\n    return keywordArray;\r\n  }\r\n  checkKeyWordLength() {\r\n    if (this.keywords.length > this.keywordLength) {\r\n      this.step3Form.controls.keywords.setErrors({\r\n        invalidKeywordLength: {\r\n          requiredLength: this.keywordLength,\r\n        },\r\n      });\r\n    } else {\r\n      this.step3Form.controls.keywords.setErrors(null);\r\n    }\r\n    this.step3Form.controls.keywords.markAsTouched();\r\n  }\r\n\r\n  getUpcomingAuction() {\r\n    const uauctions = this.auctionService.getUpcomingAuctions(this.auctionId).subscribe((res) => {\r\n      this.upcomingAuctionList = res;\r\n    });\r\n    this.subscriptions.push(uauctions);\r\n  }\r\n  getPrePostTemplate() {\r\n    const templates = this.templateService.getEmailTemplateDropdown().subscribe((res) => {\r\n      this.prePostTemplateList = res;\r\n    });\r\n    this.subscriptions.push(templates);\r\n  }\r\n  getPaymentInstText() {\r\n   const pinstructions = this.auctionService.getPaymentInstruction().subscribe((res) => {\r\n      if (!this.paymentInstructionEditorString) {\r\n        this.paymentInstructionEditorString = res;\r\n        this.step3Form.patchValue({\r\n          paymentInstructions: res,\r\n        });\r\n      }\r\n    });\r\n    this.subscriptions.push(pinstructions);\r\n  }\r\n  getButtons() {\r\n    const cbtns = this.auctionService\r\n      .getCustomButtons()\r\n      .subscribe((res) => (this.customButtons = res));\r\n      this.subscriptions.push(cbtns);\r\n  }\r\n\r\n  editorContent(\r\n    event: { data: string; limitReached: boolean },\r\n    control: AbstractControl,\r\n    isControlRequired = false\r\n  ) {\r\n    control.patchValue(event.data == null ? '' : event.data);\r\n    control.markAsDirty();\r\n    if (isControlRequired && (event.data === null || event.data === ''))\r\n      control.setErrors({ required: true });\r\n    else if (event.limitReached) control.setErrors({ invalid: true });\r\n    else control.setErrors(null);\r\n  }\r\n\r\n  documents(paymentDoc: boolean = false): FormArray {\r\n    if (paymentDoc) return this.step3Form.get('paymentDocuments') as FormArray;\r\n    return this.step3Form.get('documents') as FormArray;\r\n  }\r\n  newDocument(paymentDoc: boolean = false): FormGroup {\r\n    let assetType;\r\n    paymentDoc\r\n      ? (assetType = new FormControl(constants.admin.assetType.paymentDocument))\r\n      : (assetType = new FormControl(constants.admin.assetType.document));\r\n\r\n    return new FormGroup({\r\n      auctionId: new FormControl(this.auctionId),\r\n      assetType: assetType,\r\n      fileId: new FormControl(0),\r\n      fileTitle: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldMaxLengthShorter),\r\n      ]),\r\n      file: new FormControl(null, [\r\n        Validators.required,\r\n        ImageValidators.sizeCheck(this.documentSize),\r\n        ImageValidators.pdfFormat(this.documentFormat),\r\n      ]),\r\n    });\r\n  }\r\n  addDocument(paymentDoc: boolean = false) {\r\n    this.documents(paymentDoc).push(this.newDocument(paymentDoc));\r\n    this.initializeButtonDoc();\r\n  }\r\n  attachDocument(doc: FormGroup, docFile: File) {\r\n    let fileControl = doc.controls.file;\r\n    doc.patchValue({\r\n      file: docFile,\r\n    });\r\n    fileControl.markAsTouched();\r\n    fileControl.updateValueAndValidity();\r\n  }\r\n  deleteDocument(index: number, doc?: FormGroup, paymentDoc: boolean = false) {\r\n    if (doc.value.fileId > 0) {\r\n      this.uploadSingleDocument(doc.value, doc.value.assetType, true);\r\n    }\r\n    this.documents(paymentDoc).removeAt(index);\r\n  }\r\n  eachDocumentControl(doc) {\r\n    return doc.controls;\r\n  }\r\n  eachDocumentFileNameisString(doc) {\r\n    let control: any = this.eachDocumentControl(doc).file.value;\r\n    if (typeof control == 'string') {\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n\r\n  removeLogo(index: number) {\r\n    this.partnerLogoArray.splice(index, 1);\r\n  }\r\n  removeOldImage(item) {\r\n    this.uploadSingleDocument(\r\n      {\r\n        fileId: item.id,\r\n        file: null,\r\n      },\r\n      constants.admin.assetType.partnerLogo,\r\n      true\r\n    );\r\n  }\r\n\r\n  buttons(): FormArray {\r\n    return this.step3Form.get('buttons') as FormArray;\r\n  }\r\n  newButton(): FormGroup {\r\n    return new FormGroup({\r\n      id: new FormControl(0),\r\n      label: new FormControl(null, [\r\n        Validators.required,\r\n        AppValidators.noWhitespace,\r\n        Validators.maxLength(this.fieldMaxLength),\r\n      ]),\r\n      isUrl: new FormControl(true),\r\n      url: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        AppValidators.checkWebAddress,\r\n      ]),\r\n      auctionFileName: new FormControl(null, [\r\n        ImageValidators.sizeCheck(this.documentSize),\r\n        ImageValidators.pdfFormat(this.documentFormat),\r\n      ]),\r\n      buttonName: new FormControl(null, [Validators.required]),\r\n      isDeleted: new FormControl(false),\r\n    });\r\n  }\r\n  addButton() {\r\n    this.buttons().push(this.newButton());\r\n    this.initializeButtonDoc();\r\n  }\r\n  attachButtonFile(btn: FormGroup, btnFile: File) {\r\n    let btnFileControl = btn.controls.auctionFileName;\r\n    this.currentButtonFileUpload = btn;\r\n    btn.patchValue({\r\n      auctionFileName: btnFile,\r\n    });\r\n    btnFileControl.markAsTouched();\r\n    btnFileControl.updateValueAndValidity();\r\n    if (btnFileControl.valid) {\r\n      this.loaderService.showLoader(true);\r\n      this.uploadSingleDocument(\r\n        {\r\n          fileId: 0,\r\n          file: btnFileControl.value,\r\n          fileTitle: btn.controls.label.value,\r\n        },\r\n        constants.admin.assetType.customButtonDocument\r\n      );\r\n    }\r\n  }\r\n  deleteButton(index: number, btn?: FormGroup) {\r\n    if (btn.value.id > 0) {\r\n      this.addDeleteButtonArray(btn);\r\n    }\r\n    this.buttons().removeAt(index);\r\n  }\r\n  eachButtonControl(btn) {\r\n    return btn.controls;\r\n  }\r\n  addDeleteButtonArray(btn: FormGroup) {\r\n    let btnData = btn.value;\r\n    btnData.isDeleted = true;\r\n    this.addDeleteButtonFile.push(btnData);\r\n  }\r\n  setButtonName(form) {\r\n    this.currentButtonControl.patchValue({\r\n      buttonName: form.value.customButton,\r\n    });\r\n    this.closeModal();\r\n  }\r\n  eachButtonFileNameisString(btn) {\r\n    let control: any = this.eachButtonControl(btn).auctionFileName.value;\r\n    if (typeof control == 'string') {\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n  changeButtonType(control) {\r\n    let checkIsUrl = control.isUrl.value;\r\n    let urlControl = control.url;\r\n    let fileControl = control.auctionFileName;\r\n\r\n    if (checkIsUrl) {\r\n      urlControl.setValidators([\r\n        Validators.required,\r\n        AppValidators.noWhitespace,\r\n        AppValidators.checkWebAddress,\r\n      ]);\r\n      fileControl.clearValidators();\r\n    } else {\r\n      fileControl.setValidators([\r\n        Validators.required,\r\n        ImageValidators.sizeCheck(this.documentSize),\r\n        ImageValidators.pdfFormat(this.documentFormat),\r\n      ]);\r\n      urlControl.clearValidators();\r\n    }\r\n    fileControl.updateValueAndValidity();\r\n    urlControl.updateValueAndValidity();\r\n  }\r\n\r\n  uploadDocumentOnServer() {\r\n    let obj = this.documents().controls;\r\n    for (let index = 0; index < obj.length; index++) {\r\n      let docObj = obj[index];\r\n      if (docObj.valid && typeof docObj.value.file != 'string')\r\n        this.uploadSingleDocument(docObj.value, docObj.value.assetType);\r\n    }\r\n  }\r\n\r\n  uploadPaymentDocumentOnServer() {\r\n    let obj = this.documents(true).controls;\r\n    for (let index = 0; index < obj.length; index++) {\r\n      let docObj = obj[index];\r\n      if (docObj.valid && typeof docObj.value.file != 'string')\r\n        this.uploadSingleDocument(docObj.value, docObj.value.assetType);\r\n    }\r\n  }\r\n\r\n  uploadPartnerLogoOnServer() {\r\n    let formats = this.logoFormat.split(',');\r\n    let obj =\r\n      this.partnerLogoArray && this.partnerLogoArray?.length\r\n        ? this.partnerLogoArray.filter((it) =>\r\n            formats.includes(\r\n              it.name.split('.')[it.name.split('.').length - 1].toLowerCase()\r\n            )\r\n          )\r\n        : [];\r\n    this.partnerLogoArray = obj;\r\n    for (let index = 0; index < obj.length; index++) {\r\n      let docObj = obj[index];\r\n      this.uploadSingleDocument(\r\n        { fileId: 0, file: docObj },\r\n        constants.admin.assetType.partnerLogo\r\n      );\r\n    }\r\n  }\r\n\r\n  //////////////////////// constructing form for save\r\n  constructForm() {\r\n    let formData = this.step3Form.getRawValue();\r\n\r\n    let changeButtonResponse = formData.buttons.map((obj) => {\r\n      let button = null;\r\n      if (obj.buttonName != '' || obj.buttonName != null) {\r\n        button =\r\n          obj.buttonName.split('/')[obj.buttonName.split('/').length - 1];\r\n      }\r\n      return {\r\n        id: obj.id,\r\n        label: obj.label,\r\n        isUrl: obj.isUrl,\r\n        url: obj.url,\r\n        auctionFileName: obj.auctionFileName,\r\n        buttonName: button,\r\n        isDeleted: obj.isDeleted,\r\n      };\r\n    });\r\n    let changeButton = changeButtonResponse.concat(this.addDeleteButtonFile);\r\n    return {\r\n      auctionId: this.auctionId,\r\n      generalBuyerPremium: !this.showBPasEditor\r\n        ? '' + formData.gBP\r\n        : '' + formData.generalBuyerPremium,\r\n      creditCardBuyerPremium: !this.showBPasEditor\r\n        ? '' + formData.ccBP\r\n        : '' + formData.creditCardBuyerPremium,\r\n      catalogLinkUrl: formData.catalogLinkUrl,\r\n      emailNotes: formData.emailNotes,\r\n      featuredItemHeader: formData.featuredItemHeader,\r\n      featuredItems: formData.featuredItems,\r\n      keywords: this.keywords.length > 0 ? this.keywords.join(',') : null,\r\n      metaDescription: formData.metaDescription,\r\n      pageTitle: formData.pageTitle,\r\n      paymentInstructions: formData.paymentInstructions,\r\n      postApprovalRegistrationEmailTemplateId:\r\n        formData.postApprovalRegistrationEmailTemplateId,\r\n      preApprovalRegistrationEmailTemplateId:\r\n        formData.preApprovalRegistrationEmailTemplateId,\r\n      registrationLinkUrl: formData.registrationLinkUrl,\r\n      relatedAuctionIds:\r\n        formData.relatedAuctionIds != null\r\n          ? formData.relatedAuctionIds.join(',')\r\n          : null,\r\n      buttons: changeButton,\r\n    };\r\n  }\r\n\r\n  /////////////////////// final submission\r\n  onSaveAndContinue() {\r\n    this.submitted = true;\r\n    if (this.step3Form.invalid) {\r\n      return;\r\n    }\r\n\r\n    this.checkFileProcesses();\r\n\r\n    this.uploadPartnerLogoOnServer();\r\n    this.uploadDocumentOnServer();\r\n    this.uploadPaymentDocumentOnServer();\r\n  }\r\n\r\n  addAuctionStep3() {\r\n    this.loading = true;\r\n    this.loaderService.showLoader(true);\r\n    let model = this.constructForm();\r\n    const step3 =  this.auctionService.addAuctionStep3(model).subscribe(\r\n      (res) => {\r\n        this.loading = false;\r\n        this.loaderService.showLoader(false);\r\n        this.toastr.success(\r\n          this.editMode\r\n            ? messages.addAuction3.updated\r\n            : messages.addAuction3.saved,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.goToStep(4);\r\n      },\r\n      (err) => {\r\n        this.loading = false;\r\n        this.loaderService.showLoader(false);\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    );\r\n    this.subscriptions.push(step3);\r\n  }\r\n\r\n  checkFileProcesses() {\r\n    let allDocuments = this.step3Form.value.documents as [];\r\n    let uploadingDocs = allDocuments.filter(\r\n      (obj: any) => typeof obj.file != 'string'\r\n    );\r\n\r\n    let allPaymentDocuments = this.step3Form.value.paymentDocuments as [];\r\n    let uploadingPaymentDocs = allPaymentDocuments.filter(\r\n      (obj: any) => typeof obj.file != 'string'\r\n    );\r\n\r\n    let allPartnerLogos = this.partnerLogoArray;\r\n    let totalFiles =\r\n      uploadingDocs.length +\r\n      allPartnerLogos.length +\r\n      uploadingPaymentDocs.length;\r\n\r\n    if (totalFiles == 0) {\r\n      this.addAuctionStep3();\r\n      return false;\r\n    }\r\n\r\n    if (totalFiles > this.fileProccessed) {\r\n      this.loaderService.showLoader(true);\r\n      return true;\r\n    }\r\n\r\n    this.loaderService.showLoader(false);\r\n    return false;\r\n  }\r\n\r\n  uploadSingleDocument(\r\n    fileObj: any,\r\n    assetType: number,\r\n    isDelete: boolean = false\r\n  ): Observable<string> {\r\n    let returnedUrl: Observable<string>;\r\n    let fileFormData = new FormData();\r\n    fileFormData.append('AuctionId', '' + this.auctionId);\r\n    fileFormData.append('AssetType', '' + assetType);\r\n    fileFormData.append('FileId', '' + fileObj.fileId);\r\n    if(fileObj.file === null){\r\n      fileFormData.append('File', fileObj.file)\r\n    }else{\r\n      (typeof fileObj.file === 'string') ?\r\n      fileFormData.append('File', fileObj.file) :\r\n      fileFormData.append('File', fileObj.file,fileObj.file?.name);\r\n    }\r\n    fileFormData.append('FileTitle', fileObj.fileTitle);\r\n\r\n    const imgrm = this.auctionService.imageAddRemove(fileFormData).subscribe(\r\n      (response) => {\r\n        if (\r\n          !isDelete &&\r\n          assetType != constants.admin.assetType.customButtonDocument\r\n        ) {\r\n          this.fileProccessed++;\r\n          this.checkLoader = this.checkFileProcesses();\r\n          this.checkLoader$.next(this.checkFileProcesses());\r\n        }\r\n        if (isDelete) {\r\n          this.toastr.success(\r\n            messages.addAuction3.fileRemoved,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n        }\r\n        if (assetType == constants.admin.assetType.customButtonDocument) {\r\n          this.loaderService.showLoader(false);\r\n          this.currentButtonFileUpload.patchValue({\r\n            auctionFileName: response,\r\n          });\r\n          this.currentButtonFileUpload.markAsTouched();\r\n          this.currentButtonFileUpload.updateValueAndValidity();\r\n\r\n          this.toastr.success(\r\n            messages.addAuction3.fileUpload,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n        }\r\n        if (assetType == constants.admin.assetType.partnerLogo) {\r\n          this.addEditPartnerLogo = response.partnerLogos;\r\n        }\r\n      },\r\n      (err) => {\r\n        if (!isDelete) {\r\n          this.fileProccessed++;\r\n          this.checkLoader$.next(this.checkFileProcesses());\r\n          this.checkLoader = this.checkFileProcesses();\r\n        }\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    );\r\n    this.subscriptions.push(imgrm);\r\n\r\n    return returnedUrl;\r\n  }\r\n\r\n  ////////////////////////////// Bind data\r\n  bindData() {\r\n    this.loaderService.showLoader(true);\r\n    const aucstep3 = this.auctionService.getAuctionStep3(this.auctionId).subscribe(\r\n      (res: any) => {\r\n        this.loaderService.showLoader(false);\r\n        this.attachDataToForm(res);\r\n        this.showForm = true;\r\n      },\r\n      () => {\r\n        this.loaderService.showLoader(false);\r\n        this.showForm = true;\r\n        this.onCancel();\r\n      }\r\n    );\r\n    this.subscriptions.push(aucstep3);\r\n  }\r\n\r\n  //////////////////////////// attach to form in edit mode\r\n  attachDataToForm(data: any) {\r\n    if (data.saleType) {\r\n      this.showFeaturedItemsHeader =\r\n        data.saleType.isEditFeatureItemHeaderAllowed;\r\n      this.showBPasEditor = data.saleType.isPremiumEditorRequired;\r\n    }\r\n\r\n    this.step3Form.patchValue({\r\n      auctionId: data.id,\r\n      registrationLinkUrl: data.registrationLinkUrl,\r\n      catalogLinkUrl: data.catalogLinkUrl,\r\n      pageTitle: data.pageTitle,\r\n      metaDescription: data.metaDescription,\r\n      keywords:\r\n        data.keywords != null ? this.changeToKeywords(data.keywords) : null,\r\n      relatedAuctionIds:\r\n        data.relatedAuctionIds != null\r\n          ? data.relatedAuctionIds.split(',').map((obj) => parseInt(obj))\r\n          : null,\r\n      preApprovalRegistrationEmailTemplateId:\r\n        data.preApprovalRegistrationEmailTemplateId,\r\n      postApprovalRegistrationEmailTemplateId:\r\n        data.postApprovalRegistrationEmailTemplateId,\r\n      emailNotes: data.emailNotes,\r\n      featuredItemHeader: data.featuredItemHeader,\r\n      featuredItems: data.featuredItems,\r\n    });\r\n\r\n    this.featuredItemsText = data.featuredItems;\r\n    this.paymentInstructionEditorString = data.paymentInstructions\r\n      ? data.paymentInstructions\r\n      : this.paymentInstructionEditorString;\r\n    if (data.paymentInstructions != null)\r\n      this.step3Form.patchValue({\r\n        paymentInstructions: data.paymentInstructions,\r\n      });\r\n\r\n    if (data.generalBuyersPremium) {\r\n      if (data.saleType.isPremiumEditorRequired) {\r\n        this.gBpText = this.auctionId ? data.generalBuyersPremium : '';\r\n        this.step3Form.patchValue({\r\n          generalBuyerPremium: this.auctionId\r\n            ? data.generalBuyersPremium\r\n            : null,\r\n        });\r\n      } else {\r\n        this.step3Form.patchValue({\r\n          gBP: data.generalBuyersPremium,\r\n        });\r\n      }\r\n    }\r\n\r\n    if (data.creditCardBuyersPremium) {\r\n      if (data.saleType.isPremiumEditorRequired) {\r\n        this.ccBpText = this.auctionId ? data.creditCardBuyersPremium : '';\r\n        this.step3Form.patchValue({\r\n          creditCardBuyerPremium: this.auctionId\r\n            ? data.creditCardBuyersPremium\r\n            : null,\r\n        });\r\n      } else {\r\n        this.step3Form.patchValue({\r\n          ccBP: data.creditCardBuyersPremium,\r\n        });\r\n      }\r\n    } else {\r\n      this.step3Form.patchValue({\r\n        ccBP: data.creditCardBuyersPremium ?? this.step3Form.value.ccBP,\r\n        creditCardBuyerPremium: data.creditCardBuyersPremium ?? this.step3Form.value.ccBP,\r\n      });\r\n    }\r\n\r\n    if (data?.documents?.length > 0) {\r\n      data.documents.forEach((obj, i) => {\r\n        var document: FormGroup = this.newDocument();\r\n        this.documents().push(document);\r\n        this.documents().controls[i].patchValue({\r\n          fileId: obj.id,\r\n          fileTitle: obj.title,\r\n          file: obj.name,\r\n        });\r\n      });\r\n    }\r\n\r\n    if (data?.paymentDocuments?.length > 0) {\r\n      data.paymentDocuments.forEach((obj, i) => {\r\n        var document: FormGroup = this.newDocument(true);\r\n        this.documents(true).push(document);\r\n        this.documents(true).controls[i].patchValue({\r\n          fileId: obj.id,\r\n          fileTitle: obj.title,\r\n          file: obj.name,\r\n        });\r\n      });\r\n    }\r\n\r\n    if (data.buttons.length > 0) {\r\n      data.buttons.forEach((obj, i) => {\r\n        var button: FormGroup = this.newButton();\r\n        this.buttons().push(button);\r\n        this.buttons().controls[i].patchValue({\r\n          id: obj.id,\r\n          label: obj.label,\r\n          isUrl: obj.isUrl,\r\n          url: obj.url,\r\n          auctionFileName: obj.auctionFileName,\r\n          buttonName: obj.buttonName,\r\n          isDeleted: obj.isDeleted,\r\n        });\r\n      });\r\n    }\r\n\r\n    this.addEditPartnerLogo = data.partnerLogos;\r\n\r\n    if (data.preApprovalRegistrationEmailTemplateId == null) {\r\n      if (this.prePostTemplateList) {\r\n        let preTemplateArray = this.prePostTemplateList.filter(\r\n          (x) => x.value == 13\r\n        );\r\n        this.step3Form\r\n          .get('preApprovalRegistrationEmailTemplateId')\r\n          .patchValue(preTemplateArray[0].value);\r\n      }\r\n    }\r\n\r\n    if (data.postApprovalRegistrationEmailTemplateId == null) {\r\n      if (this.prePostTemplateList) {\r\n        let postTemplateArray = this.prePostTemplateList.filter(\r\n          (x) => x.value == 15\r\n        );\r\n        this.step3Form\r\n          .get('postApprovalRegistrationEmailTemplateId')\r\n          .patchValue(postTemplateArray[0].value);\r\n      }\r\n    }\r\n\r\n    this.initializeButtonDoc();\r\n  }\r\n\r\n  //////////////////////////////////// popups\r\n  openModalImageButtonSelect(template: TemplateRef<any>, currentButton) {\r\n    this.currentButtonControl = currentButton;\r\n\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign(\r\n        {},\r\n        {\r\n          class:\r\n            'custom-popup select-image-modal modal-dialog modal-dialog-centered',\r\n        }\r\n      )\r\n    );\r\n  }\r\n\r\n  closeModal() {\r\n    this.currentButtonControl = null;\r\n    if (this.modalRef) this.modalRef.hide();\r\n  }\r\n  onCancel() {\r\n    if (this.auctionStatus == 1) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'live' },\r\n      });\r\n    } else if (this.auctionStatus == 2) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'upcoming' },\r\n      });\r\n    } else if (this.auctionStatus == 4) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'recent' },\r\n      });\r\n    } else {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'pending' },\r\n      });\r\n    }\r\n  }\r\n  goToStep(step: number = 2) {\r\n    this.step.emit(step);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n  \r\n  SyncPartnerLogoImages() {\r\n    this.loaderService.showLoader(true);\r\n    const plogo = this.auctionService.SyncPartnerLogoImages(this.auctionId).subscribe(\r\n      () => {\r\n        this.toastr.success(\r\n          'Partnet Logo Images Upload Successfully.',\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.loaderService.showLoader(false);\r\n      },\r\n      (err) => {\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.loaderService.showLoader(false);\r\n      }\r\n    );\r\n    this.subscriptions.push(plogo);\r\n  }\r\n}\r\n","<form [formGroup]=\"step3Form\" *ngIf=\"showView\">\r\n  <div class=\"step3-inner\">\r\n    <div class=\"row\">\r\n      <div class=\"col-md-6\" *ngIf=\"isRegUrlAllowed\">\r\n        <div class=\"form-group\">\r\n          <mat-form-field appearance=\"outline\">\r\n            <mat-label>Registration Link URL</mat-label>\r\n            <input matInput type=\"text\" placeholder=\"Enter URL e.g. http://www.example.com\"\r\n              formControlName=\"registrationLinkUrl\" />\r\n          </mat-form-field>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.registrationLinkUrl\">\r\n          </control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\" *ngIf=\"isCatalogUrlAllowed\">\r\n        <div class=\"form-group\">\r\n          <div class=\"input-with-tooltip\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Catalog Link URL</mat-label>\r\n              <input matInput type=\"text\" placeholder=\"Enter URL e.g. http://www.example.com\"\r\n                formControlName=\"catalogLinkUrl\" />\r\n            </mat-form-field>\r\n            <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n              matTooltip=\"The selected sale type uses Third Party Registration, please enter the link to register on the appropriate third party platform\"\r\n              [matTooltipPosition]=\"'above'\">\r\n              <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n            </span>\r\n          </div>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.catalogLinkUrl\">\r\n          </control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"custom-textarea\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Page Title</mat-label>\r\n              <textarea matInput formControlName=\"pageTitle\" placeholder=\"Enter Page Title\"\r\n                [maxlength]=\"fieldMaxLengthMedium\">\r\n              </textarea>\r\n            </mat-form-field>\r\n          </div>\r\n          <char-counter [control]=\"step3Form.controls.pageTitle\" [maxlength]=\"fieldMaxLengthMedium\"></char-counter>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.pageTitle\"></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"custom-textarea\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Meta Description</mat-label>\r\n              <textarea matInput formControlName=\"metaDescription\" placeholder=\"Add Description\"\r\n                [maxlength]=\"fieldMaxLengthLong\"></textarea>\r\n            </mat-form-field>\r\n          </div>\r\n          <char-counter [control]=\"step3Form.controls.metaDescription\" [maxlength]=\"fieldMaxLengthLong\"></char-counter>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.metaDescription\">\r\n          </control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group with-chips form-group-adj-label\">\r\n          <mat-form-field appearance=\"outline\">\r\n            <mat-label>Keywords</mat-label>\r\n            <mat-chip-list #chipList>\r\n              <mat-chip *ngFor=\"let key of keywords\" [selectable]=\"selectable\" [removable]=\"removable\"\r\n                (removed)=\"removeKeyword(key)\">\r\n                {{ key }}\r\n                <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n              </mat-chip>\r\n              <input type=\"text\" placeholder=\"Add Keywords\" [matChipInputFor]=\"chipList\"\r\n                [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" [matChipInputAddOnBlur]=\"addOnBlur\"\r\n                (matChipInputTokenEnd)=\"addKeyword($event)\" />\r\n            </mat-chip-list>\r\n          </mat-form-field>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.keywords\"></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group form-group-adj-label\">\r\n          <div class=\"custom-select-option select-with-label input-with-tooltip select-with-checks\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Related Auctions (Select one or more)</mat-label>\r\n              <mat-select formControlName=\"relatedAuctionIds\" multiple>\r\n                <mat-option *ngFor=\"let auction of upcomingAuctionList\" [value]=\"auction.value\">{{ auction.text }}\r\n                </mat-option>\r\n              </mat-select>\r\n            </mat-form-field>\r\n            <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"This is upcoming auctions\"\r\n              [matTooltipPosition]=\"'above'\">\r\n              <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n            </span>\r\n          </div>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.relatedAuctionIds\">\r\n          </control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\" *ngIf=\"isShowEmailTemplates\">\r\n        <div class=\"form-group form-group-adj-label\">\r\n          <div class=\"custom-select-option select-with-label\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Pre Approval Registration Email Template *</mat-label>\r\n              <mat-select formControlName=\"preApprovalRegistrationEmailTemplateId\">\r\n                <mat-option *ngFor=\"let temp of prePostTemplateList\" [value]=\"temp.value\">{{ temp.text }}</mat-option>\r\n              </mat-select>\r\n            </mat-form-field>\r\n          </div>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"\r\n              step3Form.controls.preApprovalRegistrationEmailTemplateId\r\n            \"></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\" *ngIf=\"isShowEmailTemplates\">\r\n        <div class=\"form-group form-group-adj-label\">\r\n          <div class=\"custom-select-option select-with-label\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Post Approval Registration Email Template *</mat-label>\r\n              <mat-select formControlName=\"postApprovalRegistrationEmailTemplateId\">\r\n                <mat-option *ngFor=\"let temp of prePostTemplateList\" [value]=\"temp.value\">{{ temp.text }}</mat-option>\r\n              </mat-select>\r\n            </mat-form-field>\r\n          </div>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"\r\n              step3Form.controls.postApprovalRegistrationEmailTemplateId\r\n            \"></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"custom-textarea\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Email Notes</mat-label>\r\n              <textarea matInput formControlName=\"emailNotes\" placeholder=\"Add Notes\"\r\n                [maxlength]=\"fieldMaxLength1000\"></textarea>\r\n            </mat-form-field>\r\n          </div>\r\n          <char-counter [control]=\"step3Form.controls.emailNotes\" [maxlength]=\"fieldMaxLength1000\"></char-counter>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.emailNotes\"></control-messages>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <h3 class=\"form-two-hdg pt-3\">Removal Documents</h3>\r\n        <p class=\"form-two-des mb-2\">\r\n          These documents will be published on the sale detail page.\r\n        </p>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div class=\"add-doc-outer\" formArrayName=\"documents\">\r\n          <div class=\"add-doc\" *ngFor=\"let doc of documents().controls; let pointIndex = index\"\r\n            [formGroupName]=\"pointIndex\">\r\n            <div class=\"doc-left\">\r\n              <div class=\"form-group m-0\">\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Add Document Name</mat-label>\r\n                  <input matInput type=\"text\" formControlName=\"fileTitle\" placeholder=\"Enter name\"\r\n                    [maxlength]=\"fieldMaxLengthShorter\" required />\r\n                </mat-form-field>\r\n                <char-counter [control]=\"eachDocumentControl(doc).fileTitle\" [maxlength]=\"fieldMaxLengthShorter\">\r\n                </char-counter>\r\n                <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachDocumentControl(doc).fileTitle\">\r\n                </control-messages>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"doc-right\">\r\n              <h3 class=\"doc-hdg\">Upload File *</h3>\r\n              <div class=\"doc-upload\">\r\n                <button class=\"btn btn-colored browse-btn\" role=\"button\" (click)=\"document.click()\">\r\n                  <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n                    xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n                    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n                      <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\"\r\n                        fill=\"#F7F7F7\">\r\n                        <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n                          <path\r\n                            d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n                            id=\"Combined-shape-1226\"></path>\r\n                        </g>\r\n                      </g>\r\n                    </g>\r\n                  </svg>\r\n                  Browse\r\n                </button>\r\n                <input type=\"file\" style=\"display: none\" [accept]=\"documentFormat\" #document\r\n                  (change)=\"attachDocument(doc, $event.target.files[0])\" />\r\n                <span class=\"doc-name\">\r\n                  <span *ngIf=\"eachDocumentFileNameisString(doc); else uploadedFile\">\r\n                    <a target=\"_blank\" [href]=\"eachDocumentControl(doc).file.value\">uploaded file\r\n                    </a>\r\n                  </span>\r\n                  <ng-template #uploadedFile>\r\n                    <span>\r\n                      {{\r\n                      eachDocumentControl(doc).file.value\r\n                      ? eachDocumentControl(doc).file.value.name\r\n                      : \"No File Chosen\"\r\n                      }}\r\n                    </span>\r\n                  </ng-template>\r\n                  <img alt=\"cross\" class=\"cursor-pointer\" role=\"button\" (click)=\"deleteDocument(pointIndex, doc)\"\r\n                    src=\"../assets/images/cross.svg\" />\r\n                </span>\r\n              </div>\r\n              <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachDocumentControl(doc).file\">\r\n              </control-messages>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.documents\"></control-messages>\r\n        <div>\r\n          <span class=\"add-another-outer\" role=\"button\" (click)=\"addDocument()\">\r\n            <span class=\"add-another\">\r\n              <img alt=\"plus-icon\" src=\"../assets/images/plus-icon.svg\" />\r\n              {{ documentString }}\r\n            </span>\r\n          </span>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <h3 class=\"form-two-hdg pt-3\">Payment Documents</h3>\r\n        <p class=\"form-two-des mb-2\">\r\n          These documents will be published on the sale detail page.\r\n        </p>\r\n      </div>\r\n      <div class=\"col-12\">\r\n        <div class=\"add-doc-outer\" formArrayName=\"paymentDocuments\">\r\n          <div class=\"add-doc\" *ngFor=\"let doc of documents(true).controls; let pointIndex = index\"\r\n            [formGroupName]=\"pointIndex\">\r\n            <div class=\"doc-left\">\r\n              <div class=\"form-group m-0\">\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Add Document Name</mat-label>\r\n                  <input matInput type=\"text\" formControlName=\"fileTitle\" [maxlength]=\"fieldMaxLengthShorter\"\r\n                    placeholder=\"Enter name\" />\r\n                </mat-form-field>\r\n                <char-counter [control]=\"eachDocumentControl(doc).fileTitle\" [maxlength]=\"fieldMaxLengthShorter\">\r\n                </char-counter>\r\n                <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachDocumentControl(doc).fileTitle\">\r\n                </control-messages>\r\n              </div>\r\n            </div>\r\n            <div class=\"doc-right\">\r\n              <h3 class=\"doc-hdg\">Upload File</h3>\r\n              <div class=\"doc-upload\">\r\n                <button class=\"btn btn-colored browse-btn\" role=\"button\" (click)=\"payDocument.click()\">\r\n                  <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n                    xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n                    <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n                      <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\"\r\n                        fill=\"#F7F7F7\">\r\n                        <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n                          <path\r\n                            d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n                            id=\"Combined-shape-1226\"></path>\r\n                        </g>\r\n                      </g>\r\n                    </g>\r\n                  </svg>\r\n                  Browse\r\n                </button>\r\n                <input type=\"file\" style=\"display: none\" [accept]=\"documentFormat\" #payDocument\r\n                  (change)=\"attachDocument(doc, $event.target.files[0])\" />\r\n                <span class=\"doc-name\">\r\n                  <span *ngIf=\"eachDocumentFileNameisString(doc); else uploadedFile\">\r\n                    <a target=\"_blank\" [href]=\"eachDocumentControl(doc).file.value\">uploaded file\r\n                    </a>\r\n                  </span>\r\n                  <ng-template #uploadedFile>\r\n                    <span>\r\n                      {{\r\n                      eachDocumentControl(doc).file.value\r\n                      ? eachDocumentControl(doc).file.value.name\r\n                      : \"No File Chosen\"\r\n                      }}\r\n                    </span>\r\n                  </ng-template>\r\n                  <img alt=\"cross\" class=\"cursor-pointer\" role=\"button\" (click)=\"deleteDocument(pointIndex, doc, true)\"\r\n                    src=\"../assets/images/cross.svg\" />\r\n                </span>\r\n              </div>\r\n              <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachDocumentControl(doc).file\">\r\n              </control-messages>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.paymentDocuments\">\r\n        </control-messages>\r\n        <div>\r\n          <span class=\"add-another-outer\" role=\"button\" (click)=\"addDocument(true)\">\r\n            <span class=\"add-another\">\r\n              <img alt=\"plus\" src=\"../assets/images/plus-icon.svg\" />\r\n              {{ payDocumentString }}\r\n            </span>\r\n          </span>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <h3 class=\"form-two-hdg pt-4 mt-3\">In Conjuction With</h3>\r\n        <p class=\"form-two-des mb-4\">Upload your partner logos</p>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div class=\"max-width-600\">\r\n          <div ngfDrop multiple=\"1\" selectable=\"1\" [(validDrag)]=\"validComboDrag\" [(files)]=\"partnerLogoArray\"\r\n            [accept]=\"logoFormat\" [maxSize]=\"logoSize\" [(lastInvalids)]=\"lastInvalids\"\r\n            class=\"well my-drop-zone custom-drop-zone\" [class.invalid-drag]=\"validComboDrag === false\"\r\n            [class.valid-drag]=\"validComboDrag\" [fileDropDisabled]=\"fileDropDisabled\">\r\n            <img alt=\"drag\" src=\"../assets/images/drag-upload-thumb.png\" />\r\n            <p class=\"drag-name\">\r\n              Drag & Drop Your Images Here\r\n              <br />\r\n              <span>Or</span>\r\n            </p>\r\n            <div class=\"for-btn\">\r\n              <span>Upload Image</span>\r\n            </div>\r\n          </div>\r\n          <div class=\"for-preview-images\">\r\n            <div class=\"image-zone-outer\" *ngFor=\"let item of addEditPartnerLogo; let i = index\">\r\n              <div class=\"image-zone-inner\">\r\n                <div>\r\n                  <img alt=\"prev-icon\" class=\"previewIcon\" [src]=\"item.name\" />\r\n                </div>\r\n                <span class=\"cross-icon\" role=\"button\" (click)=\"removeOldImage(item)\">\r\n                  <img alt=\"cross-icon\" src=\"../assets/images/black-cross.svg\" />\r\n                </span>\r\n              </div>\r\n            </div>\r\n            <div class=\"image-zone-outer mb-3\" *ngFor=\"let item of partnerLogoArray; let i = index\">\r\n              <div class=\"image-zone-inner\">\r\n                <div>\r\n                  <div class=\"previewIcon\" [ngfBackground]=\"item\"></div>\r\n                </div>\r\n                <span class=\"cross-icon\" role=\"button\" (click)=\"removeLogo(i)\">\r\n                  <img alt=\"cross-icon\" src=\"../assets/images/black-cross.svg\" />\r\n                </span>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"col-12\">\r\n      <div class=\"max-width-600 text-center\">\r\n        <p class=\"or-text\">Or</p>\r\n      </div>\r\n      <div class=\"max-width-600 text-center\">\r\n        <button class=\"btn btn-colored mb-2\" role=\"button\" (click)=\"SyncPartnerLogoImages()\">\r\n          Sync Images\r\n        </button>\r\n      </div>\r\n      <p class=\"upload-note m-0 pb-2\">\r\n        Note : Click \"Sync Images\" button to sync images placed on server.\r\n      </p>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <div class=\"mat-field-width mb-3\">\r\n          <p class=\"small-label mb-2\">Payment Instructions *</p>\r\n          <editor [initialValue]=\"paymentInstructionEditorString\" (editorData)=\"\r\n              editorContent($event, step3Form.controls.paymentInstructions)\r\n            \"></editor>\r\n          <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.paymentInstructions\">\r\n          </control-messages>\r\n\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div class=\"mat-field-width\">\r\n          <div class=\"form-group\">\r\n            <div class=\"custom-textarea\">\r\n              <ng-container *ngIf=\"showBPasEditor; else gBpEditor\">\r\n                <span>General Buyer's Premium *</span>\r\n                <editor [initialValue]=\"gBpText\" (editorData)=\"\r\n                    editorContent(\r\n                      $event,\r\n                      step3Form.controls.generalBuyerPremium,\r\n                      true\r\n                    )\r\n                  \" [characterLimit]=\"premiumMaxLength\"></editor>\r\n              </ng-container>\r\n              <ng-template #gBpEditor>\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>General Buyer's Premium *</mat-label>\r\n                  <input matInput type=\"number\" formControlName=\"gBP\" />\r\n                </mat-form-field>\r\n              </ng-template>\r\n            </div>\r\n            <control-messages *ngIf=\"showBPasEditor\" [isFormSubmitted]=\"submitted\"\r\n              [control]=\"step3Form.controls.generalBuyerPremium\"></control-messages>\r\n            <control-messages *ngIf=\"!showBPasEditor\" [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.gBP\">\r\n            </control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div class=\"mat-field-width\">\r\n          <div class=\"form-group\">\r\n            <div class=\"custom-textarea input-with-tooltip\">\r\n              <ng-container *ngIf=\"!showBPasEditor\">\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Credit Card Buyer's Premium </mat-label>\r\n                  <input matInput type=\"number\" formControlName=\"ccBP\" />\r\n                </mat-form-field>\r\n              </ng-container>\r\n              <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n                matTooltip=\"Enter a number for Credit Card Buyers Premium percentage, or 0 if Credit Cards are not accepted.\"\r\n                [matTooltipPosition]=\"'above'\">\r\n                <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n              </span>\r\n            </div>\r\n            <control-messages *ngIf=\"showBPasEditor\" [isFormSubmitted]=\"submitted\"\r\n              [control]=\"step3Form.controls.creditCardBuyerPremium\"></control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\" *ngIf=\"showFeaturedItemsHeader\">\r\n        <div class=\"mat-field-width pt-3\">\r\n          <div class=\"form-group\">\r\n            <div class=\"input-with-tooltip\">\r\n              <mat-form-field appearance=\"outline\">\r\n                <mat-label>Featured Items Header</mat-label>\r\n                <input matInput type=\"text\" formControlName=\"featuredItemHeader\" placeholder=\"Enter here\"\r\n                  [maxlength]=\"fieldMaxLength\" />\r\n              </mat-form-field>\r\n              <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n                matTooltip=\"Enter alternate header for Featured Items section\" [matTooltipPosition]=\"'above'\">\r\n                <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n              </span>\r\n            </div>\r\n            <char-counter [control]=\"step3Form.controls.featuredItemHeader\" [maxlength]=\"fieldMaxLength\"></char-counter>\r\n            <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.featuredItemHeader\">\r\n            </control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <p class=\"small-label mb-2\">Featured Items</p>\r\n        <div *ngIf=\"showForm\">\r\n          <editor [initialValue]=\"featuredItemsText\" (editorData)=\"\r\n              editorContent($event, step3Form.controls.featuredItems)\r\n            \" [characterLimit]=\"fieldMaxLengthTenThousand\"></editor>\r\n        </div>\r\n        <control-messages [isFormSubmitted]=\"submitted\" [control]=\"step3Form.controls.featuredItems\"></control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <h3 class=\"form-two-hdg pt-4 mt-3\">Custom Buttons</h3>\r\n        <p class=\"form-two-des mb-3 pb-1\">\r\n          Add your own buttons and link them to URL's or files\r\n        </p>\r\n      </div>\r\n      <div class=\"col-12\">\r\n        <div class=\"add-btns-outer\" formArrayName=\"buttons\">\r\n          <div class=\"add-btns-row\" *ngFor=\"let btn of buttons().controls; index as idx\" [formGroupName]=\"idx\">\r\n            <div class=\"add-image\">\r\n              <p class=\"btns-hdg\">Button Logo/Image *</p>\r\n              <div class=\"\">\r\n                <span *ngIf=\"btn.value.buttonName != null\">\r\n                  <img alt=\"btn-icon\" class=\"mb-2\" [src]=\"btn.value.buttonName\" width=\"50\" />\r\n                  {{\r\n                  btn.value.buttonName.split(\"/\")[\r\n                  btn.value.buttonName.split(\"/\").length - 1\r\n                  ] | characterLimit: 10\r\n                  }}\r\n                </span>\r\n                <button class=\"btn btn-colored select-btn\" role=\"button\"\r\n                  (click)=\"openModalImageButtonSelect(template, btn)\">\r\n                  Select Image\r\n                </button>\r\n              </div>\r\n              <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachButtonControl(btn).buttonName\">\r\n              </control-messages>\r\n            </div>\r\n\r\n            <div class=\"btn-label-input\">\r\n              <div class=\"form-group m-0\">\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Button Label *</mat-label>\r\n                  <input matInput type=\"text\" [maxlength]=\"fieldMaxLength\" formControlName=\"label\"\r\n                    placeholder=\"Enter Label\" />\r\n                </mat-form-field>\r\n                <char-counter [control]=\"eachButtonControl(btn).label\" [maxlength]=\"fieldMaxLength\"></char-counter>\r\n                <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachButtonControl(btn).label\">\r\n                </control-messages>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"radio-wrap\">\r\n              <p class=\"btns-hdg mb-2\">Button Type</p>\r\n              <div class=\"for-radio-select\">\r\n                <div class=\"d-flex\">\r\n                  <div class=\"form-group custom-radio radio-dark mr-4 pr-1 mb-0\">\r\n                    <input type=\"radio\" id=\"url\" [value]=\"true\" formControlName=\"isUrl\" selected\r\n                      (change)=\"changeButtonType(eachButtonControl(btn))\" />\r\n                    <label for=\"url\" class=\"m-0\">URL</label>\r\n                  </div>\r\n                  <div class=\"form-group custom-radio radio-dark mr-4 pr-2 mb-0\">\r\n                    <input id=\"file-upload\" type=\"radio\" [value]=\"false\" formControlName=\"isUrl\"\r\n                      (change)=\"changeButtonType(eachButtonControl(btn))\" />\r\n                    <label for=\"file-upload\" class=\"m-0\">File Upload</label>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n\r\n            <div class=\"upload-wrap\" *ngIf=\"btn.value.isUrl; else fileUploadTemplate\">\r\n              <div class=\"upload-wrap-inner\">\r\n                <div class=\"form-group m-0\">\r\n                  <mat-form-field appearance=\"outline\">\r\n                    <mat-label>URL</mat-label>\r\n                    <input matInput type=\"text\" formControlName=\"url\"\r\n                      placeholder=\"Enter URL e.g. http://www.example.com\" required />\r\n                  </mat-form-field>\r\n                  <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachButtonControl(btn).url\">\r\n                  </control-messages>\r\n                </div>\r\n              </div>\r\n            </div>\r\n            <ng-template #fileUploadTemplate>\r\n              <div class=\"upload-wrap\">\r\n                <p class=\"btns-hdg\">Upload File *</p>\r\n                <div class=\"upload-wrap-inner\">\r\n                  <button class=\"btn btn-colored browse-btn\" role=\"button\" (click)=\"buttons.click()\">\r\n                    <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n                      xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n                      <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n                        <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\"\r\n                          fill=\"#F7F7F7\">\r\n                          <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n                            <path\r\n                              d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n                              id=\"Combined-shape-1226\"></path>\r\n                          </g>\r\n                        </g>\r\n                      </g>\r\n                    </svg>\r\n                    Browse\r\n                  </button>\r\n                  <input type=\"file\" class=\"d-none\" [accept]=\"documentFormat\" #buttons\r\n                    (change)=\"attachButtonFile(btn, $event.target.files[0])\" />\r\n                  <span class=\"file-name\">\r\n                    <span *ngIf=\"eachButtonFileNameisString(btn); else uploadedFile\">\r\n                      <a target=\"_blank\" [href]=\"eachButtonControl(btn).auctionFileName.value\">uploaded file\r\n                      </a>\r\n                    </span>\r\n                    <ng-template #uploadedFile>\r\n                      <span>\r\n                        {{\r\n                        eachButtonControl(btn).auctionFileName.value\r\n                        ? eachButtonControl(btn).auctionFileName.value.name\r\n                        : \"No File Chosen\"\r\n                        }}\r\n                      </span>\r\n                    </ng-template>\r\n                  </span>\r\n                </div>\r\n                <control-messages [isFormSubmitted]=\"submitted\" [control]=\"eachButtonControl(btn).auctionFileName\">\r\n                </control-messages>\r\n              </div>\r\n            </ng-template>\r\n            <div class=\"delete-wrap\" role=\"button\" (click)=\"deleteButton(idx, btn)\">\r\n              <img alt=\"delete-icon\" src=\"../assets/images/delete.svg\" />\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"add-another-outer pt-2 mb-2\">\r\n          <span class=\"add-another\" role=\"button\" (click)=\"addButton()\">\r\n            <img alt=\"plus-icon\" src=\"../assets/images/plus-icon.svg\" />\r\n            {{ customButtonString }}\r\n          </span>\r\n        </div>\r\n      </div>\r\n\r\n      <div *ngIf=\"step3Form.invalid && submitted\" class=\"error-msg my-2\">\r\n        Please resolve error(s) first\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div class=\"steps-btn-wrap pt-4 mt-2\">\r\n          <button class=\"btn btn-white-border mr-2 half-mob\" role=\"button\" (click)=\"onCancel()\">\r\n            Cancel\r\n          </button>\r\n          <button class=\"btn btn-white-border mr-2 half-mob\" role=\"button\" (click)=\"goToStep()\">\r\n            Back\r\n          </button>\r\n          <button type=\"submit\" class=\"btn btn-colored full-mob\" role=\"button\" (click)=\"onSaveAndContinue()\"\r\n            [disabled]=\"loading || checkLoader$.value\">\r\n            Save & Continue\r\n          </button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</form>\r\n\r\n<ng-template #template>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Image For Custom Button</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <p class=\"sm-des\">Select a thumbnail image for your button</p>\r\n    <form (ngSubmit)=\"setButtonName(form)\" #form=\"ngForm\">\r\n      <ul class=\"image-listing\">\r\n        <li *ngFor=\"let btn of customButtons; index as idx; count as length\"\r\n          [ngClass]=\"{ active: btn == form.value.customButton }\">\r\n          <img alt=\"icon\" class=\"image-icon\" [src]=\"btn\" width=\"36\" />\r\n          <label [for]=\"idx\" class=\"m-0 w-100\">\r\n            <span class=\"for-dtl\">\r\n              {{ btn.split(\"/\")[btn.split(\"/\").length - 1] }}\r\n              <img alt=\"check-icon\" class=\"check-icon\" src=\"../assets/images/check-green2.svg\" />\r\n            </span>\r\n          </label>\r\n          <input name=\"customButton\" ngModel type=\"radio\" [value]=\"btn\" [id]=\"idx\" required />\r\n        </li>\r\n      </ul>\r\n      <div class=\"image-popup-wrap pt-4 mt-2\">\r\n        <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-colored\" [disabled]=\"form.invalid\">\r\n          Done\r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormControl } from '@angular/forms';\r\nimport {\r\n  LotService,\r\n  AuthenticationService,\r\n  AuctionService,\r\n  WatchListService,\r\n  CmsService,\r\n  WebStorageService,\r\n} from '../../../../services';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport routeTable from '../../../../utility/routeTable';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport jsPDF from 'jspdf';\r\nimport autoTable from 'jspdf-autotable';\r\nimport constants from '../../../../utility/constants';\r\nimport {\r\n  LotPublic,\r\n  AuctionCurrentState,\r\n  BulkBidSubmissionResult,\r\n} from '../../../../models';\r\nimport { BidService, BulkBid } from '../../../../services/bid.service';\r\nimport { AuctionAnnouncementService } from '../../../../services/auction-announcement.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport {\r\n  HubConnection,\r\n  HubConnectionBuilder,\r\n  LogLevel,\r\n} from '@microsoft/signalr';\r\nimport { interval, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-auction-lot-catalog',\r\n  templateUrl: './auction-lot-catalog.component.html',\r\n  styleUrls: ['./auction-lot-catalog.component.css'],\r\n})\r\nexport class AuctionLotCatalogComponent implements OnInit {\r\n  displayedColumns: string[] = [\r\n    'lotNum',\r\n    'lotDes',\r\n    'currentAmount',\r\n    'newBidAmount',\r\n    'delete',\r\n  ];\r\n  showListView = true;\r\n  auctionDetail: any;\r\n  showMore = false;\r\n\r\n  // for filters\r\n  lotTypes = 1; // 1 for 'All'\r\n  locations = '';\r\n  categories = '';\r\n  searchTerm = '';\r\n  pageNumber = 1;\r\n  pageSize: number;\r\n  pageSizes: Array<number> = [20, 50, 100];\r\n  sortBy = '';\r\n  sortOrder = '';\r\n  isPaginated = true;\r\n  onlyActive = false;\r\n\r\n  // currentUserLogin\r\n  loggedInUser = 0;\r\n\r\n  // auction lot data\r\n  auctionLotData: Array<LotPublic>;\r\n  totalAuctionLots: number;\r\n\r\n  // for dropdowns\r\n  lotTypesData: any;\r\n  lotCategoriesData: any;\r\n  lotLocationData: any;\r\n  submitBidError: string;\r\n\r\n  changeInSelectedBulkLots: boolean = false;\r\n\r\n  isLoggedIn: boolean | null;\r\n  responseData: any;\r\n  helpTextData: string;\r\n  modalRef: BsModalRef;\r\n  searchControl = new FormControl();\r\n  isSold: boolean = false;\r\n  auctionCode: string;\r\n  isLoading: boolean = false;\r\n  helpTexts = constants.common.helpText;\r\n  cmsPages = constants.common.cmsPages;\r\n\r\n  showListing: boolean = true;\r\n  showFeaturedLots: boolean = true;\r\n\r\n  selectedLotsForBulk: Array<LotPublic> = [];\r\n  showBulkSubmitBtn: boolean = true;\r\n  userPaddleNumber: string;\r\n  userFullName: string;\r\n  bulkBidSubmissionResult: Array<BulkBidSubmissionResult>;\r\n  isBulkBid: boolean;\r\n  @ViewChild('reviewModal', { static: false }) reviewModal: TemplateRef<any>;\r\n  featuredLotInfo = null;\r\n  auctionCurrentState: AuctionCurrentState;\r\n  readOnlyCatalog: boolean;\r\n  isUnpublishedLotNeeded: boolean = false;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  auctionAnnouncement: string;\r\n\r\n  numberOfminLotRequiredForBulkBid = 1;\r\n  private removedLotsFromBulkLot: LotPublic[] = [];\r\n  auctionStatuses = constants.common.auctionStatus;\r\n\r\n  // all socket related variables/properites\r\n  private lotHubConnection: HubConnection;\r\n  private hubUrl: string = environment.serverUrl + environment.hubs.bid;\r\n  loader: boolean = false;\r\n  isConnectionClosing: boolean = false;\r\n  isLotClosed: boolean = false;\r\n  public isLotConnected: boolean = false;\r\n  public sendLotDataToLotCard = null;\r\n  public sendLotWatcherDataToLotCard = null;\r\n  public sendTimerToLotCard = null;\r\n  private serverTimeSubcription: Subscription;\r\n  public isLowConnectionMode: boolean = false;\r\n\r\n  constructor(\r\n    private storage: WebStorageService,\r\n    private auctionService: AuctionService,\r\n    private authenticationService: AuthenticationService,\r\n    private lotService: LotService,\r\n    private route: ActivatedRoute,\r\n    private router: Router,\r\n    private modalService: BsModalService,\r\n    private toastr: ToastrService,\r\n    private watchListService: WatchListService,\r\n    private bidService: BidService,\r\n    private announcementService: AuctionAnnouncementService,\r\n    private cmsService: CmsService\r\n  ) {\r\n    this.isLoggedIn = this.authenticationService.checkLoggedIn();\r\n    let pageSize = storage.storage.get('buyer-lot-catalog-page-size');\r\n    if (pageSize) {\r\n      this.pageSize = +pageSize;\r\n    } else {\r\n      this.pageSize = constants.public.lotPageSize;\r\n    }\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.route.fragment.subscribe((frag) => {\r\n      if (frag === 'check') {\r\n        this.isUnpublishedLotNeeded = true;\r\n      }\r\n    });\r\n\r\n    this.route.queryParams.subscribe((qParams) => {\r\n      const lotTypes = qParams['type'];\r\n      const locations = qParams['loc'];\r\n      const categories = qParams['cat'];\r\n      const searchTerm = qParams['term'];\r\n      const pageNumber = qParams['page'];\r\n      const sortBy = qParams['sort'];\r\n      const sortOrder = qParams['order'];\r\n      const featured = qParams['featured'];\r\n\r\n      if (lotTypes !== null) {\r\n        this.lotTypes = +lotTypes;\r\n      }\r\n      if (locations !== null) {\r\n        this.locations = locations;\r\n      }\r\n      if (categories !== null) {\r\n        this.categories = categories;\r\n      }\r\n      //if (searchTerm) {\r\n      this.searchTerm = searchTerm;\r\n      //}\r\n      if (sortBy) {\r\n        this.sortBy = sortBy;\r\n      }\r\n      if (sortOrder) {\r\n        this.sortOrder = sortOrder;\r\n      }\r\n      if (featured) {\r\n        this.showFeaturedLots = featured === 'true';\r\n      }\r\n\r\n      if (pageNumber) {\r\n        this.pageNumber = +pageNumber;\r\n      } else {\r\n        this.pageNumber = 1;\r\n      }\r\n\r\n      if (\r\n        lotTypes !== null ||\r\n        locations !== null ||\r\n        categories !== null ||\r\n        searchTerm ||\r\n        pageNumber ||\r\n        sortBy ||\r\n        sortOrder ||\r\n        featured\r\n      ) {\r\n        this.getAuctionsLotData();\r\n      }\r\n    });\r\n\r\n    this.route.params.subscribe((params) => {\r\n      this.auctionCode = params['auctionCode'];\r\n    });\r\n\r\n    var loggedInData = this.authenticationService.checkLoggedIn();\r\n    if (loggedInData) {\r\n      let userData = this.authenticationService.currentBuyerValue()?.user;\r\n      this.loggedInUser = userData?.id;\r\n      this.userFullName = userData?.firstName + ' ' + userData?.lastName;\r\n    }\r\n    this.getResolverData();\r\n    this.getAuctionAnnouncement();\r\n\r\n    var loggedInData = this.storage.getBuyer()?.loggedIn;\r\n    if (loggedInData == true) {\r\n      this.loggedInUser = this.storage.getBuyer()?.currentUser?.user?.id;\r\n    }\r\n  }\r\n\r\n  private checkLotConnectionMode() {\r\n    let storedValue = this.storage.getBuyer();\r\n    if (storedValue)\r\n      this.isLowConnectionMode = storedValue?.lotLowConnectionMode;\r\n\r\n    if (!this.isLowConnectionMode) {\r\n      if (\r\n        this.loggedInUser > 0 &&\r\n        this.auctionDetail.auctionStatus == this.auctionStatuses.live &&\r\n        !this.readOnlyCatalog\r\n      ) {\r\n        this.buildConnection();\r\n      }\r\n    }\r\n  }\r\n\r\n  getResolverData() {\r\n    this.route.data.subscribe((res) => {\r\n      this.auctionCurrentState = res['auctionState'];\r\n      if (this.auctionCurrentState) {\r\n        let fragment = this.route.snapshot.fragment;\r\n        this.bindDataToForm1();\r\n        this.checkReadOnlyCatalog();\r\n        if (fragment === 'check') {\r\n          this.isUnpublishedLotNeeded = true;\r\n        } else {\r\n          this.checkLotsPublished();\r\n          if (\r\n            !this.auctionCurrentState.isActive &&\r\n            !this.auctionCurrentState.isApproved\r\n          ) {\r\n            this.checkAuctionDeactivated();\r\n          }\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  private checkAuctionDeactivated() {\r\n    if (\r\n      this.auctionCurrentState.isSentForApproval &&\r\n      this.auctionCurrentState.status === this.auctionStatuses.pending\r\n    ) {\r\n      this.isUnpublishedLotNeeded = true;\r\n      return;\r\n    }\r\n    if (!this.auctionCurrentState.saleType.isCatalogReadOnly) {\r\n      this.toastr.info(\r\n        `Unfortunately ${this.auctionCode} is no longer available for bidding and you will be notified if and when the auction becomes available for bidding again`,\r\n        constants.common.toast.infoTitle,\r\n        constants.common.toast.config\r\n      );\r\n    }\r\n    if (this.auctionCurrentState.saleType.isCatalogReadOnly) {\r\n      this.toastr.info(\r\n        `Unfortunately ${this.auctionCode} is deactivated and you will be notified if and when the auction becomes available again`,\r\n        constants.common.toast.infoTitle,\r\n        constants.common.toast.config\r\n      );\r\n    }\r\n    this.router.navigateByUrl('/');\r\n  }\r\n\r\n  private checkReadOnlyCatalog() {\r\n    this.readOnlyCatalog = this.auctionCurrentState.saleType.isCatalogReadOnly;\r\n  }\r\n\r\n  private getAuctionAnnouncement() {\r\n    const auctionAnnouncement = this.announcementService\r\n      .getAuctionAnnouncementByCode(this.auctionCode)\r\n      .subscribe((res) => {\r\n        this.auctionAnnouncement = res?.isActive ? res?.text : null;\r\n      });\r\n      this.subscriptions.push(auctionAnnouncement)\r\n  }\r\n\r\n  private bindDataToForm1() {\r\n    this.isLoading = true;\r\n    const auctionDetail = this.auctionService\r\n      .getAuctionDetailByCode(this.auctionCode)\r\n      .subscribe((res: any) => {\r\n        this.auctionDetail = res;\r\n        this.isLoading = false;\r\n        this.getAuctionsLotData();\r\n        this.getLotTypes();\r\n        this.getLotCategories();\r\n        this.getLotLocation();\r\n        this.searchLot();\r\n        this.checkLotConnectionMode();\r\n      });\r\n      this.subscriptions.push(auctionDetail)\r\n  }\r\n\r\n  filterModel() {\r\n    return {\r\n      auctionId: this.auctionDetail?.id,\r\n      lotTypes: this.lotTypes,\r\n      locations: this.locations,\r\n      categories: this.categories,\r\n      searchTerm: this.searchTerm,\r\n      pageNumber: this.pageNumber,\r\n      pageSize: this.pageSize,\r\n      sortBy: this.sortBy,\r\n      sortOrder: this.sortOrder,\r\n      isPaginated: this.isPaginated,\r\n      onlyActive: this.onlyActive,\r\n      skipFeatured: !this.showFeaturedLots,\r\n      isFromUrl: this.isUnpublishedLotNeeded,\r\n    };\r\n  }\r\n\r\n  featuredLotButtonChange(isShow: any) {\r\n    this.router.navigate([], {\r\n      relativeTo: this.route,\r\n      queryParams: { featured: isShow },\r\n      queryParamsHandling: 'merge',\r\n      replaceUrl: true,\r\n      preserveFragment: true,\r\n    });\r\n  }\r\n\r\n  getAuctionsLotData() {\r\n    if (!this.auctionDetail) return;\r\n    this.showListing = false;\r\n    this.isLoading = true;\r\n    if (this.searchTerm == null) {\r\n      this.searchTerm = '';\r\n    }\r\n    let model = this.filterModel();\r\n    const allCurrentAuctionsLot = this.lotService.getAllCurrentAuctionsLots(model).subscribe(\r\n      (res) => {\r\n        this.showListing = true;\r\n        this.auctionLotData = res.data;\r\n        if (res.data.length > 0)\r\n          this.userPaddleNumber =\r\n            this.auctionLotData[0].loggedInUser?.paddleNumber;\r\n        this.isLoading = false;\r\n        this.totalAuctionLots = res.totalCount;\r\n      },\r\n      () => {\r\n        this.showListing = false;\r\n        this.isLoading = false;\r\n      }\r\n    );\r\n    this.subscriptions.push(allCurrentAuctionsLot)\r\n  }\r\n\r\n  onPageChange(paging: number) {\r\n    this.router.navigate([], {\r\n      relativeTo: this.route,\r\n      queryParams: { page: paging },\r\n      queryParamsHandling: 'merge',\r\n      replaceUrl: true,\r\n      preserveFragment: true,\r\n    });\r\n  }\r\n\r\n  onPageSizeChange(size: number) {\r\n    this.pageSize = size;\r\n    this.storage.storage.set('buyer-lot-catalog-page-size', size);\r\n    this.getAuctionsLotData();\r\n  }\r\n\r\n  goToRegister(auctionCode: number) {\r\n    this.router.navigate([auctionCode, routeTable.public.auctionRegister], {\r\n      queryParams: { returnTo: this.router.url },\r\n    });\r\n  }\r\n\r\n  getLotTypes() {\r\n    const lotTypes = this.lotService.getLotTypesDropDownList().subscribe((res: any) => {\r\n      this.lotTypesData = res;\r\n    });\r\n    this.subscriptions.push(lotTypes)\r\n  }\r\n\r\n  getLotCategories() {\r\n    const lotCategories = this.lotService\r\n      .getLotCategories(this.auctionDetail.id)\r\n      .subscribe((res: any) => {\r\n        this.lotCategoriesData = res;\r\n      });\r\n      this.subscriptions.push(lotCategories)\r\n  }\r\n\r\n  getLotLocation() {\r\n    const lotLocation = this.lotService\r\n      .getLotLocation(this.auctionDetail.id)\r\n      .subscribe((res: any) => {\r\n        this.lotLocationData = res;\r\n      });\r\n      this.subscriptions.push(lotLocation)\r\n  }\r\n\r\n  lotTypeFilter(value) {\r\n    value = value == null ? 1 : value;\r\n    this.router.navigate([], {\r\n      relativeTo: this.route,\r\n      queryParams: { type: value },\r\n      queryParamsHandling: 'merge',\r\n      replaceUrl: true,\r\n      preserveFragment: true,\r\n    });\r\n  }\r\n\r\n  categoryTypeFilter(value) {\r\n    value = value == null ? '' : value;\r\n    this.router.navigate([], {\r\n      relativeTo: this.route,\r\n      queryParams: { cat: value },\r\n      queryParamsHandling: 'merge',\r\n      replaceUrl: true,\r\n      preserveFragment: true,\r\n    });\r\n  }\r\n\r\n  locationTypeFilter(value) {\r\n    value = value == null ? '' : value;\r\n    this.router.navigate([], {\r\n      relativeTo: this.route,\r\n      queryParams: { loc: value },\r\n      queryParamsHandling: 'merge',\r\n      replaceUrl: true,\r\n      preserveFragment: true,\r\n    });\r\n  }\r\n\r\n  goToViewLotDetail(id) {\r\n    this.router.navigate([id], {\r\n      relativeTo: this.route,\r\n      queryParams: { returnTo: this.router.url, preserveFragment: true },\r\n    });\r\n  }\r\n\r\n  openHelpModal(template: TemplateRef<any>, helpTextId: number) {\r\n    this.isLoading = true;\r\n    let textId: number;\r\n    if (helpTextId == this.helpTexts.catalogBidding)\r\n      textId = this.cmsPages.helpTextCatalogWithBidding;\r\n    if (helpTextId == this.helpTexts.readOnlyCatalog)\r\n      textId = this.cmsPages.helpTextReadOnlyCatalog;\r\n    const cmsPublic = this.cmsService.GetCmsPublic(textId).subscribe((res) => {\r\n      this.helpTextData = res;\r\n      this.isLoading = false;\r\n      this.modalRef = this.modalService.show(\r\n        template,\r\n        Object.assign(\r\n          {},\r\n          {\r\n            class:\r\n              'custom-popup auction-help-modal modal-dialog modal-dialog-centered',\r\n          }\r\n        )\r\n      );\r\n    });\r\n    this.subscriptions.push(cmsPublic)\r\n  }\r\n\r\n  resetSearch() {\r\n    this.searchControl.reset();\r\n  }\r\n\r\n  private searchLot() {\r\n    this.searchControl.valueChanges\r\n      .pipe(debounceTime(1100))\r\n      .subscribe((value) => {\r\n        value = value == null ? '' : value;\r\n        this.router.navigate([], {\r\n          relativeTo: this.route,\r\n          queryParams: { term: value },\r\n          queryParamsHandling: 'merge',\r\n          replaceUrl: true,\r\n          preserveFragment: true,\r\n        });\r\n      });\r\n  }\r\n\r\n  goBack() {\r\n    this.router.navigate([this.auctionCode]);\r\n  }\r\n\r\n  downloadCSV() {\r\n    let resArray: any = [];\r\n    const downloadCSV = this.lotService.downloadCSV(this.auctionDetail.id).subscribe((res) => {\r\n      resArray = JSON.parse(res);\r\n      let data: any = [];\r\n      resArray.forEach((element) => {\r\n        var temp = [\r\n          element.LotNumber,\r\n          element.Description,\r\n          element.Category,\r\n          element.Location,\r\n          new Date(element.LotStartTimeUtc).toDateString() +\r\n            ' (' +\r\n            element.TimeZoneName +\r\n            ')',\r\n          new Date(element.LotEndTimeUtc).toDateString() +\r\n            ' (' +\r\n            element.TimeZoneName +\r\n            ')',\r\n        ];\r\n        data.push(temp);\r\n      });\r\n      var doc = new jsPDF();\r\n      autoTable(doc, {\r\n        head: [\r\n          [\r\n            'Lot Number',\r\n            'Description',\r\n            'Lot Category',\r\n            'Location',\r\n            'Start Date',\r\n            'End Date',\r\n          ],\r\n        ],\r\n        body: data,\r\n      });\r\n      doc.save(this.auctionDetail.title + 'catalog.pdf');\r\n    });\r\n    this.subscriptions.push(downloadCSV)\r\n  }\r\n\r\n  addToWatchList(lotId, lotNumber) {\r\n    let model = {\r\n      lotId: lotId,\r\n      auctionId: this.auctionDetail.id,\r\n    };\r\n    const addToWatchList = this.watchListService.addToWatchList(model).subscribe(() => {\r\n      this.toastr.success(\r\n        `Lot # ${lotNumber} added to Watchlist`,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n      this.getAuctionsLotData();\r\n    });\r\n    this.subscriptions.push(addToWatchList)\r\n  }\r\n\r\n  removeFromWatchList(lotId, lotNumber) {\r\n    let model = {\r\n      lotId: lotId,\r\n      auctionId: this.auctionDetail.id,\r\n    };\r\n    const removeWatchList = this.watchListService.removeFromWatchList(model).subscribe(() => {\r\n      this.toastr.success(\r\n        `Lot # ${lotNumber} removed from Watchlist`,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n      this.getAuctionsLotData();\r\n    });\r\n    this.subscriptions.push(removeWatchList)\r\n  }\r\n\r\n  /////// review bid section\r\n  // get lot from lot-card component\r\n  getSelectedLots(lotData: LotPublic | number) {\r\n    this.featuredLotInfo = lotData;\r\n    if (lotData > 0) {\r\n      let index = this.selectedLotsForBulk.findIndex(\r\n        (lot) => lot.id === (lotData as number)\r\n      );\r\n      if (index != -1) {\r\n        this.selectedLotsForBulk.splice(index, 1);\r\n      }\r\n    } else {\r\n      let index = this.selectedLotsForBulk.findIndex(\r\n        (lot) => lot.id === (lotData as LotPublic).id\r\n      );\r\n      if (index == -1) {\r\n        this.selectedLotsForBulk.push(lotData as LotPublic);\r\n      } else {\r\n        this.selectedLotsForBulk.splice(index, 1, lotData as LotPublic);\r\n      }\r\n    }\r\n    this.isBulkBid = this.selectedLotsForBulk.length >= 1 ? true : false;\r\n  }\r\n\r\n  // check to open the review popup\r\n  isBulkBidReview(value: boolean) {\r\n    if (value) {\r\n      this.createBulkBidModel();\r\n      this.removedLotsFromBulkLot = [];\r\n      this.modalRef = this.modalService.show(this.reviewModal, {\r\n        class: 'custom-popup modal-dialog-centered',\r\n        ignoreBackdropClick: true,\r\n        keyboard: false,\r\n      });\r\n      this.modalRef.onHidden.subscribe(() => {\r\n        this.changeInSelectedBulkLots = false;\r\n      });\r\n    }\r\n  }\r\n\r\n  // call API for submission\r\n  submitBulkBid() {\r\n    if (!this.selectedLotsForBulk.length) return;\r\n    this.isLoading = true;\r\n    let model = this.createBulkBidModel();\r\n    this.showBulkSubmitBtn = false;\r\n    const submitBid = this.bidService.submitPublicBulkBid(model).subscribe(\r\n      (res: BulkBidSubmissionResult[]) => {\r\n        this.isLoading = false;\r\n        this.bulkBidSubmissionResult = res;\r\n        if (res && res.length > 0) {\r\n          if (res.every((i) => i.isSuccess)) {\r\n            this.toastr.success(\r\n              'Bid(s) Submitted Successfully',\r\n              constants.common.toast.successTitle,\r\n              constants.common.toast.config\r\n            );\r\n          }\r\n          if (res.every((i) => i.isDeactivated)) {\r\n            this.checkAuctionDeactivated();\r\n          }\r\n        }\r\n        this.closeReviewModal();\r\n        this.showBulkSubmitBtn = false;\r\n      },\r\n      (error) => {\r\n        this.isLoading = false;\r\n        this.showBulkSubmitBtn = false;\r\n        this.submitBidError = error;\r\n      }\r\n    )\r\n    this.subscriptions.push(submitBid)\r\n  }\r\n\r\n  // creating bulk model for submission API\r\n  private createBulkBidModel(): BulkBid {\r\n    let lotsToBeSubmit = this.selectedLotsForBulk\r\n      .filter((val) => val.newBid >= val.nextRequiredBid)\r\n      .map((val) => ({\r\n        lotId: val.id,\r\n        amount: val.newBid,\r\n      }));\r\n\r\n    this.showBulkSubmitBtn = lotsToBeSubmit.length > 0 ? true : false;\r\n\r\n    return {\r\n      auctionId: this.auctionDetail.id,\r\n      lotAmount: lotsToBeSubmit,\r\n      userId: this.loggedInUser,\r\n      paddleNumber: this.userPaddleNumber,\r\n      proxyUserId: null,\r\n    };\r\n  }\r\n\r\n  // remove lot logic\r\n  removeLotFromReviewBids(index: number) {\r\n    this.removedLotsFromBulkLot.push(\r\n      this.selectedLotsForBulk.splice(index, 1)[0]\r\n    );\r\n  }\r\n\r\n  closeReviewModal() {\r\n    this.showBulkSubmitBtn = true;\r\n    this.changeInSelectedBulkLots = false;\r\n    this.submitBidError = null;\r\n    if (this.removedLotsFromBulkLot.length) {\r\n      this.bulkBidSubmissionResult = this.createRemovedLotModel();\r\n    }\r\n    if (this.modalRef) this.modalRef.hide();\r\n  }\r\n\r\n  // we will send this model only when review modal close so that entered values removed from the lot\r\n  private createRemovedLotModel(): BulkBidSubmissionResult[] {\r\n    let removeLotResult: BulkBidSubmissionResult[];\r\n    let addedLotResult: BulkBidSubmissionResult[];\r\n\r\n    let lotIds: number[] = this.bulkBidSubmissionResult?.map((it) => it.lotId);\r\n\r\n    /* this block will only be work if bulkBidSubmissionResult has API data otherwise\r\n     else block work where we simply tells the which lot is removed from the current selected lot\r\n    */\r\n    if (\r\n      lotIds &&\r\n      lotIds.length &&\r\n      this.bulkBidSubmissionResult.every(\r\n        (it) => it.bidStatus > 0 && it.bidStatus != null\r\n      )\r\n    ) {\r\n      removeLotResult = this.removedLotsFromBulkLot.map((it) => {\r\n        if (!lotIds.includes(it.id)) {\r\n          return {\r\n            isRemoved: true,\r\n            lotId: it.id,\r\n          };\r\n        }\r\n      });\r\n      return this.bulkBidSubmissionResult.concat(removeLotResult);\r\n    } else {\r\n      removeLotResult = this.removedLotsFromBulkLot.map((it) => ({\r\n        isRemoved: true,\r\n        lotId: it.id,\r\n      }));\r\n      addedLotResult = this.selectedLotsForBulk.map((it) => ({\r\n        isRemoved: false,\r\n        lotId: it.id,\r\n      }));\r\n      return removeLotResult.concat(addedLotResult);\r\n    }\r\n  }\r\n\r\n  checkLotsPublished() {\r\n    let isLotsPublishedFlag = this.auctionCurrentState.isInHouseLotConfigured;\r\n    if (\r\n      this.auctionCurrentState.isSentForApproval &&\r\n      this.auctionCurrentState.status === this.auctionStatuses.pending\r\n    ) {\r\n      return;\r\n    }\r\n    if (!isLotsPublishedFlag) this.goBack();\r\n  }\r\n\r\n  // WebSocket Logic comes here\r\n  // single websocket connection will handle latest data for each lot card\r\n  buildConnection() {\r\n    this.lotHubConnection = new HubConnectionBuilder()\r\n      .configureLogging(LogLevel.Debug)\r\n      .withUrl(this.hubUrl)\r\n      .withAutomaticReconnect([2000, 4000])\r\n      .build();\r\n\r\n    this.registerHubEvents();\r\n\r\n    this.startConnection();\r\n  }\r\n\r\n  startConnection() {\r\n    this.lotHubConnection\r\n      .start()\r\n      .then(() => {\r\n        this.isConnectionClosing = false;\r\n        this.loader = false;\r\n        this.isLotConnected = true;\r\n        this.isLowConnectionMode = false;\r\n        this.getLotData();\r\n      })\r\n      .catch(() => {\r\n        this.isConnectionClosing = true;\r\n        this.loader = false;\r\n        this.isLotConnected = false;\r\n        this.isLowConnectionMode = true;\r\n      });\r\n  }\r\n\r\n  registerHubEvents() {\r\n    this.lotHubConnection.onreconnecting(() => {\r\n      this.isConnectionClosing = false;\r\n      this.loader = false;\r\n      this.isLotConnected = false;\r\n      this.isLowConnectionMode = true;\r\n    });\r\n\r\n    this.lotHubConnection.onreconnected(() => {\r\n      this.isConnectionClosing = false;\r\n      this.loader = false;\r\n      this.isLotConnected = true;\r\n      this.isLowConnectionMode = false;\r\n      this.getLotData();\r\n    });\r\n\r\n    this.lotHubConnection.onclose(() => {\r\n      this.isConnectionClosing = true;\r\n      this.loader = false;\r\n      this.isLowConnectionMode = true;\r\n      if (!this.isLotConnected) this.buildConnection();\r\n    });\r\n\r\n    this.biddingListener();\r\n  }\r\n\r\n  getLotData() {\r\n    if (!this.isLowConnectionMode) this.loader = true;\r\n    let groupName: string = this.auctionDetail.id + '#';\r\n    this.lotHubConnection\r\n      .invoke('AddUserToLotBidding', groupName)\r\n      .then(() => {\r\n        this.loader = false;\r\n      })\r\n      .catch(() => {\r\n        this.loader = false;\r\n      });\r\n    this.getServerCurrentDatetime();\r\n  }\r\n\r\n  biddingListener() {\r\n    this.lotHubConnection.on('GetLotByGroupName', (data) => {\r\n      if (data) {\r\n        this.checkOpenedBulkLotPresentInRealTimeData(data);\r\n        this.sendLotDataToLotCard = data;\r\n      }\r\n    });\r\n  }\r\n\r\n  getServerCurrentDatetime() {\r\n    this.serverTimeSubcription = interval(10000).subscribe(() => {\r\n      this.lotHubConnection.invoke('ServerCurrentDateTime').then((response) => {\r\n        this.sendTimerToLotCard = response;\r\n      });\r\n    });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.serverTimeSubcription) this.serverTimeSubcription.unsubscribe();\r\n    if (this.isLotConnected) {\r\n      this.lotHubConnection.stop().then(() => {\r\n        console.log('Connection successfully stopped');\r\n      });\r\n    }\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n\r\n  }\r\n\r\n  // check realtime data having ids and amount changes in selected bulk lot popup\r\n  checkOpenedBulkLotPresentInRealTimeData(realTimeData) {\r\n    if (this.selectedLotsForBulk && this.selectedLotsForBulk?.length) {\r\n      let ids = this.selectedLotsForBulk.map((it) => it.id);\r\n      if (ids.includes(realTimeData?.lotId)) {\r\n        this.changeInSelectedBulkLots = true;\r\n      } else this.changeInSelectedBulkLots = false;\r\n    }\r\n  }\r\n\r\n}\r\n","<app-loader [showLoader]=\"isLoading\"></app-loader>\r\n<app-loader [showLoader]=\"loader || isConnectionClosing\"></app-loader>\r\n\r\n<div class=\"public-wrap\">\r\n  <div class=\"container\">\r\n    <div class=\"row back-with-register\">\r\n      <div class=\"col-md-4 back-link-outer mb-0 d-flex\">\r\n        <a class=\"back-link no-wrap\" role=\"button\" (click)=\"goBack()\">\r\n          <img alt=\"back-icon\" src=\"../assets/images/back.svg\" /> Back To\r\n          Auction Details\r\n        </a>\r\n      </div>\r\n\r\n      <div class=\"col-md-8 right-wrap\" *ngIf=\"\r\n          auctionDetail?.saleType?.registrationFormat == 1 &&\r\n          auctionDetail.isRegistrationActive &&\r\n          (auctionDetail.auctionStatus == 1 ||\r\n            auctionDetail.auctionStatus == 2) &&\r\n          !auctionDetail.loggedInUser\r\n        \">\r\n        <div class=\"register-to-bid-outer\">\r\n          <div class=\"register-to-bid\">\r\n            <div class=\"for-icon\">\r\n              <img alt=\"register-icon\" src=\"../assets/images/register-bid.svg\" />\r\n            </div>\r\n\r\n            <div class=\"for-message\">\r\n              <p class=\"m-0\">\r\n                To start bidding please\r\n                <br />\r\n                register to this auction.\r\n              </p>\r\n            </div>\r\n\r\n            <div class=\"for-btn\">\r\n              <button type=\"button\" class=\"btn btn-colored\" role=\"button\"\r\n                (click)=\"goToRegister(auctionDetail?.auctionCode)\">\r\n                Register To Bid\r\n              </button>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"row mb-3\">\r\n      <div class=\"col-md-3\">\r\n        <h3 class=\"register-name mb-0 pb-2\">Lot Catalog</h3>\r\n      </div>\r\n\r\n      <div class=\"col-md-9 text-right\">\r\n        <button class=\"btn btn-colored btn-lot-icon mb-2\" role=\"button\" (click)=\"downloadCSV()\">\r\n          <img alt=\"download-icon\" class=\"download-icon\" src=\"./assets/images/download-white.svg\" />\r\n          Download Catalog\r\n        </button>\r\n        <button class=\"btn btn-white-border btn-lot-icon2 ml-2 mb-2\" *ngIf=\"\r\n            ![0, helpTexts.none].includes(auctionDetail?.saleType?.showHelpText)\r\n          \" role=\"button\" (click)=\"\r\n            openHelpModal(helpTemplate, auctionDetail?.saleType?.showHelpText)\r\n          \">\r\n          <img alt=\"help-icon\" class=\"help-icon\" src=\"./assets/images/help-colored.svg\" />\r\n          Bidding Help\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"auction-with-logo mb-3\">\r\n      <div class=\"left-logo\">\r\n        <img class=\"auction-logo\" alt=\"auction-logo\" AuctionDefaultImage *ngIf=\"auctionDetail\"\r\n          [image]=\"auctionDetail.clientLogo\" />\r\n      </div>\r\n      <div class=\"right-logo\">\r\n        <div class=\"d-flex mb-2\">\r\n          <span class=\"card-badge no-card min-width-auto badge-dark\">{{ auctionDetail?.saleType?.publicName }}\r\n          </span>\r\n        </div>\r\n\r\n        <h3 class=\"auc-name mb-2\">{{ auctionDetail?.title }}</h3>\r\n        <p class=\"auc-des mb-3\" [innerHTML]=\"auctionDetail?.tagline\"></p>\r\n        <p class=\"auc-location mb-2\">\r\n          {{ auctionDetail?.auctionLocations | locationNames }}\r\n        </p>\r\n        <p class=\"auc-address m-0\" [innerHtml]=\"\r\n            auctionDetail?.saleType?.auctionDate\r\n              | auctionDateFormat\r\n                : auctionDetail?.auctionStatus\r\n                : auctionDetail?.timeZoneName\r\n                : auctionDetail?.startDateTime\r\n                : auctionDetail?.endDateTime\r\n                : auctionDetail?.saleType?.dateText\r\n          \"></p>\r\n        <p class=\"auc-address m-0\" *ngIf=\"auctionDetail?.generalBuyersPremiumText != '0'\">\r\n          A Buyers Premium applies to this sale, please click More Info for BP\r\n          rates\r\n        </p>\r\n        <p class=\"auc-more-info\" *ngIf=\"!showMore\" role=\"button\" (click)=\"showMore = true\">\r\n          <span>\r\n            More Info\r\n            <img alt=\"arrow\" class=\"ml-2\" src=\"/assets/images/arrow-down-colored.svg\" />\r\n          </span>\r\n        </p>\r\n        <p class=\"auc-more-info\" *ngIf=\"showMore\">\r\n          <span role=\"button\" (click)=\"showMore = false\">\r\n            Less Info\r\n            <img alt=\"arrow\" class=\"ml-2 arrow-rotated\" src=\"/assets/images/arrow-down-colored.svg\" />\r\n          </span>\r\n        </p>\r\n        <div class=\"auc-less-info\" *ngIf=\"showMore\">\r\n          <div class=\"auc-less-info-inner\">\r\n            <span class=\"less-name\">Currency</span>\r\n            <span class=\"less-dtl\">{{ auctionDetail?.currencyName }}</span>\r\n          </div>\r\n          <div class=\"auc-less-info-inner\" *ngIf=\"auctionDetail?.generalBuyersPremiumText != '0'\">\r\n            <span class=\"less-name\">Buyer's Premium</span>\r\n            <span class=\"less-dtl\" *ngIf=\"auctionDetail?.creditCardBuyersPremiumText == 'null'; else ccBlock\"\r\n              [innerHTML]=\"auctionDetail?.generalBuyersPremiumText+'%'\"></span>\r\n            <ng-template #ccBlock>\r\n              <span class=\"less-dtl\" [innerHTML]=\"auctionDetail?.creditCardBuyersPremiumText\"></span>\r\n            </ng-template>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"row pt-4\">\r\n      <div class=\"col-8 col-md-9 col-auto left-lot\">\r\n        <h3 class=\"total-lot mb-2\">{{ totalAuctionLots }} Lots</h3>\r\n        <p class=\"lot-des\">\r\n          Lot Closing : Lots will close in\r\n          {{ auctionDetail?.staggerLotCloseTime }} second intervals beginning\r\n          with the first Lot on\r\n          {{ auctionDetail?.endDateTime | date: \"EEEE, MMMM d At h:mm a\" }}\r\n          {{ auctionDetail?.timeZoneName }}\r\n        </p>\r\n      </div>\r\n      <div class=\"col-4 col-md-3 col-auto right-lot ml-auto text-right\">\r\n        <button class=\"lgv-btn mr-1 mr-md-3\" [ngClass]=\"{ active: !showListView }\" role=\"button\"\r\n          (click)=\"showListView = false\">\r\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\r\n            <g fill=\"none\" fill-rule=\"evenodd\">\r\n              <g fill=\"currentColor\" fill-rule=\"nonzero\">\r\n                <path\r\n                  d=\"M1210.335 346.889c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm8.889 0c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm-8.89 1.778h-3.556v3.555h3.555v-3.555zm8.888 0h-3.555v3.555h3.555v-3.555zM1210.335 338c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm8.889 0c.98 0 1.776.795 1.776 1.776v3.559c0 .98-.795 1.776-1.776 1.776h-3.559c-.98 0-1.776-.795-1.776-1.776v-3.559c0-.98.795-1.776 1.776-1.776h3.559zm-8.89 1.778h-3.556v3.555h3.555v-3.555zm8.888 0h-3.555v3.555h3.555v-3.555z\"\r\n                  transform=\"translate(-1205 -338) matrix(-1 0 0 1 2426 0)\" />\r\n              </g>\r\n            </g>\r\n          </svg>\r\n        </button>\r\n        <button class=\"lgv-btn\" [ngClass]=\"{ active: showListView }\" role=\"button\" (click)=\"showListView = true\">\r\n          <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"13\" viewBox=\"0 0 16 13\">\r\n            <g fill=\"none\" fill-rule=\"evenodd\">\r\n              <g fill=\"currentColor\" fill-rule=\"nonzero\">\r\n                <path\r\n                  d=\"M1266.071 350.143c.513 0 .929.416.929.928 0 .513-.416.929-.929.929h-14.142c-.513 0-.929-.416-.929-.929 0-.512.416-.928.929-.928h14.142zm0-5.572c.513 0 .929.416.929.929 0 .513-.416.929-.929.929h-14.142c-.513 0-.929-.416-.929-.929 0-.513.416-.929.929-.929h14.142zm0-5.571c.513 0 .929.416.929.929 0 .512-.416.928-.929.928h-14.142c-.513 0-.929-.416-.929-.928 0-.513.416-.929.929-.929h14.142z\"\r\n                  transform=\"translate(-1251 -339) matrix(-1 0 0 1 2518 0)\" />\r\n              </g>\r\n            </g>\r\n          </svg>\r\n        </button>\r\n      </div>\r\n    </div>\r\n\r\n    <div *ngIf=\"auctionAnnouncement\">\r\n      <div class=\"alertWithIcon\">\r\n        <img alt=\"announcement\" src=\"../assets/images/announcement.svg\" />\r\n        <p [innerHTML]=\"auctionAnnouncement\"></p>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <div class=\"auction-search\">\r\n          <div class=\"form-group mb-4 no-float-fields no-float-with-search search-width\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <input matInput type=\"text\" placeholder=\"Search\" [formControl]=\"searchControl\" />\r\n            </mat-form-field>\r\n            <span class=\"filter-icon search-icon\" role=\"button\" (click)=\"resetSearch()\"\r\n              *ngIf=\"searchControl.value != null; else showSearch\">\r\n              <img alt=\"cross\" src=\"../assets/images/cross.svg\" title=\"clear\" />\r\n            </span>\r\n\r\n            <ng-template #showSearch>\r\n              <span class=\"search-icon\">\r\n                <img alt=\"search\" title=\"search\" src=\"/assets/images/search-icon2.svg\" />\r\n              </span>\r\n            </ng-template>\r\n          </div>\r\n\r\n          <div class=\"form-group mb-4 no-float-fields auc-width d-none\">\r\n            <mat-select [value]=\"lotTypes\" (selectionChange)=\"lotTypeFilter($event.value)\" placeholder=\"Filter Lots\">\r\n              <mat-option *ngFor=\"let lotTypes of lotTypesData\" [value]=\"lotTypes.value\">{{ lotTypes.text }}\r\n              </mat-option>\r\n            </mat-select>\r\n          </div>\r\n\r\n          <div class=\"form-group mb-4 no-float-fields sort-width\">\r\n            <mat-select [value]=\"categories\" (selectionChange)=\"categoryTypeFilter($event.value)\"\r\n              placeholder=\"Category\">\r\n              <mat-option [value]=\"null\">All</mat-option>\r\n              <mat-option *ngFor=\"let category of lotCategoriesData\" [value]=\"category\">{{ category }}\r\n              </mat-option>\r\n            </mat-select>\r\n          </div>\r\n\r\n          <div class=\"form-group mb-4 no-float-fields sort-width\">\r\n            <mat-select [value]=\"locations\" (selectionChange)=\"locationTypeFilter($event.value)\"\r\n              placeholder=\"All Locations\">\r\n              <mat-option [value]=\"null\">All</mat-option>\r\n              <mat-option *ngFor=\"let location of lotLocationData\" [value]=\"location\">{{ location }}\r\n              </mat-option>\r\n            </mat-select>\r\n          </div>\r\n\r\n          <div class=\"form-group mb-4 no-float-fields sort-width featuredLotToggle\">\r\n            <p class=\"body-txt-16\">\r\n              Show Featured Lots\r\n              <label class=\"switch-slider\">\r\n                <input type=\"checkbox\" class=\"form-check-input1 slide-check-input\" [value]=\"showFeaturedLots\"\r\n                  [checked]=\"showFeaturedLots\" (change)=\"featuredLotButtonChange($event.target.checked)\" />\r\n                <span class=\"slider round\"></span>\r\n              </label>\r\n            </p>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"mb-4 pb-2\">\r\n      <app-lot-connection-mode *ngIf=\"!readOnlyCatalog\"></app-lot-connection-mode>\r\n    </div>\r\n\r\n    <div class=\"pagination-mt-0\">\r\n      <app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\"\r\n        (page)=\"onPageChange($event)\" [pageSizes]=\"pageSizes\" (selectedPageSize)=\"onPageSizeChange($event)\"\r\n        *ngIf=\"totalAuctionLots !== 0\">\r\n      </app-paginator>\r\n    </div>\r\n\r\n    <div class=\"row\" *ngIf=\"loggedInUser > 0\">\r\n      <div class=\"col-12 text-right lot-selected mb-3\">\r\n        <span class=\"select-no\" *ngIf=\"selectedLotsForBulk?.length != 0\">\r\n          <strong>{{ selectedLotsForBulk?.length | number }} Lot(s) Selected</strong>\r\n          <ng-container *ngIf=\"selectedLotsForBulk?.length > 1\">\r\n            For Bulk Bid\r\n          </ng-container>\r\n        </span>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"empty-state-container empty-pad-2\" *ngIf=\"totalAuctionLots == 0; else showTable\">\r\n      <div class=\"empty-state-content\">\r\n        <img alt=\"empty-state\" src=\"../../../../assets/images/empty-state-icon.svg\" />\r\n        <h3 class=\"_heading\">No Lots Found</h3>\r\n      </div>\r\n    </div>\r\n\r\n    <ng-template #showTable>\r\n      <div class=\"row lot-box-outer lot-catalog-view\" [ngClass]=\"{ 'lot-list-view': showListView }\">\r\n        <div class=\"col-12 lot-boxes\" *ngFor=\"\r\n            let item of auctionLotData\r\n              | paginate\r\n                : {\r\n                    id: 'server',\r\n                    itemsPerPage: pageSize,\r\n                    currentPage: pageNumber,\r\n                    totalItems: totalAuctionLots\r\n                  };\r\n            index as i\r\n          \" [ngClass]=\"{ 'col-md-6 col-lg-4': !showListView }\">\r\n          <auction-lot-card [lotData]=\"item\" [isListView]=\"showListView\" [bulkBidResult]=\"bulkBidSubmissionResult\"\r\n            [bulkBid]=\"isBulkBid\" [serverTime]=\"sendTimerToLotCard\" [latestLotData]=\"\r\n              sendLotDataToLotCard && sendLotDataToLotCard?.lotId === item?.id\r\n                ? sendLotDataToLotCard\r\n                : null\r\n            \" (selectedLotData)=\"getSelectedLots($event)\" (submitBulkBid)=\"isBulkBidReview($event)\"\r\n            [featuredSyncedInfo]=\"featuredLotInfo ? featuredLotInfo : null\">\r\n          </auction-lot-card>\r\n        </div>\r\n      </div>\r\n    </ng-template>\r\n    <app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\"\r\n      (page)=\"onPageChange($event)\" [pageSizes]=\"pageSizes\" (selectedPageSize)=\"onPageSizeChange($event)\"\r\n      *ngIf=\"totalAuctionLots !== 0\">\r\n    </app-paginator>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #helpTemplate>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Help</h4>\r\n    <button type=\"button\" class=\"close pull-right circle-icon m-0\" aria-label=\"Close\" role=\"button\"\r\n      (click)=\"modalRef.hide()\">\r\n      <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n\r\n  <div class=\"modal-body\">\r\n    <h1 class=\"modal-inner-hdg mt-0 mb-2\">Catalog & Bidding</h1>\r\n    <div class=\"des\" [innerHTML]=\"helpTextData\"></div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #reviewModal>\r\n  <div class=\"modal-header pl-3\">\r\n    <h4 class=\"modal-title pull-left\">Review Bids</h4>\r\n    <button type=\"button\" class=\"close pull-right circle-icon\" aria-label=\"Close\" role=\"button\"\r\n      (click)=\"closeReviewModal()\">\r\n      <img alt=\"cross\" _ngcontent-lrm-c188=\"\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"column-list\">\r\n      <div class=\"parts\">\r\n        <div class=\"left-wrap\">Auction</div>\r\n        <div class=\"right-wrap\">{{ auctionDetail.title | titlecase }}</div>\r\n      </div>\r\n\r\n      <div class=\"parts\">\r\n        <div class=\"left-wrap\">Bidder</div>\r\n        <div class=\"right-wrap\">\r\n          Paddle No. {{ userPaddleNumber }}, {{ userFullName | titlecase }}\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"data-table-wrap w-100 review-bids-wrapper\">\r\n      <table aria-label=\"table\" class=\"w-100 table-with-border review-bids-table\">\r\n        <tbody>\r\n          <tr class=\"mat-row\" *ngFor=\"let lot of selectedLotsForBulk; let idx = index\">\r\n            <td class=\"mat-cell column-1 listing-data-entry table-with-row-header\">\r\n              <span class=\"td-header\">Lot #</span>\r\n              {{ lot.lotNumber }}\r\n            </td>\r\n            <td class=\"mat-cell column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n              <span class=\"td-header\">Lot Description</span>\r\n              {{ lot.description | characterLimit: 50 }}\r\n            </td>\r\n            <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\">\r\n              <span class=\"td-header\">Current</span>\r\n              {{ lot.currentBid | auctionCurrency: auctionDetail.currencyName }}\r\n            </td>\r\n            <td class=\"mat-cell column-4 listing-data-entry table-with-row-header yellow-bg\">\r\n              <span class=\"td-header\">New Bid</span>\r\n              {{ lot.newBid | auctionCurrency: auctionDetail.currencyName }}\r\n              <div class=\"reviewBidError\" *ngIf=\"lot.newBid < lot.nextRequiredBid\">\r\n                <img alt=\"invalid bid\" class=\"mr-2\" src=\"assets/images/bidError.svg\" />\r\n                <p>\r\n                  <strong>Invalid Bid:</strong> Bid of\r\n                  {{ lot.newBid | auctionCurrency: auctionDetail.currencyName }}\r\n                  is lower than next required bid of\r\n                  {{\r\n                  lot.nextRequiredBid\r\n                  | auctionCurrency: auctionDetail.currencyName\r\n                  }}\r\n                </p>\r\n              </div>\r\n            </td>\r\n            <td class=\"mat-cell column-5 listing-data-entry table-with-row-header\">\r\n              <span *ngIf=\"\r\n                  selectedLotsForBulk?.length > numberOfminLotRequiredForBulkBid\r\n                \" role=\"button\" (click)=\"removeLotFromReviewBids(idx)\">Delete</span>\r\n              <a class=\"hover-icon delete-icon custom-tooltip custom-tooltip2\" tooltip=\"Vivamus sagittis\" role=\"button\"\r\n                (click)=\"removeLotFromReviewBids(idx)\"></a>\r\n            </td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n\r\n    <ng-container *ngIf=\"changeInSelectedBulkLots\">\r\n      <p>Note : New Bid has been placed. Please bid again.</p>\r\n    </ng-container>\r\n\r\n    <div class=\"review-btns-wrap mt-3\">\r\n      <ng-container *ngIf=\"!changeInSelectedBulkLots\">\r\n        <button [disabled]=\"!showBulkSubmitBtn\" type=\"button\" class=\"btn btn-colored\" role=\"button\"\r\n          (click)=\"submitBulkBid()\">\r\n          Submit Bids\r\n        </button>\r\n      </ng-container>\r\n      <button type=\"button\" class=\"btn btn-white-border\" role=\"button\" (click)=\"closeReviewModal()\">\r\n        Cancel\r\n      </button>\r\n      <span class=\"d-flex align-items-center text-danger\" *ngIf=\"submitBidError\">{{submitBidError}}</span>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AuctionRoutingModule } from './auction-routing.module';\r\nimport { ngfModule } from 'angular-file';\r\nimport { AuctionListComponent } from './auction-list/auction-list.component';\r\nimport { AddAuctionComponent } from './add-auction/add-auction.component';\r\nimport { AdminSharedModule } from '../shared/shared.module';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { AddAuctionStep2Component } from './add-auction-step2/add-auction-step2.component';\r\nimport { AddAuctionStep3Component } from './add-auction-step3/add-auction-step3.component';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { AddAuctionStep4Component } from './add-auction-step4/add-auction-step4.component';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { AddAuctionStep1Component } from './add-auction-step1/add-auction-step1.component';\r\nimport { CommonSharedModule } from '../../shared/shared.module';\r\nimport { ViewAuctionComponent } from './view-auction/view-auction.component';\r\nimport { ManageLotModule } from './manage-lot/manage-lot.module';\r\nimport { AuctionResultComponent } from './auction-result/auction-result.component';\r\nimport { ImportedUsersComponent } from './imported-users/imported-users.component';\r\nimport { ImportResultComponent } from './import-result/import-result.component';\r\nimport { ImportResultService } from './service/import-result.service';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\n\r\n@NgModule({\r\n  declarations: [\r\n    AuctionListComponent,\r\n    AddAuctionComponent,\r\n    AddAuctionStep2Component,\r\n    AddAuctionStep3Component,\r\n    AddAuctionStep4Component,\r\n    AddAuctionStep1Component,\r\n    ViewAuctionComponent,\r\n    AuctionResultComponent,\r\n    ImportedUsersComponent,\r\n    ImportResultComponent,\r\n  ],\r\n  imports: [\r\n    CommonModule,\r\n    AuctionRoutingModule,\r\n    CommonSharedModule,\r\n    AdminSharedModule,\r\n    MatDialogModule,\r\n    MatExpansionModule,\r\n    MatDatepickerModule,\r\n    MatNativeDateModule,\r\n    NgxMaterialTimepickerModule,\r\n    ngfModule,\r\n    MatProgressSpinnerModule,\r\n    MatChipsModule,\r\n    ManageLotModule,\r\n    MatTableModule,\r\n    MatTooltipModule,\r\n  ],\r\n  providers: [ImportResultService],\r\n})\r\nexport class AuctionModule {}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LotFormComponent } from './lot-form/lot-form.component';\r\nimport { BulkLotFormComponent } from './bulk-lot-form/bulk-lot-form.component';\r\nimport { AuctionAnnouncementComponent } from './auction-announcement/auction-announcement.component';\r\nimport { LotListingComponent } from './lot-listing/lot-listing.component';\r\nimport { CommonSharedModule } from '../../../shared/shared.module';\r\nimport { CoreModule } from '../../../core/core.module';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { AdminSharedModule } from '../../shared/shared.module';\r\n\r\n@NgModule({\r\n  declarations: [LotFormComponent, BulkLotFormComponent, AuctionAnnouncementComponent, LotListingComponent],\r\n  imports: [\r\n    CommonModule,\r\n    CommonSharedModule,\r\n    AdminSharedModule,\r\n    CoreModule,\r\n    MatSliderModule,\r\n    MatChipsModule,\r\n    MatAutocompleteModule\r\n  ],\r\n  exports: [LotListingComponent]\r\n})\r\nexport class ManageLotModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport {\r\n  FormGroup,\r\n  FormBuilder,\r\n  Validators,\r\n  FormControl,\r\n} from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport {\r\n  AuthenticationService,\r\n  CountryService,\r\n  AuctionService,\r\n  EnquiryNowService,\r\n  LoaderService,\r\n} from '../../../../services';\r\nimport { BuyerService } from '../../../../services/buyer.service';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport { EnquiryNow } from '../../../../models';\r\nimport constants from '../../../../utility/constants';\r\nimport {  Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-enquiry-now',\r\n  templateUrl: './enquiry-now.component.html',\r\n  styleUrls: ['./enquiry-now.component.css'],\r\n})\r\nexport class EnquiryNowComponent implements OnInit {\r\n  captcha = new FormControl();\r\n  enquireNowForm: FormGroup;\r\n  loading: boolean = false;\r\n  submitted: boolean;\r\n  currentUserId: number;\r\n  captchaKey: string;\r\n  isLoggedIn: boolean = false;\r\n  auctionId: number;\r\n  auctionDetail: any;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  fieldMaxLength10 = constants.common.validations.maxLength10;\r\n  fieldMaxLength20 = constants.common.validations.maxLength20;\r\n  fieldMaxLength30 = constants.common.validations.maxLength30;\r\n  fieldMaxLength50 = constants.common.validations.maxLength50;\r\n  fieldMaxLength500 = constants.common.validations.maxLength500;\r\n\r\n  isdFlagList: any;\r\n  isd: number = 229;\r\n  auctionCode: string;\r\n\r\n  returnUrl: string = '/';\r\n\r\n  constructor(\r\n    private formBuilder: FormBuilder,\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private toastr: ToastrService,\r\n    private buyerService: BuyerService,\r\n    private authenticationService: AuthenticationService,\r\n    private countryService: CountryService,\r\n    private auctionService: AuctionService,\r\n    private enquiryNowService: EnquiryNowService,\r\n    private loader: LoaderService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.route.params.subscribe((params) => {\r\n      this.auctionCode = params['auctionCode'];\r\n      if (this.auctionCode) this.bindDataToForm1();\r\n    });\r\n\r\n    this.route.queryParams.subscribe((params) => {\r\n      this.returnUrl = params['returnTo'];\r\n    });\r\n\r\n    this.initiateForm();\r\n    this.getCountries();\r\n    this.captchaKey = environment.captchaSiteKey;\r\n\r\n    if (this.authenticationService.checkLoggedIn()) {\r\n      this.bindContactUsDetails();\r\n      this.isLoggedIn = true;\r\n    }\r\n  }\r\n\r\n  initiateForm() {\r\n    this.enquireNowForm = this.formBuilder.group({\r\n      name: [\r\n        '',\r\n        [\r\n          Validators.required,\r\n          AppValidators.noWhitespace,\r\n          Validators.maxLength(this.fieldMaxLength20),\r\n        ],\r\n      ],\r\n      isdCode: [this.isd, Validators.required],\r\n      mobileNumber: [\r\n        '',\r\n        [\r\n          Validators.required,\r\n          AppValidators.noWhitespace,\r\n          Validators.minLength(this.fieldMaxLength10),\r\n          Validators.maxLength(this.fieldMaxLength30),\r\n        ],\r\n      ],\r\n      email: [\r\n        '',\r\n        [\r\n          Validators.required,\r\n          AppValidators.noWhitespace,\r\n          AppValidators.checkEmail,\r\n          Validators.maxLength(this.fieldMaxLength30),\r\n        ],\r\n      ],\r\n      message: [\r\n        '',\r\n        [\r\n          Validators.required,\r\n          AppValidators.noWhitespace,\r\n          Validators.maxLength(this.fieldMaxLength500),\r\n        ],\r\n      ],\r\n    });\r\n  }\r\n\r\n  private bindDataToForm1() {\r\n    this.loader.showLoader(true);\r\n    const auctionDetailByCode = this.auctionService\r\n      .getAuctionDetailByCode(this.auctionCode)\r\n      .subscribe((res: any) => {\r\n        this.loader.showLoader(false);\r\n        this.auctionDetail = res;\r\n      });\r\n      this.subscriptions.push(auctionDetailByCode)\r\n  }\r\n\r\n  private getCountries() {\r\n    const countryFlagIsd = this.countryService.getAllCountryFlagIsd().subscribe((res) => {\r\n      this.isdFlagList = res;\r\n    });\r\n    this.subscriptions.push(countryFlagIsd)\r\n  }\r\n\r\n  bindContactUsDetails() {\r\n    if(this.authenticationService.currentBuyerValue()?.user.id)\r\n    {\r\n      this.loader.showLoader(true);\r\n      const currentBuyerValue = this.buyerService\r\n      .getById(this.authenticationService.currentBuyerValue()?.user.id)\r\n      .subscribe(\r\n        (response: any) => {\r\n          this.enquireNowForm.patchValue({\r\n            name: response.firstName + ' ' + response.lastName,\r\n            mobileNumber: response.mobileNumber,\r\n            email: response.email,\r\n          });\r\n          this.loader.showLoader(false);\r\n        },\r\n        (err) => {\r\n          this.toastr.error(\r\n            err,\r\n            constants.common.toast.errorTitle,\r\n            constants.common.toast.config\r\n          );\r\n        }\r\n      );\r\n      this.subscriptions.push(currentBuyerValue)\r\n    }\r\n  \r\n  }\r\n\r\n  onSubmit() {\r\n    if (this.enquireNowForm.invalid) {\r\n      return;\r\n    }\r\n\r\n    this.submitted = true;\r\n    this.loader.showLoader(true);\r\n\r\n    let model: EnquiryNow = {\r\n      name: this.enquireNowForm.value.name,\r\n      mobileNumber: this.enquireNowForm.value.mobileNumber,\r\n      email: this.enquireNowForm.value.email,\r\n      isdCode: this.enquireNowForm.value.isdCode,\r\n      message: this.enquireNowForm.value.message,\r\n      auctionId: this.auctionDetail.id,\r\n    };\r\n\r\n    const postEnquiry = this.enquiryNowService.postEnquiry(model).subscribe(\r\n      (response) => {\r\n        this.loader.showLoader(false);\r\n        this.toastr.success(\r\n          'Thank you! Your message has been successfully sent. We will contact you as soon as we review your message',\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.enquireNowForm.reset();\r\n        this.enquireNowForm.get('isdCode').setValue(this.isd);\r\n        if (this.authenticationService.checkLoggedIn()) {\r\n          this.bindContactUsDetails();\r\n          this.isLoggedIn = true;\r\n        }\r\n      },\r\n      (err) => {\r\n        this.loading = false;\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    );\r\n    this.subscriptions.push(postEnquiry)\r\n  }\r\n\r\n  onCancel() {\r\n    this.enquireNowForm.reset();\r\n    this.router.navigateByUrl(this.returnUrl);\r\n  }\r\n\r\n  goBack() {\r\n    this.router.navigateByUrl(this.returnUrl);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<div class=\"public-wrap\">\r\n  <div class=\"container\">\r\n    <div class=\"row\">\r\n      <div class=\"col-md-4 back-link-outer mb-0 d-flex\">\r\n        <a class=\"back-link\" role=\"button\" (click)=\"goBack()\">\r\n          <img alt=\"back-icon\" src=\"../assets/images/back.svg\" /> Back\r\n        </a>\r\n      </div>\r\n      <div class=\"col-12\">\r\n        <h3 class=\"register-name mb-3 pb-2\">Inquire Now</h3>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"container\" *ngIf=\"auctionCode\">\r\n    <div class=\"auction-with-logo mb-3\">\r\n      <div class=\"left-logo\">\r\n        <img\r\n          class=\"auction-logo\"\r\n          alt=\"auction-logo\"\r\n          AuctionDefaultImage\r\n          *ngIf=\"auctionDetail\"\r\n          [image]=\"auctionDetail.clientLogo\"\r\n        />\r\n      </div>\r\n      <div class=\"right-logo\">\r\n        <div class=\"d-flex mb-2\">\r\n          <span class=\"card-badge no-card min-width-auto badge-dark\">\r\n            {{ auctionDetail?.saleType.publicName }}</span\r\n          >\r\n        </div>\r\n        <h3 class=\"auc-name mb-2\">{{ auctionDetail?.title }}</h3>\r\n        <p class=\"auc-des mb-3\" [innerHTML]=\"auctionDetail?.tagline\"></p>\r\n        <p class=\"auc-location mb-2\">\r\n          {{ auctionDetail?.auctionLocations | locationNames }}\r\n        </p>\r\n        <p\r\n          class=\"auc-address m-0\"\r\n          [innerHtml]=\"\r\n            auctionDetail?.saleType?.auctionDate\r\n              | auctionDateFormat\r\n                : auctionDetail?.auctionStatus\r\n                : auctionDetail?.timeZoneName\r\n                : auctionDetail?.startDateTime\r\n                : auctionDetail?.endDateTime\r\n                : auctionDetail?.saleType.dateText\r\n          \"\r\n        ></p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"enquire-form-wrap\">\r\n      <div class=\"row\">\r\n        <div class=\"col-12\">\r\n          <h1 class=\"enquire-hdg\">Please fill the following form.</h1>\r\n          <h1 class=\"enquire-sb-hdg\">\r\n            Our team will reach out to you shortly.\r\n          </h1>\r\n        </div>\r\n        <div class=\"col-12\">\r\n          <div class=\"enquire-form-outer\">\r\n            <form [formGroup]=\"enquireNowForm\">\r\n              <div class=\"row\">\r\n                <div class=\"col-lg-12\">\r\n                  <div class=\"form-group mb-4 no-float-fields\">\r\n                    <label class=\"form-label\">Full Name*</label>\r\n                    <mat-form-field appearance=\"outline\">\r\n                      <input\r\n                        formControlName=\"name\"\r\n                        maxlength=\"20\"\r\n                        matInput\r\n                        type=\"text\"\r\n                        placeholder=\"Enter your full name\"\r\n                      />\r\n                    </mat-form-field>\r\n                    <control-messages\r\n                      [control]=\"enquireNowForm.controls.name\"\r\n                    ></control-messages>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-lg-12\">\r\n                  <div class=\"form-group mb-4 no-float-fields\">\r\n                    <label class=\"form-label\">Email*</label>\r\n                    <mat-form-field appearance=\"outline\">\r\n                      <input\r\n                        formControlName=\"email\"\r\n                        maxlength=\"30\"\r\n                        matInput\r\n                        type=\"text\"\r\n                        placeholder=\"Enter email\"\r\n                      />\r\n                    </mat-form-field>\r\n                    <control-messages\r\n                      [control]=\"enquireNowForm.controls.email\"\r\n                    ></control-messages>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-lg-12\">\r\n                  <div class=\"row mb-4\">\r\n                    <div class=\"col-4 col-sm-4 pr-0\">\r\n                      <div class=\"form-group mb-4 no-float-fields\">\r\n                        <label class=\"form-label\">Country code *</label>\r\n                        <mat-select class=\"w-100\" formControlName=\"isdCode\">\r\n                          <mat-option [value]=\"null\">Select</mat-option>\r\n                          <mat-option\r\n                            *ngFor=\"let list of isdFlagList\"\r\n                            [value]=\"list.value\"\r\n                          >\r\n                            <span>\r\n                              <img\r\n                                width=\"20\"\r\n                                alt=\"icon\"\r\n                                [src]=\"list.text.split(',')[0]\"\r\n                              />\r\n                              {{ list.text.split(\",\")[1] }}\r\n                            </span>\r\n                          </mat-option>\r\n                        </mat-select>\r\n                        <control-messages\r\n                          [control]=\"enquireNowForm.controls.isdCode\"\r\n                        ></control-messages>\r\n                      </div>\r\n                    </div>\r\n                    <div class=\"col-7 col-sm-8\">\r\n                      <div class=\"form-group mb-4 no-float-fields\">\r\n                        <label class=\"form-label\">Phone Number*</label>\r\n                        <mat-form-field appearance=\"outline\">\r\n                          <input\r\n                            formControlName=\"mobileNumber\"\r\n                            [maxlength]=\"fieldMaxLength30\"\r\n                            matInput\r\n                            placeholder=\"Enter phone number\"\r\n                          />\r\n                        </mat-form-field>\r\n                        <control-messages\r\n                          [control]=\"enquireNowForm.controls.mobileNumber\"\r\n                        ></control-messages>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-md-12\">\r\n                  <div class=\"form-group mb-4 no-float-fields\">\r\n                    <label class=\"form-label\">Message*</label>\r\n                    <mat-form-field appearance=\"outline\">\r\n                      <textarea\r\n                        formControlName=\"message\"\r\n                        maxlength=\"500\"\r\n                        rows=\"8\"\r\n                        matInput\r\n                        placeholder=\"Write here\"\r\n                      ></textarea>\r\n                    </mat-form-field>\r\n                    <control-messages\r\n                      [control]=\"enquireNowForm.controls.message\"\r\n                    ></control-messages>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-md-12\" *ngIf=\"!isLoggedIn\">\r\n                  <div class=\"form-group mb-4\">\r\n                    <re-captcha\r\n                      required\r\n                      [formControl]=\"captcha\"\r\n                      [siteKey]=\"captchaKey\"\r\n                    ></re-captcha>\r\n                  </div>\r\n                </div>\r\n                <div class=\"col-md-12\">\r\n                  <button\r\n                    type=\"submit\"\r\n                    [disabled]=\"\r\n                      (!isLoggedIn ? captcha.invalid : false) &&\r\n                      enquireNowForm.invalid\r\n                    \"\r\n                    class=\"btn btn-colored mb-2 mb-md-0 mr-2\"\r\n                    role=\"button\"\r\n                    (click)=\"onSubmit()\"\r\n                  >\r\n                    <span\r\n                      *ngIf=\"loading\"\r\n                      class=\"spinner-border spinner-border-sm mr-1\"\r\n                    ></span>\r\n                    Send Message\r\n                  </button>\r\n                  <button\r\n                    type=\"button\"\r\n                    [disabled]=\"loading\"\r\n                    role=\"button\"\r\n                    (click)=\"onCancel()\"\r\n                    class=\"btn btn-white-border mb-2 mb-md-0\"\r\n                  >\r\n                    Cancel\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","/*!\n * \n *             jsPDF AutoTable plugin v3.5.14\n *             \n *             Copyright (c) 2021 Simon Bengtsson, https://github.com/simonbengtsson/jsPDF-AutoTable\n *             Licensed under the MIT License.\n *             http://opensource.org/licenses/mit-license\n *         \n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }()));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"jspdf\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory((function webpackLoadOptionalExternalModule() { try { return require(\"jspdf\"); } catch(e) {} }())) : factory(root[\"jspdf\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof this !== 'undefined' ? this : window, function(__WEBPACK_EXTERNAL_MODULE__17__) {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 11);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseSpacing = exports.getFillStyle = exports.addTableBorder = exports.getStringWidth = void 0;\nfunction getStringWidth(text, styles, doc) {\n    doc.applyStyles(styles, true);\n    var textArr = Array.isArray(text) ? text : [text];\n    var widestLineWidth = textArr\n        .map(function (text) { return doc.getTextWidth(text); })\n        .reduce(function (a, b) { return Math.max(a, b); }, 0);\n    return widestLineWidth;\n}\nexports.getStringWidth = getStringWidth;\nfunction addTableBorder(doc, table, startPos, cursor) {\n    var lineWidth = table.settings.tableLineWidth;\n    var lineColor = table.settings.tableLineColor;\n    doc.applyStyles({ lineWidth: lineWidth, lineColor: lineColor });\n    var fillStyle = getFillStyle(lineWidth, false);\n    if (fillStyle) {\n        doc.rect(startPos.x, startPos.y, table.getWidth(doc.pageSize().width), cursor.y - startPos.y, fillStyle);\n    }\n}\nexports.addTableBorder = addTableBorder;\nfunction getFillStyle(lineWidth, fillColor) {\n    var drawLine = lineWidth > 0;\n    var drawBackground = fillColor || fillColor === 0;\n    if (drawLine && drawBackground) {\n        return 'DF'; // Fill then stroke\n    }\n    else if (drawLine) {\n        return 'S'; // Only stroke (transparent background)\n    }\n    else if (drawBackground) {\n        return 'F'; // Only fill, no stroke\n    }\n    else {\n        return null;\n    }\n}\nexports.getFillStyle = getFillStyle;\nfunction parseSpacing(value, defaultValue) {\n    var _a, _b, _c, _d;\n    value = value || defaultValue;\n    if (Array.isArray(value)) {\n        if (value.length >= 4) {\n            return {\n                top: value[0],\n                right: value[1],\n                bottom: value[2],\n                left: value[3],\n            };\n        }\n        else if (value.length === 3) {\n            return {\n                top: value[0],\n                right: value[1],\n                bottom: value[2],\n                left: value[1],\n            };\n        }\n        else if (value.length === 2) {\n            return {\n                top: value[0],\n                right: value[1],\n                bottom: value[0],\n                left: value[1],\n            };\n        }\n        else if (value.length === 1) {\n            value = value[0];\n        }\n        else {\n            value = defaultValue;\n        }\n    }\n    if (typeof value === 'object') {\n        if (typeof value.vertical === 'number') {\n            value.top = value.vertical;\n            value.bottom = value.vertical;\n        }\n        if (typeof value.horizontal === 'number') {\n            value.right = value.horizontal;\n            value.left = value.horizontal;\n        }\n        return {\n            left: (_a = value.left) !== null && _a !== void 0 ? _a : defaultValue,\n            top: (_b = value.top) !== null && _b !== void 0 ? _b : defaultValue,\n            right: (_c = value.right) !== null && _c !== void 0 ? _c : defaultValue,\n            bottom: (_d = value.bottom) !== null && _d !== void 0 ? _d : defaultValue,\n        };\n    }\n    if (typeof value !== 'number') {\n        value = defaultValue;\n    }\n    return { top: value, right: value, bottom: value, left: value };\n}\nexports.parseSpacing = parseSpacing;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getTheme = exports.defaultStyles = exports.HtmlRowInput = exports.FONT_ROW_RATIO = void 0;\n/**\n * Ratio between font size and font height. The number comes from jspdf's source code\n */\nexports.FONT_ROW_RATIO = 1.15;\nvar HtmlRowInput = /** @class */ (function (_super) {\n    __extends(HtmlRowInput, _super);\n    function HtmlRowInput(element) {\n        var _this = _super.call(this) || this;\n        _this._element = element;\n        return _this;\n    }\n    return HtmlRowInput;\n}(Array));\nexports.HtmlRowInput = HtmlRowInput;\n// Base style for all themes\nfunction defaultStyles(scaleFactor) {\n    return {\n        font: 'helvetica',\n        fontStyle: 'normal',\n        overflow: 'linebreak',\n        fillColor: false,\n        textColor: 20,\n        halign: 'left',\n        valign: 'top',\n        fontSize: 10,\n        cellPadding: 5 / scaleFactor,\n        lineColor: 200,\n        lineWidth: 0,\n        cellWidth: 'auto',\n        minCellHeight: 0,\n        minCellWidth: 0,\n    };\n}\nexports.defaultStyles = defaultStyles;\nfunction getTheme(name) {\n    var themes = {\n        striped: {\n            table: { fillColor: 255, textColor: 80, fontStyle: 'normal' },\n            head: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n            body: {},\n            foot: { textColor: 255, fillColor: [41, 128, 185], fontStyle: 'bold' },\n            alternateRow: { fillColor: 245 },\n        },\n        grid: {\n            table: {\n                fillColor: 255,\n                textColor: 80,\n                fontStyle: 'normal',\n                lineWidth: 0.1,\n            },\n            head: {\n                textColor: 255,\n                fillColor: [26, 188, 156],\n                fontStyle: 'bold',\n                lineWidth: 0,\n            },\n            body: {},\n            foot: {\n                textColor: 255,\n                fillColor: [26, 188, 156],\n                fontStyle: 'bold',\n                lineWidth: 0,\n            },\n            alternateRow: {},\n        },\n        plain: {\n            head: { fontStyle: 'bold' },\n            foot: { fontStyle: 'bold' },\n        },\n    };\n    return themes[name];\n}\nexports.getTheme = getTheme;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DocHandler = void 0;\nvar globalDefaults = {};\nvar DocHandler = /** @class */ (function () {\n    function DocHandler(jsPDFDocument) {\n        this.jsPDFDocument = jsPDFDocument;\n        this.userStyles = {\n            // Black for versions of jspdf without getTextColor\n            textColor: jsPDFDocument.getTextColor\n                ? this.jsPDFDocument.getTextColor()\n                : 0,\n            fontSize: jsPDFDocument.internal.getFontSize(),\n            fontStyle: jsPDFDocument.internal.getFont().fontStyle,\n            font: jsPDFDocument.internal.getFont().fontName,\n        };\n    }\n    DocHandler.setDefaults = function (defaults, doc) {\n        if (doc === void 0) { doc = null; }\n        if (doc) {\n            doc.__autoTableDocumentDefaults = defaults;\n        }\n        else {\n            globalDefaults = defaults;\n        }\n    };\n    DocHandler.unifyColor = function (c) {\n        if (Array.isArray(c)) {\n            return c;\n        }\n        else if (typeof c === 'number') {\n            return [c, c, c];\n        }\n        else if (typeof c === 'string') {\n            return [c];\n        }\n        else {\n            return null;\n        }\n    };\n    DocHandler.prototype.applyStyles = function (styles, fontOnly) {\n        // Font style needs to be applied before font\n        // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/632\n        var _a, _b, _c;\n        if (fontOnly === void 0) { fontOnly = false; }\n        if (styles.fontStyle)\n            this.jsPDFDocument.setFontStyle && this.jsPDFDocument.setFontStyle(styles.fontStyle);\n        var _d = this.jsPDFDocument.internal.getFont(), fontStyle = _d.fontStyle, fontName = _d.fontName;\n        if (styles.font)\n            fontName = styles.font;\n        if (styles.fontStyle) {\n            fontStyle = styles.fontStyle;\n            var availableFontStyles = this.getFontList()[fontName];\n            if (availableFontStyles && availableFontStyles.indexOf(fontStyle) === -1) {\n                // Common issue was that the default bold in headers\n                // made custom fonts not work. For example:\n                // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/653\n                this.jsPDFDocument.setFontStyle && this.jsPDFDocument.setFontStyle(availableFontStyles[0]);\n                fontStyle = availableFontStyles[0];\n            }\n        }\n        this.jsPDFDocument.setFont(fontName, fontStyle);\n        if (styles.fontSize)\n            this.jsPDFDocument.setFontSize(styles.fontSize);\n        if (fontOnly) {\n            return; // Performance improvement\n        }\n        var color = DocHandler.unifyColor(styles.fillColor);\n        if (color)\n            (_a = this.jsPDFDocument).setFillColor.apply(_a, color);\n        color = DocHandler.unifyColor(styles.textColor);\n        if (color)\n            (_b = this.jsPDFDocument).setTextColor.apply(_b, color);\n        color = DocHandler.unifyColor(styles.lineColor);\n        if (color)\n            (_c = this.jsPDFDocument).setDrawColor.apply(_c, color);\n        if (typeof styles.lineWidth === 'number') {\n            this.jsPDFDocument.setLineWidth(styles.lineWidth);\n        }\n    };\n    DocHandler.prototype.splitTextToSize = function (text, size, opts) {\n        return this.jsPDFDocument.splitTextToSize(text, size, opts);\n    };\n    DocHandler.prototype.rect = function (x, y, width, height, fillStyle) {\n        return this.jsPDFDocument.rect(x, y, width, height, fillStyle);\n    };\n    DocHandler.prototype.getLastAutoTable = function () {\n        return this.jsPDFDocument.lastAutoTable || null;\n    };\n    DocHandler.prototype.getTextWidth = function (text) {\n        return this.jsPDFDocument.getTextWidth(text);\n    };\n    DocHandler.prototype.getDocument = function () {\n        return this.jsPDFDocument;\n    };\n    DocHandler.prototype.setPage = function (page) {\n        this.jsPDFDocument.setPage(page);\n    };\n    DocHandler.prototype.addPage = function () {\n        return this.jsPDFDocument.addPage();\n    };\n    DocHandler.prototype.getFontList = function () {\n        return this.jsPDFDocument.getFontList();\n    };\n    DocHandler.prototype.getGlobalOptions = function () {\n        return globalDefaults || {};\n    };\n    DocHandler.prototype.getDocumentOptions = function () {\n        return this.jsPDFDocument.__autoTableDocumentDefaults || {};\n    };\n    DocHandler.prototype.pageSize = function () {\n        var pageSize = this.jsPDFDocument.internal.pageSize;\n        // JSPDF 1.4 uses get functions instead of properties on pageSize\n        if (pageSize.width == null) {\n            pageSize = {\n                width: pageSize.getWidth(),\n                height: pageSize.getHeight(),\n            };\n        }\n        return pageSize;\n    };\n    DocHandler.prototype.scaleFactor = function () {\n        return this.jsPDFDocument.internal.scaleFactor;\n    };\n    DocHandler.prototype.pageNumber = function () {\n        var pageInfo = this.jsPDFDocument.internal.getCurrentPageInfo();\n        if (!pageInfo) {\n            // Only recent versions of jspdf has pageInfo\n            return this.jsPDFDocument.internal.getNumberOfPages();\n        }\n        return pageInfo.pageNumber;\n    };\n    return DocHandler;\n}());\nexports.DocHandler = DocHandler;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Column = exports.Cell = exports.Row = exports.Table = void 0;\nvar config_1 = __webpack_require__(1);\nvar HookData_1 = __webpack_require__(9);\nvar common_1 = __webpack_require__(0);\nvar Table = /** @class */ (function () {\n    function Table(input, content) {\n        this.pageNumber = 1;\n        // Deprecated, use pageNumber instead\n        // Not using getter since:\n        // https://github.com/simonbengtsson/jsPDF-AutoTable/issues/596\n        this.pageCount = 1;\n        this.id = input.id;\n        this.settings = input.settings;\n        this.styles = input.styles;\n        this.hooks = input.hooks;\n        this.columns = content.columns;\n        this.head = content.head;\n        this.body = content.body;\n        this.foot = content.foot;\n    }\n    Table.prototype.getHeadHeight = function (columns) {\n        return this.head.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n    };\n    Table.prototype.getFootHeight = function (columns) {\n        return this.foot.reduce(function (acc, row) { return acc + row.getMaxCellHeight(columns); }, 0);\n    };\n    Table.prototype.allRows = function () {\n        return this.head.concat(this.body).concat(this.foot);\n    };\n    Table.prototype.callCellHooks = function (doc, handlers, cell, row, column, cursor) {\n        for (var _i = 0, handlers_1 = handlers; _i < handlers_1.length; _i++) {\n            var handler = handlers_1[_i];\n            var data = new HookData_1.CellHookData(doc, this, cell, row, column, cursor);\n            var result = handler(data) === false;\n            // Make sure text is always string[] since user can assign string\n            cell.text = Array.isArray(cell.text) ? cell.text : [cell.text];\n            if (result) {\n                return false;\n            }\n        }\n        return true;\n    };\n    Table.prototype.callEndPageHooks = function (doc, cursor) {\n        doc.applyStyles(doc.userStyles);\n        for (var _i = 0, _a = this.hooks.didDrawPage; _i < _a.length; _i++) {\n            var handler = _a[_i];\n            handler(new HookData_1.HookData(doc, this, cursor));\n        }\n    };\n    Table.prototype.getWidth = function (pageWidth) {\n        if (typeof this.settings.tableWidth === 'number') {\n            return this.settings.tableWidth;\n        }\n        else if (this.settings.tableWidth === 'wrap') {\n            var wrappedWidth = this.columns.reduce(function (total, col) { return total + col.wrappedWidth; }, 0);\n            return wrappedWidth;\n        }\n        else {\n            var margin = this.settings.margin;\n            return pageWidth - margin.left - margin.right;\n        }\n    };\n    return Table;\n}());\nexports.Table = Table;\nvar Row = /** @class */ (function () {\n    function Row(raw, index, section, cells, spansMultiplePages) {\n        if (spansMultiplePages === void 0) { spansMultiplePages = false; }\n        this.height = 0;\n        this.raw = raw;\n        if (raw instanceof config_1.HtmlRowInput) {\n            this.raw = raw._element;\n            this.element = raw._element;\n        }\n        this.index = index;\n        this.section = section;\n        this.cells = cells;\n        this.spansMultiplePages = spansMultiplePages;\n    }\n    Row.prototype.getMaxCellHeight = function (columns) {\n        var _this = this;\n        return columns.reduce(function (acc, column) { var _a; return Math.max(acc, ((_a = _this.cells[column.index]) === null || _a === void 0 ? void 0 : _a.height) || 0); }, 0);\n    };\n    Row.prototype.hasRowSpan = function (columns) {\n        var _this = this;\n        return (columns.filter(function (column) {\n            var cell = _this.cells[column.index];\n            if (!cell)\n                return false;\n            return cell.rowSpan > 1;\n        }).length > 0);\n    };\n    Row.prototype.canEntireRowFit = function (height, columns) {\n        return this.getMaxCellHeight(columns) <= height;\n    };\n    Row.prototype.getMinimumRowHeight = function (columns, doc) {\n        var _this = this;\n        return columns.reduce(function (acc, column) {\n            var cell = _this.cells[column.index];\n            if (!cell)\n                return 0;\n            var fontHeight = (cell.styles.fontSize / doc.scaleFactor()) * config_1.FONT_ROW_RATIO;\n            var vPadding = cell.padding('vertical');\n            var oneRowHeight = vPadding + fontHeight;\n            return oneRowHeight > acc ? oneRowHeight : acc;\n        }, 0);\n    };\n    return Row;\n}());\nexports.Row = Row;\nvar Cell = /** @class */ (function () {\n    function Cell(raw, styles, section) {\n        var _a, _b;\n        this.contentHeight = 0;\n        this.contentWidth = 0;\n        this.wrappedWidth = 0;\n        this.minReadableWidth = 0;\n        this.minWidth = 0;\n        this.width = 0;\n        this.height = 0;\n        this.x = 0;\n        this.y = 0;\n        this.styles = styles;\n        this.section = section;\n        this.raw = raw;\n        var content = raw;\n        if (raw != null && typeof raw === 'object' && !Array.isArray(raw)) {\n            this.rowSpan = raw.rowSpan || 1;\n            this.colSpan = raw.colSpan || 1;\n            content = (_b = (_a = raw.content) !== null && _a !== void 0 ? _a : raw.title) !== null && _b !== void 0 ? _b : raw;\n            if (raw._element) {\n                this.raw = raw._element;\n            }\n        }\n        else {\n            this.rowSpan = 1;\n            this.colSpan = 1;\n        }\n        // Stringify 0 and false, but not undefined or null\n        var text = content != null ? '' + content : '';\n        var splitRegex = /\\r\\n|\\r|\\n/g;\n        this.text = text.split(splitRegex);\n    }\n    Cell.prototype.getTextPos = function () {\n        var y;\n        if (this.styles.valign === 'top') {\n            y = this.y + this.padding('top');\n        }\n        else if (this.styles.valign === 'bottom') {\n            y = this.y + this.height - this.padding('bottom');\n        }\n        else {\n            var netHeight = this.height - this.padding('vertical');\n            y = this.y + netHeight / 2 + this.padding('top');\n        }\n        var x;\n        if (this.styles.halign === 'right') {\n            x = this.x + this.width - this.padding('right');\n        }\n        else if (this.styles.halign === 'center') {\n            var netWidth = this.width - this.padding('horizontal');\n            x = this.x + netWidth / 2 + this.padding('left');\n        }\n        else {\n            x = this.x + this.padding('left');\n        }\n        return { x: x, y: y };\n    };\n    Cell.prototype.getContentHeight = function (scaleFactor) {\n        var lineCount = Array.isArray(this.text) ? this.text.length : 1;\n        var fontHeight = (this.styles.fontSize / scaleFactor) * config_1.FONT_ROW_RATIO;\n        var height = lineCount * fontHeight + this.padding('vertical');\n        return Math.max(height, this.styles.minCellHeight);\n    };\n    Cell.prototype.padding = function (name) {\n        var padding = common_1.parseSpacing(this.styles.cellPadding, 0);\n        if (name === 'vertical') {\n            return padding.top + padding.bottom;\n        }\n        else if (name === 'horizontal') {\n            return padding.left + padding.right;\n        }\n        else {\n            return padding[name];\n        }\n    };\n    return Cell;\n}());\nexports.Cell = Cell;\nvar Column = /** @class */ (function () {\n    function Column(dataKey, raw, index) {\n        this.wrappedWidth = 0;\n        this.minReadableWidth = 0;\n        this.minWidth = 0;\n        this.width = 0;\n        this.dataKey = dataKey;\n        this.raw = raw;\n        this.index = index;\n    }\n    Column.prototype.getMaxCustomCellWidth = function (table) {\n        var max = 0;\n        for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n            var row = _a[_i];\n            var cell = row.cells[this.index];\n            if (cell && typeof cell.styles.cellWidth === 'number') {\n                max = Math.max(max, cell.styles.cellWidth);\n            }\n        }\n        return max;\n    };\n    return Column;\n}());\nexports.Column = Column;\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assign = void 0;\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction assign(target, s, s1, s2, s3) {\n    if (target == null) {\n        throw new TypeError('Cannot convert undefined or null to object');\n    }\n    var to = Object(target);\n    for (var index = 1; index < arguments.length; index++) {\n        // eslint-disable-next-line prefer-rest-params\n        var nextSource = arguments[index];\n        if (nextSource != null) {\n            // Skip over if undefined or null\n            for (var nextKey in nextSource) {\n                // Avoid bugs when hasOwnProperty is shadowed\n                if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\n                    to[nextKey] = nextSource[nextKey];\n                }\n            }\n        }\n    }\n    return to;\n}\nexports.assign = assign;\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseHtml = void 0;\nvar cssParser_1 = __webpack_require__(13);\nvar config_1 = __webpack_require__(1);\nfunction parseHtml(doc, input, window, includeHiddenHtml, useCss) {\n    var _a, _b;\n    if (includeHiddenHtml === void 0) { includeHiddenHtml = false; }\n    if (useCss === void 0) { useCss = false; }\n    var tableElement;\n    if (typeof input === 'string') {\n        tableElement = window.document.querySelector(input);\n    }\n    else {\n        tableElement = input;\n    }\n    var supportedFonts = Object.keys(doc.getFontList());\n    var scaleFactor = doc.scaleFactor();\n    var head = [], body = [], foot = [];\n    if (!tableElement) {\n        console.error('Html table could not be found with input: ', input);\n        return { head: head, body: body, foot: foot };\n    }\n    for (var i = 0; i < tableElement.rows.length; i++) {\n        var element = tableElement.rows[i];\n        var tagName = (_b = (_a = element === null || element === void 0 ? void 0 : element.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase();\n        var row = parseRowContent(supportedFonts, scaleFactor, window, element, includeHiddenHtml, useCss);\n        if (!row)\n            continue;\n        if (tagName === 'thead') {\n            head.push(row);\n        }\n        else if (tagName === 'tfoot') {\n            foot.push(row);\n        }\n        else {\n            // Add to body both if parent is tbody or table\n            body.push(row);\n        }\n    }\n    return { head: head, body: body, foot: foot };\n}\nexports.parseHtml = parseHtml;\nfunction parseRowContent(supportedFonts, scaleFactor, window, row, includeHidden, useCss) {\n    var resultRow = new config_1.HtmlRowInput(row);\n    for (var i = 0; i < row.cells.length; i++) {\n        var cell = row.cells[i];\n        var style_1 = window.getComputedStyle(cell);\n        if (includeHidden || style_1.display !== 'none') {\n            var cellStyles = void 0;\n            if (useCss) {\n                cellStyles = cssParser_1.parseCss(supportedFonts, cell, scaleFactor, style_1, window);\n            }\n            resultRow.push({\n                rowSpan: cell.rowSpan,\n                colSpan: cell.colSpan,\n                styles: cellStyles,\n                _element: cell,\n                content: parseCellContent(cell),\n            });\n        }\n    }\n    var style = window.getComputedStyle(row);\n    if (resultRow.length > 0 && (includeHidden || style.display !== 'none')) {\n        return resultRow;\n    }\n}\nfunction parseCellContent(orgCell) {\n    // Work on cloned node to make sure no changes are applied to html table\n    var cell = orgCell.cloneNode(true);\n    // Remove extra space and line breaks in markup to make it more similar to\n    // what would be shown in html\n    cell.innerHTML = cell.innerHTML.replace(/\\n/g, '').replace(/ +/g, ' ');\n    // Preserve <br> tags as line breaks in the pdf\n    cell.innerHTML = cell.innerHTML\n        .split(/\\<br.*?\\>/) //start with '<br' and ends with '>'.\n        .map(function (part) { return part.trim(); })\n        .join('\\n');\n    // innerText for ie\n    return cell.innerText || cell.textContent || '';\n}\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Improved text function with halign and valign support\n * Inspiration from: http://stackoverflow.com/questions/28327510/align-text-right-using-jspdf/28433113#28433113\n */\nfunction default_1(text, x, y, styles, doc) {\n    styles = styles || {};\n    var FONT_ROW_RATIO = 1.15;\n    var k = doc.internal.scaleFactor;\n    var fontSize = doc.internal.getFontSize() / k;\n    var splitRegex = /\\r\\n|\\r|\\n/g;\n    var splitText = '';\n    var lineCount = 1;\n    if (styles.valign === 'middle' ||\n        styles.valign === 'bottom' ||\n        styles.halign === 'center' ||\n        styles.halign === 'right') {\n        splitText = typeof text === 'string' ? text.split(splitRegex) : text;\n        lineCount = splitText.length || 1;\n    }\n    // Align the top\n    y += fontSize * (2 - FONT_ROW_RATIO);\n    if (styles.valign === 'middle')\n        y -= (lineCount / 2) * fontSize * FONT_ROW_RATIO;\n    else if (styles.valign === 'bottom')\n        y -= lineCount * fontSize * FONT_ROW_RATIO;\n    if (styles.halign === 'center' || styles.halign === 'right') {\n        var alignSize = fontSize;\n        if (styles.halign === 'center')\n            alignSize *= 0.5;\n        if (splitText && lineCount >= 1) {\n            for (var iLine = 0; iLine < splitText.length; iLine++) {\n                doc.text(splitText[iLine], x - doc.getStringUnitWidth(splitText[iLine]) * alignSize, y);\n                y += fontSize * FONT_ROW_RATIO;\n            }\n            return doc;\n        }\n        x -= doc.getStringUnitWidth(text) * alignSize;\n    }\n    if (styles.halign === 'justify') {\n        doc.text(text, x, y, {\n            maxWidth: styles.maxWidth || 100,\n            align: 'justify',\n        });\n    }\n    else {\n        doc.text(text, x, y);\n    }\n    return doc;\n}\nexports.default = default_1;\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseInput = void 0;\nvar htmlParser_1 = __webpack_require__(5);\nvar polyfills_1 = __webpack_require__(4);\nvar common_1 = __webpack_require__(0);\nvar documentHandler_1 = __webpack_require__(2);\nvar inputValidator_1 = __webpack_require__(14);\nfunction parseInput(d, current) {\n    var doc = new documentHandler_1.DocHandler(d);\n    var document = doc.getDocumentOptions();\n    var global = doc.getGlobalOptions();\n    inputValidator_1.default(doc, global, document, current);\n    var options = polyfills_1.assign({}, global, document, current);\n    var win;\n    if (typeof window !== 'undefined') {\n        win = window;\n    }\n    var styles = parseStyles(global, document, current);\n    var hooks = parseHooks(global, document, current);\n    var settings = parseSettings(doc, options);\n    var content = parseContent(doc, options, win);\n    return {\n        id: current.tableId,\n        content: content,\n        hooks: hooks,\n        styles: styles,\n        settings: settings,\n    };\n}\nexports.parseInput = parseInput;\nfunction parseStyles(gInput, dInput, cInput) {\n    var styleOptions = {\n        styles: {},\n        headStyles: {},\n        bodyStyles: {},\n        footStyles: {},\n        alternateRowStyles: {},\n        columnStyles: {},\n    };\n    var _loop_1 = function (prop) {\n        if (prop === 'columnStyles') {\n            var global_1 = gInput[prop];\n            var document_1 = dInput[prop];\n            var current = cInput[prop];\n            styleOptions.columnStyles = polyfills_1.assign({}, global_1, document_1, current);\n        }\n        else {\n            var allOptions = [gInput, dInput, cInput];\n            var styles = allOptions.map(function (opts) { return opts[prop] || {}; });\n            styleOptions[prop] = polyfills_1.assign({}, styles[0], styles[1], styles[2]);\n        }\n    };\n    for (var _i = 0, _a = Object.keys(styleOptions); _i < _a.length; _i++) {\n        var prop = _a[_i];\n        _loop_1(prop);\n    }\n    return styleOptions;\n}\nfunction parseHooks(global, document, current) {\n    var allOptions = [global, document, current];\n    var result = {\n        didParseCell: [],\n        willDrawCell: [],\n        didDrawCell: [],\n        didDrawPage: [],\n    };\n    for (var _i = 0, allOptions_1 = allOptions; _i < allOptions_1.length; _i++) {\n        var options = allOptions_1[_i];\n        if (options.didParseCell)\n            result.didParseCell.push(options.didParseCell);\n        if (options.willDrawCell)\n            result.willDrawCell.push(options.willDrawCell);\n        if (options.didDrawCell)\n            result.didDrawCell.push(options.didDrawCell);\n        if (options.didDrawPage)\n            result.didDrawPage.push(options.didDrawPage);\n    }\n    return result;\n}\nfunction parseSettings(doc, options) {\n    var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;\n    var margin = common_1.parseSpacing(options.margin, 40 / doc.scaleFactor());\n    var startY = (_a = getStartY(doc, options.startY)) !== null && _a !== void 0 ? _a : margin.top;\n    var showFoot;\n    if (options.showFoot === true) {\n        showFoot = 'everyPage';\n    }\n    else if (options.showFoot === false) {\n        showFoot = 'never';\n    }\n    else {\n        showFoot = (_b = options.showFoot) !== null && _b !== void 0 ? _b : 'everyPage';\n    }\n    var showHead;\n    if (options.showHead === true) {\n        showHead = 'everyPage';\n    }\n    else if (options.showHead === false) {\n        showHead = 'never';\n    }\n    else {\n        showHead = (_c = options.showHead) !== null && _c !== void 0 ? _c : 'everyPage';\n    }\n    var useCss = (_d = options.useCss) !== null && _d !== void 0 ? _d : false;\n    var theme = options.theme || (useCss ? 'plain' : 'striped');\n    var horizontalPageBreak = options.horizontalPageBreak ? true : false;\n    return {\n        includeHiddenHtml: (_e = options.includeHiddenHtml) !== null && _e !== void 0 ? _e : false,\n        useCss: useCss,\n        theme: theme,\n        startY: startY,\n        margin: margin,\n        pageBreak: (_f = options.pageBreak) !== null && _f !== void 0 ? _f : 'auto',\n        rowPageBreak: (_g = options.rowPageBreak) !== null && _g !== void 0 ? _g : 'auto',\n        tableWidth: (_h = options.tableWidth) !== null && _h !== void 0 ? _h : 'auto',\n        showHead: showHead,\n        showFoot: showFoot,\n        tableLineWidth: (_j = options.tableLineWidth) !== null && _j !== void 0 ? _j : 0,\n        tableLineColor: (_k = options.tableLineColor) !== null && _k !== void 0 ? _k : 200,\n        horizontalPageBreak: horizontalPageBreak,\n    };\n}\nfunction getStartY(doc, userStartY) {\n    var previous = doc.getLastAutoTable();\n    var sf = doc.scaleFactor();\n    var currentPage = doc.pageNumber();\n    var isSamePageAsPreviousTable = false;\n    if (previous && previous.startPageNumber) {\n        var endingPage = previous.startPageNumber + previous.pageNumber - 1;\n        isSamePageAsPreviousTable = endingPage === currentPage;\n    }\n    if (typeof userStartY === 'number') {\n        return userStartY;\n    }\n    else if (userStartY == null || userStartY === false) {\n        if (isSamePageAsPreviousTable && (previous === null || previous === void 0 ? void 0 : previous.finalY) != null) {\n            // Some users had issues with overlapping tables when they used multiple\n            // tables without setting startY so setting it here to a sensible default.\n            return previous.finalY + 20 / sf;\n        }\n    }\n    return null;\n}\nfunction parseContent(doc, options, window) {\n    var head = options.head || [];\n    var body = options.body || [];\n    var foot = options.foot || [];\n    if (options.html) {\n        var hidden = options.includeHiddenHtml;\n        if (window) {\n            var htmlContent = htmlParser_1.parseHtml(doc, options.html, window, hidden, options.useCss) || {};\n            head = htmlContent.head || head;\n            body = htmlContent.body || head;\n            foot = htmlContent.foot || head;\n        }\n        else {\n            console.error('Cannot parse html in non browser environment');\n        }\n    }\n    var columns = options.columns || parseColumns(head, body, foot);\n    return {\n        columns: columns,\n        head: head,\n        body: body,\n        foot: foot,\n    };\n}\nfunction parseColumns(head, body, foot) {\n    var firstRow = head[0] || body[0] || foot[0] || [];\n    var result = [];\n    Object.keys(firstRow)\n        .filter(function (key) { return key !== '_element'; })\n        .forEach(function (key) {\n        var colSpan = 1;\n        var input;\n        if (Array.isArray(firstRow)) {\n            input = firstRow[parseInt(key)];\n        }\n        else {\n            input = firstRow[key];\n        }\n        if (typeof input === 'object' && !Array.isArray(input)) {\n            colSpan = (input === null || input === void 0 ? void 0 : input.colSpan) || 1;\n        }\n        for (var i = 0; i < colSpan; i++) {\n            var id = void 0;\n            if (Array.isArray(firstRow)) {\n                id = result.length;\n            }\n            else {\n                id = key + (i > 0 ? \"_\" + i : '');\n            }\n            var rowResult = { dataKey: id };\n            result.push(rowResult);\n        }\n    });\n    return result;\n}\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.addPage = exports.drawTable = void 0;\nvar config_1 = __webpack_require__(1);\nvar common_1 = __webpack_require__(0);\nvar models_1 = __webpack_require__(3);\nvar documentHandler_1 = __webpack_require__(2);\nvar polyfills_1 = __webpack_require__(4);\nvar autoTableText_1 = __webpack_require__(6);\nvar tablePrinter_1 = __webpack_require__(15);\nfunction drawTable(jsPDFDoc, table) {\n    var settings = table.settings;\n    var startY = settings.startY;\n    var margin = settings.margin;\n    var cursor = {\n        x: margin.left,\n        y: startY,\n    };\n    var sectionsHeight = table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n    var minTableBottomPos = startY + margin.bottom + sectionsHeight;\n    if (settings.pageBreak === 'avoid') {\n        var rows = table.allRows();\n        var tableHeight = rows.reduce(function (acc, row) { return acc + row.height; }, 0);\n        minTableBottomPos += tableHeight;\n    }\n    var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n    if (settings.pageBreak === 'always' ||\n        (settings.startY != null && minTableBottomPos > doc.pageSize().height)) {\n        nextPage(doc);\n        cursor.y = margin.top;\n    }\n    var startPos = polyfills_1.assign({}, cursor);\n    table.startPageNumber = doc.pageNumber();\n    if (settings.horizontalPageBreak === true) {\n        // managed flow for split columns\n        printTableWithHorizontalPageBreak(doc, table, startPos, cursor);\n    }\n    else {\n        // normal flow\n        doc.applyStyles(doc.userStyles);\n        if (settings.showHead === 'firstPage' ||\n            settings.showHead === 'everyPage') {\n            table.head.forEach(function (row) { return printRow(doc, table, row, cursor, table.columns); });\n        }\n        doc.applyStyles(doc.userStyles);\n        table.body.forEach(function (row, index) {\n            var isLastRow = index === table.body.length - 1;\n            printFullRow(doc, table, row, isLastRow, startPos, cursor, table.columns);\n        });\n        doc.applyStyles(doc.userStyles);\n        if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n            table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, table.columns); });\n        }\n    }\n    common_1.addTableBorder(doc, table, startPos, cursor);\n    table.callEndPageHooks(doc, cursor);\n    table.finalY = cursor.y;\n    jsPDFDoc.lastAutoTable = table;\n    jsPDFDoc.previousAutoTable = table; // Deprecated\n    if (jsPDFDoc.autoTable)\n        jsPDFDoc.autoTable.previous = table; // Deprecated\n    doc.applyStyles(doc.userStyles);\n}\nexports.drawTable = drawTable;\nfunction printTableWithHorizontalPageBreak(doc, table, startPos, cursor) {\n    // calculate width of columns and render only those which can fit into page\n    var allColumnsCanFitResult = tablePrinter_1.default.calculateAllColumnsCanFitInPage(doc, table);\n    allColumnsCanFitResult.map(function (colsAndIndexes, index) {\n        doc.applyStyles(doc.userStyles);\n        // add page to print next columns in new page\n        if (index > 0) {\n            addPage(doc, table, startPos, cursor, colsAndIndexes.columns);\n        }\n        else {\n            // print head for selected columns\n            printHead(doc, table, cursor, colsAndIndexes.columns);\n        }\n        // print body for selected columns\n        printBody(doc, table, startPos, cursor, colsAndIndexes.columns);\n        // print foot for selected columns\n        printFoot(doc, table, cursor, colsAndIndexes.columns);\n    });\n}\nfunction printHead(doc, table, cursor, columns) {\n    var settings = table.settings;\n    doc.applyStyles(doc.userStyles);\n    if (settings.showHead === 'firstPage' ||\n        settings.showHead === 'everyPage') {\n        table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n    }\n}\nfunction printBody(doc, table, startPos, cursor, columns) {\n    doc.applyStyles(doc.userStyles);\n    table.body.forEach(function (row, index) {\n        var isLastRow = index === table.body.length - 1;\n        printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n    });\n}\nfunction printFoot(doc, table, cursor, columns) {\n    var settings = table.settings;\n    doc.applyStyles(doc.userStyles);\n    if (settings.showFoot === 'lastPage' || settings.showFoot === 'everyPage') {\n        table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n    }\n}\nfunction getRemainingLineCount(cell, remainingPageSpace, doc) {\n    var fontHeight = (cell.styles.fontSize / doc.scaleFactor()) * config_1.FONT_ROW_RATIO;\n    var vPadding = cell.padding('vertical');\n    var remainingLines = Math.floor((remainingPageSpace - vPadding) / fontHeight);\n    return Math.max(0, remainingLines);\n}\nfunction modifyRowToFit(row, remainingPageSpace, table, doc) {\n    var cells = {};\n    row.spansMultiplePages = true;\n    row.height = 0;\n    var rowHeight = 0;\n    for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n        var column = _a[_i];\n        var cell = row.cells[column.index];\n        if (!cell)\n            continue;\n        if (!Array.isArray(cell.text)) {\n            cell.text = [cell.text];\n        }\n        var remainderCell = new models_1.Cell(cell.raw, cell.styles, cell.section);\n        remainderCell = polyfills_1.assign(remainderCell, cell);\n        remainderCell.text = [];\n        var remainingLineCount = getRemainingLineCount(cell, remainingPageSpace, doc);\n        if (cell.text.length > remainingLineCount) {\n            remainderCell.text = cell.text.splice(remainingLineCount, cell.text.length);\n        }\n        var scaleFactor = doc.scaleFactor();\n        cell.contentHeight = cell.getContentHeight(scaleFactor);\n        if (cell.contentHeight >= remainingPageSpace) {\n            cell.contentHeight = remainingPageSpace;\n            remainderCell.styles.minCellHeight -= remainingPageSpace;\n        }\n        if (cell.contentHeight > row.height) {\n            row.height = cell.contentHeight;\n        }\n        remainderCell.contentHeight = remainderCell.getContentHeight(scaleFactor);\n        if (remainderCell.contentHeight > rowHeight) {\n            rowHeight = remainderCell.contentHeight;\n        }\n        cells[column.index] = remainderCell;\n    }\n    var remainderRow = new models_1.Row(row.raw, -1, row.section, cells, true);\n    remainderRow.height = rowHeight;\n    for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n        var column = _c[_b];\n        var remainderCell = remainderRow.cells[column.index];\n        if (remainderCell) {\n            remainderCell.height = remainderRow.height;\n        }\n        var cell = row.cells[column.index];\n        if (cell) {\n            cell.height = row.height;\n        }\n    }\n    return remainderRow;\n}\nfunction shouldPrintOnCurrentPage(doc, row, remainingPageSpace, table) {\n    var pageHeight = doc.pageSize().height;\n    var margin = table.settings.margin;\n    var marginHeight = margin.top + margin.bottom;\n    var maxRowHeight = pageHeight - marginHeight;\n    if (row.section === 'body') {\n        // Should also take into account that head and foot is not\n        // on every page with some settings\n        maxRowHeight -=\n            table.getHeadHeight(table.columns) + table.getFootHeight(table.columns);\n    }\n    var minRowHeight = row.getMinimumRowHeight(table.columns, doc);\n    var minRowFits = minRowHeight < remainingPageSpace;\n    if (minRowHeight > maxRowHeight) {\n        console.error(\"Will not be able to print row \" + row.index + \" correctly since it's minimum height is larger than page height\");\n        return true;\n    }\n    if (!minRowFits) {\n        return false;\n    }\n    var rowHasRowSpanCell = row.hasRowSpan(table.columns);\n    var rowHigherThanPage = row.getMaxCellHeight(table.columns) > maxRowHeight;\n    if (rowHigherThanPage) {\n        if (rowHasRowSpanCell) {\n            console.error(\"The content of row \" + row.index + \" will not be drawn correctly since drawing rows with a height larger than the page height and has cells with rowspans is not supported.\");\n        }\n        return true;\n    }\n    if (rowHasRowSpanCell) {\n        // Currently a new page is required whenever a rowspan row don't fit a page.\n        return false;\n    }\n    if (table.settings.rowPageBreak === 'avoid') {\n        return false;\n    }\n    // In all other cases print the row on current page\n    return true;\n}\nfunction printFullRow(doc, table, row, isLastRow, startPos, cursor, columns) {\n    var remainingSpace = getRemainingPageSpace(doc, table, isLastRow, cursor);\n    if (row.canEntireRowFit(remainingSpace, columns)) {\n        printRow(doc, table, row, cursor, columns);\n    }\n    else {\n        if (shouldPrintOnCurrentPage(doc, row, remainingSpace, table)) {\n            var remainderRow = modifyRowToFit(row, remainingSpace, table, doc);\n            printRow(doc, table, row, cursor, columns);\n            addPage(doc, table, startPos, cursor, columns);\n            printFullRow(doc, table, remainderRow, isLastRow, startPos, cursor, columns);\n        }\n        else {\n            addPage(doc, table, startPos, cursor, columns);\n            printFullRow(doc, table, row, isLastRow, startPos, cursor, columns);\n        }\n    }\n}\nfunction printRow(doc, table, row, cursor, columns) {\n    cursor.x = table.settings.margin.left;\n    for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n        var column = columns_1[_i];\n        var cell = row.cells[column.index];\n        if (!cell) {\n            cursor.x += column.width;\n            continue;\n        }\n        doc.applyStyles(cell.styles);\n        cell.x = cursor.x;\n        cell.y = cursor.y;\n        var result = table.callCellHooks(doc, table.hooks.willDrawCell, cell, row, column, cursor);\n        if (result === false) {\n            cursor.x += column.width;\n            continue;\n        }\n        drawCellBorders(doc, cell, cursor);\n        var textPos = cell.getTextPos();\n        autoTableText_1.default(cell.text, textPos.x, textPos.y, {\n            halign: cell.styles.halign,\n            valign: cell.styles.valign,\n            maxWidth: Math.ceil(cell.width - cell.padding('left') - cell.padding('right')),\n        }, doc.getDocument());\n        table.callCellHooks(doc, table.hooks.didDrawCell, cell, row, column, cursor);\n        cursor.x += column.width;\n    }\n    cursor.y += row.height;\n}\nfunction drawCellBorders(doc, cell, cursor) {\n    var cellStyles = cell.styles;\n    if (typeof cellStyles.lineWidth === 'number') {\n        // prints normal cell border\n        var fillStyle = common_1.getFillStyle(cellStyles.lineWidth, cellStyles.fillColor);\n        if (fillStyle) {\n            doc.rect(cell.x, cursor.y, cell.width, cell.height, fillStyle);\n        }\n    }\n    else if (typeof cellStyles.lineWidth === 'object') {\n        var sides = Object.keys(cellStyles.lineWidth);\n        var lineWidth_1 = cellStyles.lineWidth;\n        sides.map(function (side) {\n            var fillStyle = common_1.getFillStyle(lineWidth_1[side], cellStyles.fillColor);\n            drawBorderForSide(doc, cell, cursor, side, fillStyle || 'S', lineWidth_1[side]);\n        });\n    }\n}\nfunction drawBorderForSide(doc, cell, cursor, side, fillStyle, lineWidth) {\n    var x1, y1, x2, y2;\n    switch (side) {\n        case 'top':\n            x1 = cursor.x;\n            y1 = cursor.y;\n            x2 = cursor.x + cell.width;\n            y2 = cursor.y;\n            break;\n        case 'left':\n            x1 = cursor.x;\n            y1 = cursor.y;\n            x2 = cursor.x;\n            y2 = cursor.y + cell.height;\n            break;\n        case 'right':\n            x1 = cursor.x + cell.width;\n            y1 = cursor.y;\n            x2 = cursor.x + cell.width;\n            y2 = cursor.y + cell.height;\n            break;\n        default: // default it will print bottom\n            x1 = cursor.x;\n            y1 = cursor.y + cell.height;\n            x2 = cursor.x + cell.width;\n            y2 = cursor.y + cell.height;\n            break;\n    }\n    doc.getDocument().setLineWidth(lineWidth);\n    doc.getDocument().line(x1, y1, x2, y2, fillStyle);\n}\nfunction getRemainingPageSpace(doc, table, isLastRow, cursor) {\n    var bottomContentHeight = table.settings.margin.bottom;\n    var showFoot = table.settings.showFoot;\n    if (showFoot === 'everyPage' || (showFoot === 'lastPage' && isLastRow)) {\n        bottomContentHeight += table.getFootHeight(table.columns);\n    }\n    return doc.pageSize().height - cursor.y - bottomContentHeight;\n}\nfunction addPage(doc, table, startPos, cursor, columns) {\n    if (columns === void 0) { columns = []; }\n    doc.applyStyles(doc.userStyles);\n    if (table.settings.showFoot === 'everyPage') {\n        table.foot.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n    }\n    // Add user content just before adding new page ensure it will\n    // be drawn above other things on the page\n    table.callEndPageHooks(doc, cursor);\n    var margin = table.settings.margin;\n    common_1.addTableBorder(doc, table, startPos, cursor);\n    nextPage(doc);\n    table.pageNumber++;\n    table.pageCount++;\n    cursor.x = margin.left;\n    cursor.y = margin.top;\n    if (table.settings.showHead === 'everyPage') {\n        table.head.forEach(function (row) { return printRow(doc, table, row, cursor, columns); });\n    }\n}\nexports.addPage = addPage;\nfunction nextPage(doc) {\n    var current = doc.pageNumber();\n    doc.setPage(current + 1);\n    var newCurrent = doc.pageNumber();\n    if (newCurrent === current) {\n        doc.addPage();\n    }\n}\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CellHookData = exports.HookData = void 0;\nvar HookData = /** @class */ (function () {\n    function HookData(doc, table, cursor) {\n        this.table = table;\n        this.pageNumber = table.pageNumber;\n        this.pageCount = this.pageNumber;\n        this.settings = table.settings;\n        this.cursor = cursor;\n        this.doc = doc.getDocument();\n    }\n    return HookData;\n}());\nexports.HookData = HookData;\nvar CellHookData = /** @class */ (function (_super) {\n    __extends(CellHookData, _super);\n    function CellHookData(doc, table, cell, row, column, cursor) {\n        var _this = _super.call(this, doc, table, cursor) || this;\n        _this.cell = cell;\n        _this.row = row;\n        _this.column = column;\n        _this.section = row.section;\n        return _this;\n    }\n    return CellHookData;\n}(HookData));\nexports.CellHookData = CellHookData;\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createTable = void 0;\nvar documentHandler_1 = __webpack_require__(2);\nvar models_1 = __webpack_require__(3);\nvar widthCalculator_1 = __webpack_require__(16);\nvar config_1 = __webpack_require__(1);\nvar polyfills_1 = __webpack_require__(4);\nfunction createTable(jsPDFDoc, input) {\n    var doc = new documentHandler_1.DocHandler(jsPDFDoc);\n    var content = parseContent(input, doc.scaleFactor());\n    var table = new models_1.Table(input, content);\n    widthCalculator_1.calculateWidths(doc, table);\n    doc.applyStyles(doc.userStyles);\n    return table;\n}\nexports.createTable = createTable;\nfunction parseContent(input, sf) {\n    var content = input.content;\n    var columns = createColumns(content.columns);\n    // If no head or foot is set, try generating it with content from columns\n    if (content.head.length === 0) {\n        var sectionRow = generateSectionRow(columns, 'head');\n        if (sectionRow)\n            content.head.push(sectionRow);\n    }\n    if (content.foot.length === 0) {\n        var sectionRow = generateSectionRow(columns, 'foot');\n        if (sectionRow)\n            content.foot.push(sectionRow);\n    }\n    var theme = input.settings.theme;\n    var styles = input.styles;\n    return {\n        columns: columns,\n        head: parseSection('head', content.head, columns, styles, theme, sf),\n        body: parseSection('body', content.body, columns, styles, theme, sf),\n        foot: parseSection('foot', content.foot, columns, styles, theme, sf),\n    };\n}\nfunction parseSection(sectionName, sectionRows, columns, styleProps, theme, scaleFactor) {\n    var rowSpansLeftForColumn = {};\n    var result = sectionRows.map(function (rawRow, rowIndex) {\n        var skippedRowForRowSpans = 0;\n        var cells = {};\n        var colSpansAdded = 0;\n        var columnSpansLeft = 0;\n        for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n            var column = columns_1[_i];\n            if (rowSpansLeftForColumn[column.index] == null ||\n                rowSpansLeftForColumn[column.index].left === 0) {\n                if (columnSpansLeft === 0) {\n                    var rawCell = void 0;\n                    if (Array.isArray(rawRow)) {\n                        rawCell =\n                            rawRow[column.index - colSpansAdded - skippedRowForRowSpans];\n                    }\n                    else {\n                        rawCell = rawRow[column.dataKey];\n                    }\n                    var cellInputStyles = {};\n                    if (typeof rawCell === 'object' && !Array.isArray(rawCell)) {\n                        cellInputStyles = (rawCell === null || rawCell === void 0 ? void 0 : rawCell.styles) || {};\n                    }\n                    var styles = cellStyles(sectionName, column, rowIndex, theme, styleProps, scaleFactor, cellInputStyles);\n                    var cell = new models_1.Cell(rawCell, styles, sectionName);\n                    // dataKey is not used internally no more but keep for\n                    // backwards compat in hooks\n                    cells[column.dataKey] = cell;\n                    cells[column.index] = cell;\n                    columnSpansLeft = cell.colSpan - 1;\n                    rowSpansLeftForColumn[column.index] = {\n                        left: cell.rowSpan - 1,\n                        times: columnSpansLeft,\n                    };\n                }\n                else {\n                    columnSpansLeft--;\n                    colSpansAdded++;\n                }\n            }\n            else {\n                rowSpansLeftForColumn[column.index].left--;\n                columnSpansLeft = rowSpansLeftForColumn[column.index].times;\n                skippedRowForRowSpans++;\n            }\n        }\n        return new models_1.Row(rawRow, rowIndex, sectionName, cells);\n    });\n    return result;\n}\nfunction generateSectionRow(columns, section) {\n    var sectionRow = {};\n    columns.forEach(function (col) {\n        if (col.raw != null) {\n            var title = getSectionTitle(section, col.raw);\n            if (title != null)\n                sectionRow[col.dataKey] = title;\n        }\n    });\n    return Object.keys(sectionRow).length > 0 ? sectionRow : null;\n}\nfunction getSectionTitle(section, column) {\n    if (section === 'head') {\n        if (typeof column === 'object') {\n            return column.header || column.title || null;\n        }\n        else if (typeof column === 'string' || typeof column === 'number') {\n            return column;\n        }\n    }\n    else if (section === 'foot' && typeof column === 'object') {\n        return column.footer;\n    }\n    return null;\n}\nfunction createColumns(columns) {\n    return columns.map(function (input, index) {\n        var _a, _b;\n        var key;\n        if (typeof input === 'object') {\n            key = (_b = (_a = input.dataKey) !== null && _a !== void 0 ? _a : input.key) !== null && _b !== void 0 ? _b : index;\n        }\n        else {\n            key = index;\n        }\n        return new models_1.Column(key, input, index);\n    });\n}\nfunction cellStyles(sectionName, column, rowIndex, themeName, styles, scaleFactor, cellInputStyles) {\n    var theme = config_1.getTheme(themeName);\n    var sectionStyles;\n    if (sectionName === 'head') {\n        sectionStyles = styles.headStyles;\n    }\n    else if (sectionName === 'body') {\n        sectionStyles = styles.bodyStyles;\n    }\n    else if (sectionName === 'foot') {\n        sectionStyles = styles.footStyles;\n    }\n    var otherStyles = polyfills_1.assign({}, theme.table, theme[sectionName], styles.styles, sectionStyles);\n    var columnStyles = styles.columnStyles[column.dataKey] ||\n        styles.columnStyles[column.index] ||\n        {};\n    var colStyles = sectionName === 'body' ? columnStyles : {};\n    var rowStyles = sectionName === 'body' && rowIndex % 2 === 0\n        ? polyfills_1.assign({}, theme.alternateRow, styles.alternateRowStyles)\n        : {};\n    var defaultStyle = config_1.defaultStyles(scaleFactor);\n    var themeStyles = polyfills_1.assign({}, defaultStyle, otherStyles, rowStyles, colStyles);\n    return polyfills_1.assign(themeStyles, cellInputStyles);\n}\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cell = exports.Column = exports.Row = exports.Table = exports.CellHookData = exports.__drawTable = exports.__createTable = exports.applyPlugin = void 0;\nvar applyPlugin_1 = __webpack_require__(12);\nvar inputParser_1 = __webpack_require__(7);\nvar tableDrawer_1 = __webpack_require__(8);\nvar tableCalculator_1 = __webpack_require__(10);\nvar models_1 = __webpack_require__(3);\nObject.defineProperty(exports, \"Table\", { enumerable: true, get: function () { return models_1.Table; } });\nvar HookData_1 = __webpack_require__(9);\nObject.defineProperty(exports, \"CellHookData\", { enumerable: true, get: function () { return HookData_1.CellHookData; } });\nvar models_2 = __webpack_require__(3);\nObject.defineProperty(exports, \"Cell\", { enumerable: true, get: function () { return models_2.Cell; } });\nObject.defineProperty(exports, \"Column\", { enumerable: true, get: function () { return models_2.Column; } });\nObject.defineProperty(exports, \"Row\", { enumerable: true, get: function () { return models_2.Row; } });\n// export { applyPlugin } didn't export applyPlugin\n// to index.d.ts for some reason\nfunction applyPlugin(jsPDF) {\n    applyPlugin_1.default(jsPDF);\n}\nexports.applyPlugin = applyPlugin;\nfunction autoTable(d, options) {\n    var input = inputParser_1.parseInput(d, options);\n    var table = tableCalculator_1.createTable(d, input);\n    tableDrawer_1.drawTable(d, table);\n}\nexports.default = autoTable;\n// Experimental export\nfunction __createTable(d, options) {\n    var input = inputParser_1.parseInput(d, options);\n    return tableCalculator_1.createTable(d, input);\n}\nexports.__createTable = __createTable;\nfunction __drawTable(d, table) {\n    tableDrawer_1.drawTable(d, table);\n}\nexports.__drawTable = __drawTable;\ntry {\n    // eslint-disable-next-line @typescript-eslint/no-var-requires\n    var jsPDF = __webpack_require__(17);\n    // Webpack imported jspdf instead of jsPDF for some reason \n    // while it seemed to work everywhere else.\n    if (jsPDF.jsPDF)\n        jsPDF = jsPDF.jsPDF;\n    applyPlugin(jsPDF);\n}\ncatch (error) {\n    // Importing jspdf in nodejs environments does not work as of jspdf\n    // 1.5.3 so we need to silence potential errors to support using for example\n    // the nodejs jspdf dist files with the exported applyPlugin\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar htmlParser_1 = __webpack_require__(5);\nvar autoTableText_1 = __webpack_require__(6);\nvar documentHandler_1 = __webpack_require__(2);\nvar inputParser_1 = __webpack_require__(7);\nvar tableDrawer_1 = __webpack_require__(8);\nvar tableCalculator_1 = __webpack_require__(10);\nfunction default_1(jsPDF) {\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    jsPDF.API.autoTable = function () {\n        var args = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            args[_i] = arguments[_i];\n        }\n        var options;\n        if (args.length === 1) {\n            options = args[0];\n        }\n        else {\n            console.error('Use of deprecated autoTable initiation');\n            options = args[2] || {};\n            options.columns = args[0];\n            options.body = args[1];\n        }\n        var input = inputParser_1.parseInput(this, options);\n        var table = tableCalculator_1.createTable(this, input);\n        tableDrawer_1.drawTable(this, table);\n        return this;\n    };\n    // Assign false to enable `doc.lastAutoTable.finalY || 40` sugar\n    jsPDF.API.lastAutoTable = false;\n    jsPDF.API.previousAutoTable = false; // deprecated in v3\n    jsPDF.API.autoTable.previous = false; // deprecated in v3\n    jsPDF.API.autoTableText = function (text, x, y, styles) {\n        autoTableText_1.default(text, x, y, styles, this);\n    };\n    jsPDF.API.autoTableSetDefaults = function (defaults) {\n        documentHandler_1.DocHandler.setDefaults(defaults, this);\n        return this;\n    };\n    jsPDF.autoTableSetDefaults = function (defaults, doc) {\n        documentHandler_1.DocHandler.setDefaults(defaults, doc);\n    };\n    jsPDF.API.autoTableHtmlToJson = function (tableElem, includeHiddenElements) {\n        if (includeHiddenElements === void 0) { includeHiddenElements = false; }\n        if (typeof window === 'undefined') {\n            console.error('Cannot run autoTableHtmlToJson in non browser environment');\n            return null;\n        }\n        var doc = new documentHandler_1.DocHandler(this);\n        var _a = htmlParser_1.parseHtml(doc, tableElem, window, includeHiddenElements, false), head = _a.head, body = _a.body;\n        var columns = head[0].map(function (c) { return c.content; });\n        return { columns: columns, rows: body, data: body };\n    };\n    /**\n     * @deprecated\n     */\n    jsPDF.API.autoTableEndPosY = function () {\n        console.error('Use of deprecated function: autoTableEndPosY. Use doc.lastAutoTable.finalY instead.');\n        var prev = this.lastAutoTable;\n        if (prev && prev.finalY) {\n            return prev.finalY;\n        }\n        else {\n            return 0;\n        }\n    };\n    /**\n     * @deprecated\n     */\n    jsPDF.API.autoTableAddPageContent = function (hook) {\n        console.error('Use of deprecated function: autoTableAddPageContent. Use jsPDF.autoTableSetDefaults({didDrawPage: () => {}}) instead.');\n        if (!jsPDF.API.autoTable.globalDefaults) {\n            jsPDF.API.autoTable.globalDefaults = {};\n        }\n        jsPDF.API.autoTable.globalDefaults.addPageContent = hook;\n        return this;\n    };\n    /**\n     * @deprecated\n     */\n    jsPDF.API.autoTableAddPage = function () {\n        console.error('Use of deprecated function: autoTableAddPage. Use doc.addPage()');\n        this.addPage();\n        return this;\n    };\n}\nexports.default = default_1;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.parseCss = void 0;\n// Limitations\n// - No support for border spacing\n// - No support for transparency\nvar common_1 = __webpack_require__(0);\nfunction parseCss(supportedFonts, element, scaleFactor, style, window) {\n    var result = {};\n    var pxScaleFactor = 96 / 72;\n    var color = parseColor(element, function (elem) {\n        return window.getComputedStyle(elem)['backgroundColor'];\n    });\n    if (color != null)\n        result.fillColor = color;\n    color = parseColor(element, function (elem) {\n        return window.getComputedStyle(elem)['color'];\n    });\n    if (color != null)\n        result.textColor = color;\n    color = parseColor(element, function (elem) {\n        return window.getComputedStyle(elem)['borderTopColor'];\n    });\n    if (color != null)\n        result.lineColor = color;\n    var padding = parsePadding(style, scaleFactor);\n    if (padding)\n        result.cellPadding = padding;\n    // style.borderWidth only works in chrome (borderTopWidth etc works in firefox and ie as well)\n    var bw = parseInt(style.borderTopWidth || '');\n    bw = bw / pxScaleFactor / scaleFactor;\n    if (bw)\n        result.lineWidth = bw;\n    var accepted = ['left', 'right', 'center', 'justify'];\n    if (accepted.indexOf(style.textAlign) !== -1) {\n        result.halign = style.textAlign;\n    }\n    accepted = ['middle', 'bottom', 'top'];\n    if (accepted.indexOf(style.verticalAlign) !== -1) {\n        result.valign = style.verticalAlign;\n    }\n    var res = parseInt(style.fontSize || '');\n    if (!isNaN(res))\n        result.fontSize = res / pxScaleFactor;\n    var fontStyle = parseFontStyle(style);\n    if (fontStyle)\n        result.fontStyle = fontStyle;\n    var font = (style.fontFamily || '').toLowerCase();\n    if (supportedFonts.indexOf(font) !== -1) {\n        result.font = font;\n    }\n    return result;\n}\nexports.parseCss = parseCss;\nfunction parseFontStyle(style) {\n    var res = '';\n    if (style.fontWeight === 'bold' ||\n        style.fontWeight === 'bolder' ||\n        parseInt(style.fontWeight) >= 700) {\n        res = 'bold';\n    }\n    if (style.fontStyle === 'italic' || style.fontStyle === 'oblique') {\n        res += 'italic';\n    }\n    return res;\n}\nfunction parseColor(element, styleGetter) {\n    var cssColor = realColor(element, styleGetter);\n    if (!cssColor)\n        return null;\n    var rgba = cssColor.match(/^rgba?\\((\\d+),\\s*(\\d+),\\s*(\\d+)(?:,\\s*(\\d*\\.?\\d*))?\\)$/);\n    if (!rgba || !Array.isArray(rgba)) {\n        return null;\n    }\n    var color = [\n        parseInt(rgba[1]),\n        parseInt(rgba[2]),\n        parseInt(rgba[3]),\n    ];\n    var alpha = parseInt(rgba[4]);\n    if (alpha === 0 || isNaN(color[0]) || isNaN(color[1]) || isNaN(color[2])) {\n        return null;\n    }\n    return color;\n}\nfunction realColor(elem, styleGetter) {\n    var bg = styleGetter(elem);\n    if (bg === 'rgba(0, 0, 0, 0)' ||\n        bg === 'transparent' ||\n        bg === 'initial' ||\n        bg === 'inherit') {\n        if (elem.parentElement == null) {\n            return null;\n        }\n        return realColor(elem.parentElement, styleGetter);\n    }\n    else {\n        return bg;\n    }\n}\nfunction parsePadding(style, scaleFactor) {\n    var val = [\n        style.paddingTop,\n        style.paddingRight,\n        style.paddingBottom,\n        style.paddingLeft,\n    ];\n    var pxScaleFactor = 96 / (72 / scaleFactor);\n    var linePadding = (parseInt(style.lineHeight) - parseInt(style.fontSize)) / scaleFactor / 2;\n    var inputPadding = val.map(function (n) {\n        return parseInt(n) / pxScaleFactor;\n    });\n    var padding = common_1.parseSpacing(inputPadding, 0);\n    if (linePadding > padding.top) {\n        padding.top = linePadding;\n    }\n    if (linePadding > padding.bottom) {\n        padding.bottom = linePadding;\n    }\n    return padding;\n}\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction default_1(doc, global, document, current) {\n    var _loop_1 = function (options) {\n        if (options && typeof options !== 'object') {\n            console.error('The options parameter should be of type object, is: ' + typeof options);\n        }\n        if (typeof options.extendWidth !== 'undefined') {\n            options.tableWidth = options.extendWidth ? 'auto' : 'wrap';\n            console.error('Use of deprecated option: extendWidth, use tableWidth instead.');\n        }\n        if (typeof options.margins !== 'undefined') {\n            if (typeof options.margin === 'undefined')\n                options.margin = options.margins;\n            console.error('Use of deprecated option: margins, use margin instead.');\n        }\n        if (options.startY && typeof options.startY !== 'number') {\n            console.error('Invalid value for startY option', options.startY);\n            delete options.startY;\n        }\n        if (!options.didDrawPage &&\n            (options.afterPageContent ||\n                options.beforePageContent ||\n                options.afterPageAdd)) {\n            console.error('The afterPageContent, beforePageContent and afterPageAdd hooks are deprecated. Use didDrawPage instead');\n            options.didDrawPage = function (data) {\n                doc.applyStyles(doc.userStyles);\n                if (options.beforePageContent)\n                    options.beforePageContent(data);\n                doc.applyStyles(doc.userStyles);\n                if (options.afterPageContent)\n                    options.afterPageContent(data);\n                doc.applyStyles(doc.userStyles);\n                if (options.afterPageAdd && data.pageNumber > 1) {\n                    ;\n                    data.afterPageAdd(data);\n                }\n                doc.applyStyles(doc.userStyles);\n            };\n        }\n        ;\n        [\n            'createdHeaderCell',\n            'drawHeaderRow',\n            'drawRow',\n            'drawHeaderCell',\n        ].forEach(function (name) {\n            if (options[name]) {\n                console.error(\"The \\\"\" + name + \"\\\" hook has changed in version 3.0, check the changelog for how to migrate.\");\n            }\n        });\n        [\n            ['showFoot', 'showFooter'],\n            ['showHead', 'showHeader'],\n            ['didDrawPage', 'addPageContent'],\n            ['didParseCell', 'createdCell'],\n            ['headStyles', 'headerStyles'],\n        ].forEach(function (_a) {\n            var current = _a[0], deprecated = _a[1];\n            if (options[deprecated]) {\n                console.error(\"Use of deprecated option \" + deprecated + \". Use \" + current + \" instead\");\n                options[current] = options[deprecated];\n            }\n        });\n        [\n            ['padding', 'cellPadding'],\n            ['lineHeight', 'rowHeight'],\n            'fontSize',\n            'overflow',\n        ].forEach(function (o) {\n            var deprecatedOption = typeof o === 'string' ? o : o[0];\n            var style = typeof o === 'string' ? o : o[1];\n            if (typeof options[deprecatedOption] !== 'undefined') {\n                if (typeof options.styles[style] === 'undefined') {\n                    options.styles[style] = options[deprecatedOption];\n                }\n                console.error('Use of deprecated option: ' +\n                    deprecatedOption +\n                    ', use the style ' +\n                    style +\n                    ' instead.');\n            }\n        });\n        for (var _i = 0, _a = [\n            'styles',\n            'bodyStyles',\n            'headStyles',\n            'footStyles',\n        ]; _i < _a.length; _i++) {\n            var styleProp = _a[_i];\n            checkStyles(options[styleProp] || {});\n        }\n        var columnStyles = options['columnStyles'] || {};\n        for (var _b = 0, _c = Object.keys(columnStyles); _b < _c.length; _b++) {\n            var key = _c[_b];\n            checkStyles(columnStyles[key] || {});\n        }\n    };\n    for (var _i = 0, _a = [global, document, current]; _i < _a.length; _i++) {\n        var options = _a[_i];\n        _loop_1(options);\n    }\n}\nexports.default = default_1;\nfunction checkStyles(styles) {\n    if (styles.rowHeight) {\n        console.error('Use of deprecated style rowHeight. It is renamed to minCellHeight.');\n        if (!styles.minCellHeight) {\n            styles.minCellHeight = styles.rowHeight;\n        }\n    }\n    else if (styles.columnWidth) {\n        console.error('Use of deprecated style columnWidth. It is renamed to cellWidth.');\n        if (!styles.cellWidth) {\n            styles.cellWidth = styles.columnWidth;\n        }\n    }\n}\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// get columns can be fit into page\nvar getColumnsCanFitInPage = function (doc, table, config) {\n    if (config === void 0) { config = {}; }\n    // get page width\n    var margins = table.settings.margin;\n    var availablePageWidth = doc.pageSize().width - (margins.left + margins.right);\n    var remainingWidth = availablePageWidth;\n    var cols = [];\n    var columns = [];\n    var len = table.columns.length;\n    var i = config && config.start ? config.start : 0;\n    while (i < len) {\n        var colWidth = table.columns[i].wrappedWidth;\n        if (remainingWidth < colWidth) {\n            // check if it's first column in the sequence then add it into result\n            if (i === 0 || i === config.start) {\n                cols.push(i);\n                columns.push(table.columns[i]);\n            }\n            // can't print more columns in same page\n            break;\n        }\n        cols.push(i);\n        columns.push(table.columns[i]);\n        remainingWidth = remainingWidth - colWidth;\n        i++;\n    }\n    return { colIndexes: cols, columns: columns };\n};\nvar calculateAllColumnsCanFitInPage = function (doc, table) {\n    // const margins = table.settings.margin;\n    // const availablePageWidth = doc.pageSize().width - (margins.left + margins.right);\n    var allResults = [];\n    var index = 0;\n    var len = table.columns.length;\n    while (index < len) {\n        var result = getColumnsCanFitInPage(doc, table, {\n            start: index === 0 ? 0 : index,\n        });\n        if (result && result.columns && result.columns.length) {\n            index += result.columns.length;\n            allResults.push(result);\n        }\n        else {\n            index++;\n        }\n    }\n    return allResults;\n};\nexports.default = {\n    getColumnsCanFitInPage: getColumnsCanFitInPage,\n    calculateAllColumnsCanFitInPage: calculateAllColumnsCanFitInPage,\n};\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ellipsize = exports.resizeColumns = exports.calculateWidths = void 0;\nvar common_1 = __webpack_require__(0);\n/**\n * Calculate the column widths\n */\nfunction calculateWidths(doc, table) {\n    calculate(doc, table);\n    var resizableColumns = [];\n    var initialTableWidth = 0;\n    table.columns.forEach(function (column) {\n        var customWidth = column.getMaxCustomCellWidth(table);\n        if (customWidth) {\n            // final column width\n            column.width = customWidth;\n        }\n        else {\n            // initial column width (will be resized)\n            column.width = column.wrappedWidth;\n            resizableColumns.push(column);\n        }\n        initialTableWidth += column.width;\n    });\n    // width difference that needs to be distributed\n    var resizeWidth = table.getWidth(doc.pageSize().width) - initialTableWidth;\n    // first resize attempt: with respect to minReadableWidth and minWidth\n    if (resizeWidth) {\n        resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) {\n            return Math.max(column.minReadableWidth, column.minWidth);\n        });\n    }\n    // second resize attempt: ignore minReadableWidth but respect minWidth\n    if (resizeWidth) {\n        resizeWidth = resizeColumns(resizableColumns, resizeWidth, function (column) { return column.minWidth; });\n    }\n    resizeWidth = Math.abs(resizeWidth);\n    if (!table.settings.horizontalPageBreak && resizeWidth > 0.1 / doc.scaleFactor()) {\n        // Table can't get smaller due to custom-width or minWidth restrictions\n        // We can't really do much here. Up to user to for example\n        // reduce font size, increase page size or remove custom cell widths\n        // to allow more columns to be reduced in size\n        resizeWidth = resizeWidth < 1 ? resizeWidth : Math.round(resizeWidth);\n        console.error(\"Of the table content, \" + resizeWidth + \" units width could not fit page\");\n    }\n    applyColSpans(table);\n    fitContent(table, doc);\n    applyRowSpans(table);\n}\nexports.calculateWidths = calculateWidths;\nfunction calculate(doc, table) {\n    var sf = doc.scaleFactor();\n    table.allRows().forEach(function (row) {\n        for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n            var column = _a[_i];\n            var cell = row.cells[column.index];\n            if (!cell)\n                continue;\n            var hooks = table.hooks.didParseCell;\n            table.callCellHooks(doc, hooks, cell, row, column, null);\n            var padding = cell.padding('horizontal');\n            cell.contentWidth = common_1.getStringWidth(cell.text, cell.styles, doc) + padding;\n            var longestWordWidth = common_1.getStringWidth(cell.text.join(' ').split(/\\s+/), cell.styles, doc);\n            cell.minReadableWidth = longestWordWidth + cell.padding('horizontal');\n            if (typeof cell.styles.cellWidth === 'number') {\n                cell.minWidth = cell.styles.cellWidth;\n                cell.wrappedWidth = cell.styles.cellWidth;\n            }\n            else if (cell.styles.cellWidth === 'wrap') {\n                cell.minWidth = cell.contentWidth;\n                cell.wrappedWidth = cell.contentWidth;\n            }\n            else {\n                // auto\n                var defaultMinWidth = 10 / sf;\n                cell.minWidth = cell.styles.minCellWidth || defaultMinWidth;\n                cell.wrappedWidth = cell.contentWidth;\n                if (cell.minWidth > cell.wrappedWidth) {\n                    cell.wrappedWidth = cell.minWidth;\n                }\n            }\n        }\n    });\n    table.allRows().forEach(function (row) {\n        for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n            var column = _a[_i];\n            var cell = row.cells[column.index];\n            // For now we ignore the minWidth and wrappedWidth of colspan cells when calculating colspan widths.\n            // Could probably be improved upon however.\n            if (cell && cell.colSpan === 1) {\n                column.wrappedWidth = Math.max(column.wrappedWidth, cell.wrappedWidth);\n                column.minWidth = Math.max(column.minWidth, cell.minWidth);\n                column.minReadableWidth = Math.max(column.minReadableWidth, cell.minReadableWidth);\n            }\n            else {\n                // Respect cellWidth set in columnStyles even if there is no cells for this column\n                // or if the column only have colspan cells. Since the width of colspan cells\n                // does not affect the width of columns, setting columnStyles cellWidth enables the\n                // user to at least do it manually.\n                // Note that this is not perfect for now since for example row and table styles are\n                // not accounted for\n                var columnStyles = table.styles.columnStyles[column.dataKey] ||\n                    table.styles.columnStyles[column.index] ||\n                    {};\n                var cellWidth = columnStyles.cellWidth || columnStyles.minCellWidth;\n                if (cellWidth && typeof cellWidth === 'number') {\n                    column.minWidth = cellWidth;\n                    column.wrappedWidth = cellWidth;\n                }\n            }\n            if (cell) {\n                // Make sure all columns get at least min width even though width calculations are not based on them\n                if (cell.colSpan > 1 && !column.minWidth) {\n                    column.minWidth = cell.minWidth;\n                }\n                if (cell.colSpan > 1 && !column.wrappedWidth) {\n                    column.wrappedWidth = cell.minWidth;\n                }\n            }\n        }\n    });\n}\n/**\n * Distribute resizeWidth on passed resizable columns\n */\nfunction resizeColumns(columns, resizeWidth, getMinWidth) {\n    var initialResizeWidth = resizeWidth;\n    var sumWrappedWidth = columns.reduce(function (acc, column) { return acc + column.wrappedWidth; }, 0);\n    for (var i = 0; i < columns.length; i++) {\n        var column = columns[i];\n        var ratio = column.wrappedWidth / sumWrappedWidth;\n        var suggestedChange = initialResizeWidth * ratio;\n        var suggestedWidth = column.width + suggestedChange;\n        var minWidth = getMinWidth(column);\n        var newWidth = suggestedWidth < minWidth ? minWidth : suggestedWidth;\n        resizeWidth -= newWidth - column.width;\n        column.width = newWidth;\n    }\n    resizeWidth = Math.round(resizeWidth * 1e10) / 1e10;\n    // Run the resizer again if there's remaining width needs\n    // to be distributed and there're columns that can be resized\n    if (resizeWidth) {\n        var resizableColumns = columns.filter(function (column) {\n            return resizeWidth < 0\n                ? column.width > getMinWidth(column) // check if column can shrink\n                : true; // check if column can grow\n        });\n        if (resizableColumns.length) {\n            resizeWidth = resizeColumns(resizableColumns, resizeWidth, getMinWidth);\n        }\n    }\n    return resizeWidth;\n}\nexports.resizeColumns = resizeColumns;\nfunction applyRowSpans(table) {\n    var rowSpanCells = {};\n    var colRowSpansLeft = 1;\n    var all = table.allRows();\n    for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n        var row = all[rowIndex];\n        for (var _i = 0, _a = table.columns; _i < _a.length; _i++) {\n            var column = _a[_i];\n            var data = rowSpanCells[column.index];\n            if (colRowSpansLeft > 1) {\n                colRowSpansLeft--;\n                delete row.cells[column.index];\n            }\n            else if (data) {\n                data.cell.height += row.height;\n                colRowSpansLeft = data.cell.colSpan;\n                delete row.cells[column.index];\n                data.left--;\n                if (data.left <= 1) {\n                    delete rowSpanCells[column.index];\n                }\n            }\n            else {\n                var cell = row.cells[column.index];\n                if (!cell) {\n                    continue;\n                }\n                cell.height = row.height;\n                if (cell.rowSpan > 1) {\n                    var remaining = all.length - rowIndex;\n                    var left = cell.rowSpan > remaining ? remaining : cell.rowSpan;\n                    rowSpanCells[column.index] = { cell: cell, left: left, row: row };\n                }\n            }\n        }\n    }\n}\nfunction applyColSpans(table) {\n    var all = table.allRows();\n    for (var rowIndex = 0; rowIndex < all.length; rowIndex++) {\n        var row = all[rowIndex];\n        var colSpanCell = null;\n        var combinedColSpanWidth = 0;\n        var colSpansLeft = 0;\n        for (var columnIndex = 0; columnIndex < table.columns.length; columnIndex++) {\n            var column = table.columns[columnIndex];\n            // Width and colspan\n            colSpansLeft -= 1;\n            if (colSpansLeft > 1 && table.columns[columnIndex + 1]) {\n                combinedColSpanWidth += column.width;\n                delete row.cells[column.index];\n            }\n            else if (colSpanCell) {\n                var cell = colSpanCell;\n                delete row.cells[column.index];\n                colSpanCell = null;\n                cell.width = column.width + combinedColSpanWidth;\n            }\n            else {\n                var cell = row.cells[column.index];\n                if (!cell)\n                    continue;\n                colSpansLeft = cell.colSpan;\n                combinedColSpanWidth = 0;\n                if (cell.colSpan > 1) {\n                    colSpanCell = cell;\n                    combinedColSpanWidth += column.width;\n                    continue;\n                }\n                cell.width = column.width + combinedColSpanWidth;\n            }\n        }\n    }\n}\nfunction fitContent(table, doc) {\n    var rowSpanHeight = { count: 0, height: 0 };\n    for (var _i = 0, _a = table.allRows(); _i < _a.length; _i++) {\n        var row = _a[_i];\n        for (var _b = 0, _c = table.columns; _b < _c.length; _b++) {\n            var column = _c[_b];\n            var cell = row.cells[column.index];\n            if (!cell)\n                continue;\n            doc.applyStyles(cell.styles, true);\n            var textSpace = cell.width - cell.padding('horizontal');\n            if (cell.styles.overflow === 'linebreak') {\n                // Add one pt to textSpace to fix rounding error\n                cell.text = doc.splitTextToSize(cell.text, textSpace + 1 / doc.scaleFactor(), { fontSize: cell.styles.fontSize });\n            }\n            else if (cell.styles.overflow === 'ellipsize') {\n                cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '...');\n            }\n            else if (cell.styles.overflow === 'hidden') {\n                cell.text = ellipsize(cell.text, textSpace, cell.styles, doc, '');\n            }\n            else if (typeof cell.styles.overflow === 'function') {\n                cell.text = cell.styles.overflow(cell.text, textSpace);\n            }\n            cell.contentHeight = cell.getContentHeight(doc.scaleFactor());\n            var realContentHeight = cell.contentHeight / cell.rowSpan;\n            if (cell.rowSpan > 1 &&\n                rowSpanHeight.count * rowSpanHeight.height <\n                    realContentHeight * cell.rowSpan) {\n                rowSpanHeight = { height: realContentHeight, count: cell.rowSpan };\n            }\n            else if (rowSpanHeight && rowSpanHeight.count > 0) {\n                if (rowSpanHeight.height > realContentHeight) {\n                    realContentHeight = rowSpanHeight.height;\n                }\n            }\n            if (realContentHeight > row.height) {\n                row.height = realContentHeight;\n            }\n        }\n        rowSpanHeight.count--;\n    }\n}\nfunction ellipsize(text, width, styles, doc, overflow) {\n    return text.map(function (str) { return ellipsizeStr(str, width, styles, doc, overflow); });\n}\nexports.ellipsize = ellipsize;\nfunction ellipsizeStr(text, width, styles, doc, overflow) {\n    var precision = 10000 * doc.scaleFactor();\n    width = Math.ceil(width * precision) / precision;\n    if (width >= common_1.getStringWidth(text, styles, doc)) {\n        return text;\n    }\n    while (width < common_1.getStringWidth(text + overflow, styles, doc)) {\n        if (text.length <= 1) {\n            break;\n        }\n        text = text.substring(0, text.length - 1);\n    }\n    return text.trim() + overflow;\n}\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports) {\n\nif(typeof __WEBPACK_EXTERNAL_MODULE__17__ === 'undefined') {var e = new Error(\"Cannot find module 'undefined'\"); e.code = 'MODULE_NOT_FOUND'; throw e;}\nmodule.exports = __WEBPACK_EXTERNAL_MODULE__17__;\n\n/***/ })\n/******/ ]);\n});","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { CommonDropdown, GetAuctionStep1 } from '../../../models';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport constants from '../../../utility/constants';\r\nimport { ImportResultService, PagingModel } from '../service/import-result.service';\r\nimport {  Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-auction-result',\r\n  templateUrl: './auction-result.component.html',\r\n  styleUrls: ['./auction-result.component.css']\r\n})\r\nexport class AuctionResultComponent implements OnInit {\r\n  displayedColumns: string[] = ['lotDes', 'location', 'quantity', 'startPrice', 'endTime', 'priceSold', 'winningBidder'];\r\n\r\n  lotResults: Array<ImportedAuctionUser> = [];\r\n  totalCount: number = 0;\r\n\r\n  auctionId: number;\r\n  auctionData: GetAuctionStep1;\r\n  auctionsDD: Array<CommonDropdown> = [];\r\n\r\n  searchTerm: string = '';\r\n  pageNumber: number = 1;\r\n  pageSize: number = constants.admin.adminPageSize;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  constructor(private importResult: ImportResultService, private router: Router, private route: ActivatedRoute, private loader: LoaderService, private auctionService: AuctionService) { }\r\n\r\n  ngOnInit(): void {\r\n    this.route.params.subscribe((res) => {\r\n      let param = res['id'];\r\n      if (param) {\r\n        if (typeof +param == 'number') {\r\n          this.auctionId = +param;\r\n          this.getAuctionData();\r\n        }\r\n      } else {\r\n        this.goBack();\r\n      }\r\n    });\r\n    this.auctionsForDD();\r\n  }\r\n\r\n  auctionsForDD() {\r\n   const aucDD =  this.importResult.getAuctionsForDD().subscribe((res) => {\r\n      this.auctionsDD = res;\r\n    });\r\n    this.subscriptions.push(aucDD);\r\n  }\r\n\r\n  private getAuctionData() {\r\n    const aucStep = this.auctionService.getAuctionStep1(this.auctionId).subscribe((res) => {\r\n      this.auctionData = res;\r\n    });\r\n    this.subscriptions.push(aucStep);\r\n    this.getLotResults();\r\n  }\r\n\r\n  onAuctionChange(value: number) {\r\n    this.auctionId = value;\r\n    this.getAuctionData();\r\n  }\r\n\r\n  changeSearchValue(val: Observable<string>) {\r\n   const vals =  val.subscribe((value) => {\r\n      this.searchTerm = value;\r\n      this.pageNumber = 1;\r\n      this.getLotResults();\r\n    });\r\n    this.subscriptions.push(vals);\r\n  }\r\n\r\n  private pagingParams(): PagingModel {\r\n    return {\r\n      pageNum: this.pageNumber,\r\n      pageSize: this.pageSize,\r\n      auctionId: this.auctionId,\r\n      searchTerm: this.searchTerm\r\n    }\r\n  }\r\n\r\n  private getLotResults() {\r\n    this.loader.showLoader(true);\r\n    const pageParams = this.importResult.getLotResults(this.pagingParams()).subscribe((res) => {\r\n      this.loader.showLoader(false);\r\n      this.lotResults = res.data;\r\n      this.totalCount = res.totalCount;\r\n    }, _ => {\r\n      this.loader.showLoader(false);\r\n      this.totalCount = 0;\r\n    })\r\n    this.subscriptions.push(pageParams);\r\n  }\r\n\r\n  onPageChange(page: number) {\r\n    this.pageNumber = page\r\n    this.getLotResults();\r\n  }\r\n\r\n  goBack() {\r\n    this.router.navigate(['../'], { relativeTo: this.route });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n  \r\n}\r\n\r\nexport interface ImportedAuctionUser {\r\n  amount: number;\r\n  auctionId: number;\r\n  auctionUser: {\r\n    contactedOn: string;\r\n    id: number;\r\n    isActive: boolean;\r\n    isAgree: boolean;\r\n    isApproved: boolean;\r\n    isContacted: boolean;\r\n    isNewToPlatform: boolean;\r\n    isReservedBidder: boolean;\r\n    paddleNumber: string;\r\n  }\r\n  auctionUserId: number;\r\n  category: string;\r\n  consignor: string;\r\n  description: string;\r\n  id: number;\r\n  images: [{ id: number; name: string; }];\r\n  location: string;\r\n  lotEndTime: string;\r\n  lotEndTimeUtc: string;\r\n  lotId: number;\r\n  lotNumber: string;\r\n  openingPrice: number;\r\n  quantity: number;\r\n  reservePrice: number;\r\n  thumbnailImages: [{ id: number; name: string; }];\r\n  user: {\r\n    address: { street: string; countryId: number; }\r\n    alternateEmailId: string;\r\n    biography: string;\r\n    companyName: string;\r\n    contactNumber: string;\r\n    createdOn: string;\r\n    email: string;\r\n    fax: string;\r\n    firstName: string;\r\n    id: number;\r\n    isActive: boolean;\r\n    isMfawithEmail: boolean;\r\n    isMfawithSms: boolean;\r\n    lastName: string;\r\n    mfaauthId: number;\r\n    middleName: string;\r\n    mobileNumber: string;\r\n    paddleNumber: string;\r\n    role: number;\r\n  }\r\n}\r\n","<div class=\"white-wrap-admin mb-4\">\r\n  <div class=\"back-link-outer\">\r\n    <div class=\"back-link-outer mb-3 d-flex\">\r\n      <a role=\"button\" (click)=\"goBack()\" class=\"back-link\">\r\n        <img alt=\"back\" src=\"../assets/images/back.svg\" /> back\r\n      </a>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"row mb-3\">\r\n    <div class=\"col-12 col-md-12\">\r\n      <p class=\"body-txt-22 mb-4\">View Auction Results</p>\r\n    </div>\r\n\r\n    <div class=\"col-12 col-md-12\">\r\n      <div class=\"form-group m-0\">\r\n        <div class=\"mat-field-width\">\r\n          <div class=\"custom-select-option custom-select-wrap\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Select Auction To View Its Results</mat-label>\r\n              <mat-select\r\n                [(value)]=\"auctionId\"\r\n                (selectionChange)=\"onAuctionChange($event.value)\"\r\n              >\r\n                <mat-option\r\n                  *ngFor=\"let auction of auctionsDD\"\r\n                  [value]=\"auction.value\"\r\n                  >{{ auction.text }}</mat-option\r\n                >\r\n              </mat-select>\r\n            </mat-form-field>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <div class=\"grey-well m-0\">\r\n        <div class=\"for-badge mb-2\">\r\n          <span class=\"card-badge badge-dark\">{{\r\n            auctionData?.saleType?.publicName\r\n          }}</span>\r\n        </div>\r\n        <h1 class=\"well-name mb-2\">{{ auctionData?.title }}</h1>\r\n        <h3 class=\"well-des\" [innerHTML]=\"auctionData?.tagline\"></h3>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"page-title-wrap mb-3 mb-md-4\">\r\n  <h1 class=\"hdg m-0\">Auction Results</h1>\r\n</div>\r\n\r\n<section class=\"table-search-wrap mb-1 pb-2\">\r\n  <div class=\"d-none d-md-block\">\r\n    <div class=\"row for-desktop-filters\">\r\n      <div class=\"col-12 col-lg-6\">\r\n        <div class=\"row\">\r\n          <div class=\"col-8 pr-0\">\r\n            <div class=\"form-group\">\r\n              <search-control\r\n                [placeholder]=\"'Search'\"\r\n                (value)=\"changeSearchValue($event)\"\r\n              >\r\n              </search-control>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n\r\n<ng-container *ngIf=\"totalCount === 0; else showTable\">\r\n  <div class=\"empty-state-container empty-pad-2\">\r\n    <div class=\"empty-state-content\">\r\n      <img\r\n        alt=\"empty-state\"\r\n        src=\"../../../../assets/images/empty-state-icon.svg\"\r\n      />\r\n      <h3 class=\"_heading\">No Lot Found</h3>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<ng-template #showTable>\r\n  <div class=\"data-table-wrap\">\r\n    <app-paginator\r\n      [paginationId]=\"'server'\"\r\n      [currentPage]=\"pageNumber\"\r\n      [pageSize]=\"pageSize\"\r\n      (page)=\"onPageChange($event)\"\r\n      *ngIf=\"totalCount > pageSize\"\r\n    >\r\n    </app-paginator>\r\n\r\n    <table\r\n      aria-label=\"table\"\r\n      mat-table\r\n      [dataSource]=\"\r\n        lotResults\r\n          | paginate\r\n            : {\r\n                id: 'server',\r\n                itemsPerPage: pageSize,\r\n                currentPage: pageNumber,\r\n                totalItems: totalCount\r\n              }\r\n      \"\r\n      class=\"mat-elevation-z8 custom-data-table resultTable\"\r\n    >\r\n      <ng-container matColumnDef=\"lotDes\">\r\n        <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n        <td\r\n          mat-cell\r\n          class=\"column-1 listing-data-entry table-with-row-header\"\r\n          *matCellDef=\"let element\"\r\n        >\r\n          <div class=\"withImage\">\r\n            <div class=\"forImageRow\">\r\n              <img\r\n                class=\"location mr-2\"\r\n                alt=\"location\"\r\n                LotThumbnail\r\n                [lotNumber]=\"element.lotNumber\"\r\n                [lotImages]=\"element.thumbnailImages\"\r\n              />\r\n              <span class=\"lotNumberSquare\">\r\n                Lot\r\n                <span>#{{ element.lotNumber }}</span>\r\n              </span>\r\n            </div>\r\n            <div class=\"forDescr\">\r\n              <span class=\"td-header\">Lot Description</span>\r\n              {{ element.description }}\r\n            </div>\r\n          </div>\r\n        </td>\r\n      </ng-container>\r\n\r\n      <ng-container matColumnDef=\"location\">\r\n        <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n        <td\r\n          mat-cell\r\n          class=\"column-2 listing-data-entry table-with-row-header\"\r\n          *matCellDef=\"let element\"\r\n        >\r\n          <span class=\"td-header withIcon\">\r\n            <img\r\n              class=\"location mr-2\"\r\n              alt=\"location\"\r\n              src=\"../assets/images/location-green.svg\"\r\n            />\r\n            Location\r\n          </span>\r\n          {{ element.location }}\r\n        </td>\r\n      </ng-container>\r\n\r\n      <ng-container matColumnDef=\"quantity\">\r\n        <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n        <td\r\n          mat-cell\r\n          class=\"column-3 listing-data-entry table-with-row-header\"\r\n          *matCellDef=\"let element\"\r\n        >\r\n          <span class=\"td-header\">Quantity</span>{{ element.quantity }}\r\n        </td>\r\n      </ng-container>\r\n\r\n      <ng-container matColumnDef=\"startPrice\">\r\n        <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n        <td\r\n          mat-cell\r\n          class=\"column-4 listing-data-entry table-with-row-header\"\r\n          *matCellDef=\"let element\"\r\n        >\r\n          <span class=\"td-header\">Starting Price</span\r\n          >{{ element.openingPrice | currency: \"USD\" }}\r\n        </td>\r\n      </ng-container>\r\n\r\n      <ng-container matColumnDef=\"endTime\">\r\n        <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n        <td\r\n          mat-cell\r\n          class=\"column-5 listing-data-entry table-with-row-header\"\r\n          *matCellDef=\"let element\"\r\n        >\r\n          <span class=\"td-header withIcon\">\r\n            <img\r\n              class=\"location mr-2\"\r\n              alt=\"location\"\r\n              src=\"../assets/images/calender.svg\"\r\n            />\r\n            Lot End Time</span\r\n          >{{ element.lotEndTimeUtc | toLocalDateTime }}\r\n        </td>\r\n      </ng-container>\r\n\r\n      <ng-container matColumnDef=\"priceSold\">\r\n        <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n        <td\r\n          mat-cell\r\n          class=\"column-6 listing-data-entry table-with-row-header\"\r\n          *matCellDef=\"let element\"\r\n        >\r\n          <span class=\"td-header\">Price Sold</span\r\n          >{{ element.amount | currency: \"USD\" }}\r\n        </td>\r\n      </ng-container>\r\n\r\n      <ng-container matColumnDef=\"winningBidder\">\r\n        <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n        <td\r\n          mat-cell\r\n          class=\"column-7 listing-data-entry table-with-row-header\"\r\n          *matCellDef=\"let element\"\r\n        >\r\n          <ng-container *ngIf=\"element.user\">\r\n            <span class=\"td-header\">Winning Bidder</span>\r\n            {{\r\n              element.auctionUser?.paddleNumber\r\n                ? \"#\" + element.auctionUser?.paddleNumber\r\n                : \"NA\"\r\n            }}\r\n            {{\r\n              \", \" + element.user?.firstName + \" \" + element.user?.lastName ||\r\n                \"NA\" + element.user?.lastName ||\r\n                \"\"\r\n            }}\r\n            {{ \", \" + (element.user?.companyName | isEmpty: \"NA\") }}\r\n          </ng-container>\r\n        </td>\r\n      </ng-container>\r\n\r\n      <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n    </table>\r\n\r\n    <app-paginator\r\n      [paginationId]=\"'server'\"\r\n      [currentPage]=\"pageNumber\"\r\n      [pageSize]=\"pageSize\"\r\n      (page)=\"onPageChange($event)\"\r\n      *ngIf=\"totalCount > pageSize\"\r\n    >\r\n    </app-paginator>\r\n  </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormArray, FormControl } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CommonDropdown } from '../../../../models';\r\nimport { AuctionSurveyService } from '../../../../services/auction-survey.service';\r\nimport { LoaderService } from '../../../../services';\r\nimport constants from '../../../../utility/constants';\r\nimport {  Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-auction-registeration-success',\r\n  templateUrl: './auction-registeration-success.component.html',\r\n  styleUrls: ['./auction-registeration-success.component.css'],\r\n})\r\nexport class AuctionRegisterationSuccessComponent implements OnInit {\r\n  @Input('auctionId') auctionId: number;\r\n  @Input('auctionName') auctionTitle: string;\r\n  @Output('goToBack') backToPage = new EventEmitter<boolean>();\r\n  listing: Array<CommonDropdown>;\r\n  surveyOptions: Array<any> = [];\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  constructor(\r\n    private surveyService: AuctionSurveyService,\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private loader: LoaderService,\r\n    private toastr: ToastrService\r\n  ) { }\r\n\r\n  ngOnInit(): void {\r\n    this.getListing();\r\n  }\r\n\r\n  getListing() {\r\n    const surveyOptions = this.surveyService.getSurveyOptionsListing().subscribe((res) => {\r\n      this.listing = res;\r\n    });\r\n    this.subscriptions.push(surveyOptions)\r\n  }\r\n\r\n  onChange(optionId: number, isChecked: boolean) {\r\n    (isChecked) ? this.surveyOptions.push(optionId) : this.surveyOptions.splice(this.surveyOptions.findIndex((x) => x.value == optionId), 1);\r\n  }\r\n\r\n  onSubmit() {\r\n    this.loader.showLoader(true);\r\n    let options = this.surveyOptions.join(', ');\r\n    const savesurvey = this.surveyService\r\n      .saveAuctionSurvey(this.auctionId, options)\r\n      .subscribe(\r\n        (res) => {\r\n          this.loader.showLoader(false);\r\n          this.toastr.success('Survey submitted successfully', constants.common.toast.successTitle, constants.common.toast.config);\r\n          this.goToBack();\r\n        },\r\n        (err) => {\r\n          this.loader.showLoader(false);\r\n          this.toastr.error(err, constants.common.toast.errorTitle, constants.common.toast.config);\r\n        }\r\n      );\r\n      this.subscriptions.push(savesurvey)\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n\r\n  goToBack() {\r\n    this.backToPage.emit(true);\r\n  }\r\n}\r\n","<div class=\"public-wrap\">\r\n  <div class=\"container\">\r\n    <div class=\"public-wrap-inner\">\r\n      <h3 class=\"register\">\r\n        <img src=\"/assets/images/auction-success-icon.svg\" />\r\n        <span>Registration Successful!</span>\r\n      </h3>\r\n      <p class=\"register-des\">\r\n        Thank you for registering for the auction. - {{ auctionTitle }}\r\n      </p>\r\n      <p class=\"register-des2\">\r\n        Our staff will be reviewing your registration request <br /><br />\r\n        This process can take upto 24 hours from the time you registered. We may\r\n        contact you to verify your information and ask for a deposit before\r\n        approving your registration<br /><br />\r\n        If you have any questions, you can contact us at\r\n        service@thebranfordgroup.com or call us at 203-488-7020.\r\n      </p>\r\n      <h3 class=\"note1\">\r\n        Please take a moment to fill out this survey form for us\r\n      </h3>\r\n      <h3 class=\"note2\">May we ask how you heard about the auction ?</h3>\r\n\r\n      <div class=\"check-round-outer\">\r\n        <div\r\n          class=\"custom-checks-square check-round\"\r\n          *ngFor=\"let item of listing\"\r\n        >\r\n          <input\r\n            type=\"checkbox\"\r\n            (change)=\"onChange(item.value, $event.target.checked)\"\r\n            id=\"{{ 'option' + item.value }}\"\r\n          />\r\n          <label for=\"{{ 'option' + item.value }}\" class=\"m-0\">\r\n            {{ item.text }}\r\n          </label>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"btns-wrap\">\r\n        <button\r\n          type=\"button\"\r\n          class=\"btn btn-colored mr-2\"\r\n          [disabled]=\"surveyOptions.length === 0\"\r\n          role=\"button\"\r\n          (click)=\"onSubmit()\"\r\n        >\r\n          Submit Survey\r\n        </button>\r\n        <button\r\n          type=\"button\"\r\n          class=\"btn btn-white-border\"\r\n          role=\"button\"\r\n          (click)=\"goToBack()\"\r\n        >\r\n          No, Thanks\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  Input,\r\n  EventEmitter,\r\n  Output,\r\n  OnChanges,\r\n  SimpleChanges,\r\n  ViewChild,\r\n  TemplateRef,\r\n} from '@angular/core';\r\nimport routeTable from '../../../../utility/routeTable';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport {\r\n  LotService,\r\n  WatchListService,\r\n  WebStorageService,\r\n} from '../../../../services';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { BulkBidSubmissionResult, LotPublic } from '../../../../models';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport {\r\n  trigger,\r\n  state,\r\n  style,\r\n  transition,\r\n  animate,\r\n} from '@angular/animations';\r\nimport { BidService, BulkBid } from '../../../../services/bid.service';\r\nimport constants from '../../../../utility/constants';\r\nimport { AuctionTimeService } from '../../../../services/auction-time.service';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport {  Subscription } from 'rxjs';\r\n\r\nexport interface BidInfo {\r\n  auctionAndLotNumber: string;\r\n  bidCount: number;\r\n  bidType: number;\r\n  bulkLotReservePrice: number;\r\n  lotStatus: number;\r\n\r\n  currentBid: number;\r\n  highestBid: number;\r\n  highestBidders: Array<number> | null;\r\n  isBiddingPaused: boolean;\r\n  loosers: Array<number> | null;\r\n  lotEndTimeUtc: string;\r\n  lotId: number;\r\n  nextRequiredBid: number;\r\n  soldAt: number;\r\n  soldTo: number;\r\n  soldToName: string;\r\n  higherBidders: any;\r\n  extendedByMinutes: number;\r\n  timeLeft: string;\r\n  willSell?: boolean;\r\n  price: number;\r\n  recentBid: number;\r\n  soldForBid: number;\r\n}\r\n\r\n@Component({\r\n  selector: 'auction-lot-card',\r\n  templateUrl: './auction-lot-card.component.html',\r\n  styleUrls: ['./auction-lot-card.component.css'],\r\n  animations: [\r\n    trigger('submit', [\r\n      state(\r\n        'noBlink',\r\n        style({\r\n          border: '1px #ffffff solid',\r\n          background: '#ffffff',\r\n        })\r\n      ),\r\n      state(\r\n        'redBlink',\r\n        style({\r\n          border: '1px #ff1a1a solid',\r\n          background: '#ff9999',\r\n        })\r\n      ),\r\n      transition('noBlink=>redBlink', animate('250ms')),\r\n      transition('redBlink=>noBlink', animate('1500ms')),\r\n    ]),\r\n  ],\r\n})\r\nexport class AuctionLotCardComponent implements OnInit, OnChanges {\r\n  @Input() isUserRegistered: boolean;\r\n  @Input('lotData') eachLotData: LotPublic;\r\n  @Input() latestLotData: LotPublic;\r\n  @Input() isItWatchList: boolean = false;\r\n  @Input() isItActiveBidList: boolean = false;\r\n  @Input() serverTime: string = null;\r\n  @Input('isListView') showListView: boolean = true;\r\n  @Input('pageChanged') pageChange: boolean = true;\r\n  @Input() bulkBid: boolean;\r\n  @Input() bulkBidResult: BulkBidSubmissionResult[];\r\n  @Input() featuredSyncedInfo;\r\n  @Output('selectedLotData') selectedLot = new EventEmitter<\r\n    LotPublic | number\r\n  >();\r\n  @Output() submitBulkBid = new EventEmitter<boolean>();\r\n  modalRef: BsModalRef;\r\n  submitState: string;\r\n\r\n  isAddedToWatchlist: boolean = false;\r\n  isLotClosed: boolean = false;\r\n\r\n  soldStatuses = constants.common.soldStatus;\r\n\r\n  loggedInUser = 0;\r\n  showTimer: boolean = true;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  minBid: number = constants.common.bid.bidMinAmount;\r\n  maxBid: number = constants.common.bid.bidMaxAmount;\r\n\r\n  loader: boolean = false;\r\n  auctionStatuses = constants.common.auctionStatus;\r\n  errorMsg: string = null;\r\n  isUserHighestBidder: boolean = false;\r\n  biddingAmount: FormControl;\r\n\r\n  readOnlyCatalog: boolean;\r\n\r\n  isLowConnectionMode: boolean = false;\r\n\r\n  lotType = constants.common.lotTypes;\r\n  responseData: any;\r\n  @ViewChild('quickBidModal', { static: false })\r\n  quickBidModal: TemplateRef<any>;\r\n  userFullName: string;\r\n\r\n  changeInAmount: boolean = false;\r\n\r\n  constructor(\r\n    private storage: WebStorageService,\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private toastr: ToastrService,\r\n    private watchListService: WatchListService,\r\n    private lotService: LotService,\r\n    private bidService: BidService,\r\n    private auctionTimer: AuctionTimeService,\r\n    private modalService: BsModalService\r\n  ) {}\r\n\r\n  ngOnChanges(changes: SimpleChanges): void {\r\n    if (changes) {\r\n      if (changes?.serverTime) {\r\n        this.eachLotData.lotStartTimeUtc = changes.serverTime.currentValue;\r\n      }\r\n      if (changes?.bulkBidResult) {\r\n        this.checkLotBulkBidResult(changes?.bulkBidResult.currentValue);\r\n      }\r\n      if (changes?.latestLotData) {\r\n        this.mapBidInfo(changes?.latestLotData.currentValue);\r\n        this.submitState = 'redBlink';\r\n      }\r\n      if (changes?.featuredSyncedInfo) {\r\n        let val = changes?.featuredSyncedInfo.currentValue;\r\n        if (this.eachLotData.isFeatured) {\r\n          if (val) {\r\n            if (val > 0) {\r\n              this.biddingAmount.reset();\r\n            }\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  ngOnInit() {\r\n    let checkLotClosed = this.auctionTimer.isLotClosingBegun(\r\n      this.eachLotData?.lotEndTimeUtc\r\n    );\r\n\r\n    this.submitState = 'noBlink';\r\n    this.biddingAmount = new FormControl(null, [\r\n      Validators.minLength(1),\r\n      AppValidators.noWhitespace,\r\n      AppValidators.onlyNumeric,\r\n      Validators.min(this.minBid),\r\n      Validators.max(this.maxBid),\r\n    ]);\r\n\r\n    this.isAddedToWatchlist = this.eachLotData.watchListId > 0 ? true : false;\r\n\r\n    var loggedInData = this.storage.getBuyer()?.loggedIn;\r\n    if (loggedInData == true) {\r\n      this.loggedInUser = this.storage.getBuyer()?.currentUser?.user?.id;\r\n      this.userFullName =\r\n        this.storage.getBuyer()?.currentUser?.user?.firstName +\r\n        ' ' +\r\n        this.storage.getBuyer()?.currentUser?.user?.lastName;\r\n      this.checkLotConnectionMode();\r\n    }\r\n\r\n    this.readOnlyCatalog = this.eachLotData.auction.saleType.isCatalogReadOnly;\r\n\r\n    this.checkHigherBidder(this.eachLotData.highestBidder);\r\n\r\n    if (\r\n      this.loggedInUser > 0 &&\r\n      this.eachLotData.loggedInUser?.isApproved &&\r\n      (this.eachLotData.auction.auctionStatus == this.auctionStatuses.past ||\r\n        checkLotClosed) &&\r\n      !this.readOnlyCatalog\r\n    ) {\r\n      this.showTimer = false;\r\n      this.isLotClosed = true;\r\n    }\r\n\r\n    this.biddingAmount.valueChanges.subscribe((value: number) => {\r\n      this.dataModelForBulkBid(value);\r\n    });\r\n\r\n    this.eachLotData.outbid = this.findOutbid(this.eachLotData);\r\n  }\r\n\r\n  private checkLotConnectionMode() {\r\n    let storedValue = this.storage.getBuyer();\r\n    if (storedValue)\r\n      this.isLowConnectionMode = storedValue?.lotLowConnectionMode;\r\n  }\r\n\r\n  refreshWholePage() {\r\n    location.reload();\r\n  }\r\n\r\n  private checkAuctionDeactivated() {\r\n    if (!this.readOnlyCatalog) {\r\n      this.toastr.info(\r\n        `Unfortunately ${this.eachLotData.auction.auctionCode} is no longer available for bidding and you will be notified if and when the auction becomes available for bidding again`,\r\n        constants.common.toast.infoTitle,\r\n        constants.common.toast.config\r\n      );\r\n    }\r\n    if (this.readOnlyCatalog) {\r\n      this.toastr.info(\r\n        `Unfortunately ${this.eachLotData.auction.auctionCode} is deactivated and you will be notified if and when the auction becomes available again`,\r\n        constants.common.toast.infoTitle,\r\n        constants.common.toast.config\r\n      );\r\n    }\r\n    this.router.navigateByUrl('/');\r\n  }\r\n\r\n  private dataModelForBulkBid(inputedValue: number) {\r\n    this.eachLotData.newBid = this.biddingAmount.value;\r\n    if (inputedValue) this.selectedLot.emit(this.eachLotData);\r\n    else this.selectedLot.emit(this.eachLotData.id);\r\n  }\r\n\r\n  isTimeReached(isReached: boolean) {\r\n    if (isReached) {\r\n      this.getLotResults();\r\n      this.showTimer = false;\r\n      this.isLotClosed = true;\r\n    }\r\n  }\r\n\r\n  mapBidInfo(res: BidInfo) {\r\n    if (this.eachLotData.id === res?.lotId) {\r\n      this.changeInAmount =\r\n        +this.eachLotData.nextRequiredBid !== +res.nextRequiredBid;\r\n      this.eachLotData.bidCount = res.bidCount;\r\n      this.eachLotData.currentBid = res.currentBid;\r\n      this.eachLotData.highestBid = res.highestBid;\r\n      this.eachLotData.highestBidder = res.highestBidders;\r\n      this.eachLotData.nextRequiredBid = res.nextRequiredBid;\r\n      this.eachLotData.lotEndTimeUtc = res.lotEndTimeUtc;\r\n      this.eachLotData.soldTo = res.soldTo;\r\n      this.eachLotData.soldAt = res.soldAt;\r\n      this.eachLotData.extendedByMinutes = res.extendedByMinutes;\r\n      this.eachLotData.timeLeft = res.timeLeft;\r\n      this.eachLotData.isBiddingPaused = res.isBiddingPaused;\r\n      this.eachLotData.lotStatus = res.lotStatus;\r\n      this.eachLotData.willSell = res?.willSell;\r\n      this.eachLotData.loosers = res?.loosers;\r\n      this.eachLotData.outbid = this.findOutbid(this.eachLotData, true);\r\n      this.checkHigherBidder(res.highestBidders);\r\n    }\r\n  }\r\n\r\n  endState() {\r\n    this.submitState = 'noBlink';\r\n  }\r\n\r\n  goToViewLotDetail(lotNumber: string) {\r\n    this.router.navigate([lotNumber], {\r\n      relativeTo: this.route,\r\n      queryParams: { returnTo: this.router.url },\r\n    });\r\n  }\r\n\r\n  goToViewLotDetailsFromWatchList(auctionCode, lotNumber) {\r\n    this.router.navigate(['/', auctionCode, 'lots', lotNumber], {\r\n      queryParams: { returnTo: this.router.url, lotId: this.eachLotData.id },\r\n    });\r\n  }\r\n\r\n  addToWatchList(lotId, lotNumber) {\r\n    let model = {\r\n      lotId: lotId,\r\n      auctionId: this.eachLotData.auction.id,\r\n    };\r\n    const addToWatchList = this.watchListService.addToWatchList(model).subscribe((res: any) => {\r\n      this.toastr.success(\r\n        `Lot # ${lotNumber} added to Watchlist`,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n      this.isAddedToWatchlist = true;\r\n    });\r\n    this.subscriptions.push(addToWatchList)\r\n  }\r\n\r\n  removeFromWatchList(lotId, lotNumber) {\r\n    let model = {\r\n      lotId: lotId,\r\n      auctionId: this.eachLotData.auction.id,\r\n    };\r\n    const removeFromwatchList = this.watchListService.removeFromWatchList(model).subscribe((res: any) => {\r\n      this.toastr.success(\r\n        `Lot # ${lotNumber} removed from Watchlist`,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n      this.isAddedToWatchlist = false;\r\n    });\r\n    this.subscriptions.push(removeFromwatchList)\r\n  }\r\n\r\n  private checkHigherBidder(highestBidders: Array<number> | null) {\r\n    if (highestBidders != null) {\r\n      let isHighest: number = highestBidders.find(\r\n        (i) => i == this.eachLotData.loggedInUser?.userId\r\n      );\r\n      this.isUserHighestBidder = isHighest > -1 ? true : false;\r\n    }\r\n  }\r\n\r\n  goToRegister(auctionCode) {\r\n    this.router.navigate([auctionCode, routeTable.public.auctionRegister], {\r\n      queryParams: { returnTo: this.router.url },\r\n    });\r\n  }\r\n\r\n  goToAuctionTitle(auctionCode) {\r\n    this.router.navigate([auctionCode], {\r\n      queryParams: { returnTo: this.router.url },\r\n    });\r\n  }\r\n\r\n  onSubmit(isQuickBid: boolean = false) {\r\n    this.changeInAmount = false;\r\n    if (isQuickBid) {\r\n      this.modalRef = this.modalService.show(this.quickBidModal, {\r\n        class: 'custom-popup modal-dialog-centered',\r\n        ignoreBackdropClick: true,\r\n        keyboard: false,\r\n      });\r\n      this.modalRef.onHidden.subscribe(() => {\r\n        this.changeInAmount = false;\r\n      });\r\n    } else {\r\n      this.submitBidByApi(isQuickBid);\r\n    }\r\n  }\r\n\r\n  findLooser(): number {\r\n    if (this.eachLotData.loosers)\r\n      return this.eachLotData.loosers?.findIndex(\r\n        (i) => i == +this.loggedInUser\r\n      );\r\n    return -1;\r\n  }\r\n\r\n  checkLotBulkBidResult(values: BulkBidSubmissionResult[]) {\r\n    if (values && values.length) {\r\n      let lotValue = values.find((val) => val.lotId == this.eachLotData.id);\r\n      if (lotValue && lotValue.message) {\r\n        this.errorMsg = lotValue.isSuccess ? '' : lotValue.message;\r\n        this.biddingAmount.reset();\r\n        return;\r\n      }\r\n\r\n      if (lotValue && lotValue.isRemoved) {\r\n        this.biddingAmount.reset();\r\n      }\r\n    }\r\n  }\r\n\r\n  getLotDataInApi() {\r\n    this.loader = true;\r\n    const lotDetail = this.lotService\r\n      .getLotDetail(\r\n        this.eachLotData.id,\r\n        this.eachLotData.auction.auctionCode,\r\n        this.eachLotData.lotNumber\r\n      )\r\n      .subscribe(\r\n        (res) => {\r\n          this.eachLotData = res;\r\n          this.checkHigherBidder(res.highestBidder);\r\n          this.loader = false;\r\n        },\r\n        (err) => {\r\n          Error(err);\r\n          this.loader = false;\r\n        }\r\n      );\r\n      this.subscriptions.push(lotDetail)\r\n  }\r\n\r\n  findOutbid(item, isShowMessage = false) {\r\n    let index =\r\n      item.loosers && item.loosers?.length > 0\r\n        ? item.loosers?.findIndex((x) => x == this.loggedInUser)\r\n        : -1;\r\n    let index1 =\r\n      item.highestBidder && item.highestBidder?.length > 0\r\n        ? item.highestBidder?.findIndex((x) => x == this.loggedInUser)\r\n        : -1;\r\n    if (index > -1 && index1 == -1) {\r\n      return true;\r\n    } else {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  submitBidByApi(isQuickBid: boolean = false) {\r\n    this.errorMsg = null;\r\n    let bidAmount: number;\r\n\r\n    if (!isQuickBid) {\r\n      if (this.biddingAmount.invalid) return;\r\n      bidAmount = +this.biddingAmount.value;\r\n      if (\r\n        this.bulkBid ||\r\n        (this.bulkBidResult &&\r\n          this.bulkBidResult.filter((it) => it.isRemoved == false).length > 1)\r\n      ) {\r\n        this.submitBulkBid.emit(true);\r\n        return;\r\n      } else this.submitBulkBid.emit(false);\r\n    } else {\r\n      bidAmount = +this.eachLotData.nextRequiredBid;\r\n    }\r\n\r\n    this.loader = true;\r\n\r\n    let model: BulkBid = {\r\n      auctionId: this.eachLotData.auction.id,\r\n      lotAmount: [\r\n        {\r\n          lotId: this.eachLotData.id,\r\n          amount: bidAmount,\r\n        },\r\n      ],\r\n      userId: this.eachLotData.loggedInUser.userId,\r\n      paddleNumber: this.eachLotData.loggedInUser.paddleNumber,\r\n      proxyUserId: null,\r\n    };\r\n\r\n    this.bidService\r\n      .submitPublicBulkBid(model)\r\n      .toPromise()\r\n      .then((res: any) => {\r\n        res = res[0];\r\n        this.loader = false;\r\n        if (res.isSuccess) {\r\n          this.toastr.success(\r\n            res.message,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.biddingAmount.reset();\r\n        } else {\r\n          this.errorMsg = res.message;\r\n        }\r\n        if (res.isDeactivated) {\r\n          this.checkAuctionDeactivated();\r\n        }\r\n      })\r\n      .catch((err) => {\r\n        this.loader = false;\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      });\r\n    this.closeReviewModal();\r\n  }\r\n\r\n  closeReviewModal() {\r\n    this.changeInAmount = false;\r\n    this.modalRef.hide();\r\n  }\r\n\r\n  private getLotResults() {\r\n    this.loader = true;\r\n    const lotResult = this.bidService.getLotResult(this.eachLotData.id).subscribe(\r\n      (res) => {\r\n        this.loader = false;\r\n        this.mapBidInfo(res);\r\n      },\r\n      () => (this.loader = false)\r\n    );\r\n    this.subscriptions.push(lotResult)\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<div [@submit]=\"submitState\" (@submit.done)=\"endState()\" class=\"lot-box-inner\" style=\"position: relative\">\r\n  <app-loader [showLoader]=\"loader\" [inlineLoader]=\"true\"> </app-loader>\r\n\r\n  <div class=\"top-image-wrap\">\r\n    <img *ngIf=\"eachLotData?.thumbnailImages.length == 0\" class=\"lot-banner\" alt=\"lot-banner\"\r\n      src=\"/assets/images/image_not_found.svg\" role=\"button\" (click)=\"\r\n        goToViewLotDetailsFromWatchList(\r\n          eachLotData?.auction.auctionCode,\r\n          eachLotData?.lotNumber\r\n        )\r\n      \" />\r\n    <img *ngIf=\"eachLotData?.thumbnailImages.length > 0\" class=\"lot-banner\" alt=\"lot-banner\"\r\n      [src]=\"eachLotData?.thumbnailImages[0]?.name\" role=\"button\" (click)=\"\r\n        goToViewLotDetailsFromWatchList(\r\n          eachLotData?.auction.auctionCode,\r\n          eachLotData?.lotNumber\r\n        )\r\n      \" />\r\n    <span class=\"lot-no cursor custom-lot-number\" [ngClass]=\"{ featuredLot: eachLotData?.isFeatured }\" role=\"button\"\r\n      (click)=\"\r\n        goToViewLotDetailsFromWatchList(\r\n          eachLotData?.auction.auctionCode,\r\n          eachLotData?.lotNumber\r\n        )\r\n      \">\r\n      {{ (eachLotData?.isFeatured ? \"Featured\" : \"\") + \" Lot\" }}\r\n      <span>#{{ eachLotData?.lotNumber }}</span>\r\n    </span>\r\n\r\n    <ng-container *ngIf=\"!readOnlyCatalog\">\r\n      <ng-container *ngIf=\"!showListView && !isItWatchList && !isLotClosed\">\r\n        <span class=\"starred\" *ngIf=\"eachLotData?.loggedInUser && !isAddedToWatchlist\">\r\n          <img alt=\"star-stroke\" src=\"/assets/images/star-stroke-grey.svg\" role=\"button\"\r\n            (click)=\"addToWatchList(eachLotData?.id, eachLotData?.lotNumber)\" />\r\n        </span>\r\n        <span class=\"starred\" *ngIf=\"eachLotData?.loggedInUser && isAddedToWatchlist\">\r\n          <img alt=\"star-filled\" src=\"/assets/images/star-filled.svg\" role=\"button\" (click)=\"\r\n              removeFromWatchList(eachLotData?.id, eachLotData?.lotNumber)\r\n            \" />\r\n        </span>\r\n\r\n      </ng-container>\r\n    </ng-container>\r\n\r\n  </div>\r\n\r\n  <div class=\"details-wrap\">\r\n    <ng-container *ngIf=\"!readOnlyCatalog\">\r\n      <div *ngIf=\"\r\n          !eachLotData?.isBiddingPaused &&\r\n          showTimer &&\r\n          eachLotData?.loggedInUser &&\r\n          eachLotData?.loggedInUser?.isApproved &&\r\n          eachLotData?.auction.auctionStatus == auctionStatuses.live\r\n        \">\r\n        <div class=\"bid-closes bidCloses\">\r\n          <img alt=\"clock-icon\" class=\"mr-2\" src=\"./assets/images/clock.svg\" />\r\n          <strong class=\"mr-1\">Closes In </strong>\r\n          <timer-countdown [isLowConnectionMode]=\"isLowConnectionMode\" [timeLeft]=\"eachLotData?.timeLeft\"\r\n            [startTime]=\"eachLotData?.lotStartTimeUtc\" [endTime]=\"eachLotData?.lotEndTimeUtc\"\r\n            (timeReached)=\"isTimeReached($event)\">\r\n          </timer-countdown>\r\n\r\n          <span class=\"extended badge-dark card-badge ml-3\" *ngIf=\"eachLotData?.extendedByMinutes\">Extended</span>\r\n        </div>\r\n      </div>\r\n    </ng-container>\r\n\r\n    <p class=\"des\">{{ eachLotData?.description | characterLimit: 140 }}\r\n      <ng-container *ngIf=\"eachLotData?.description &&\r\n      eachLotData?.description?.length > 140\">\r\n        <div class=\"d-inline for-icons\">\r\n          <a role=\"button\" (click)=\"goToViewLotDetailsFromWatchList(\r\n            eachLotData?.auction.auctionCode,\r\n            eachLotData?.lotNumber\r\n          )\" class=\"edit-bids-icon\" style=\"color: #8d1231; text-decoration:underline\">\r\n            <span class=\"m-0 p-0\">more info</span>\r\n          </a>\r\n        </div>\r\n      </ng-container>\r\n    </p>\r\n\r\n    <p class=\"des cursor-pointer\" *ngIf=\"isItWatchList || isItActiveBidList\" role=\"button\"\r\n      (click)=\"goToAuctionTitle(eachLotData?.auction?.auctionCode)\">\r\n      {{ eachLotData?.auction?.title }}\r\n    </p>\r\n    <p class=\"auc-address mb-2\" *ngIf=\"\r\n        eachLotData?.auction?.auctionStatus == auctionStatuses.upcoming &&\r\n        isItWatchList\r\n      \">\r\n      <span class=\"\">Opens\r\n        {{\r\n        eachLotData?.auction?.startDateTime\r\n        | toLocalDateTime\r\n        : false\r\n        : eachLotData?.auction?.timeZoneCode\r\n        : \"EEEE\r\n        MMMM d,h:mm a\"\r\n        }}\r\n      </span>\r\n    </p>\r\n\r\n    <div class=\"location-wrap\">\r\n      <div class=\"location\">\r\n        <ng-container *ngIf=\"eachLotData?.quantity > 1\">\r\n          <span class=\"ml-0 mr-2 forQty\">Qty: {{ eachLotData?.quantity }}</span>\r\n        </ng-container>\r\n        <img class=\"location\" alt=\"location\" height=\"13\" src=\"/assets/images/location-grey.svg\" />\r\n        <span>{{ eachLotData?.location }}</span>\r\n      </div>\r\n\r\n      <ng-container *ngIf=\"!readOnlyCatalog\">\r\n        <ng-container *ngIf=\"eachLotData?.auction?.auctionStatus == auctionStatuses.live\">\r\n          <p class=\"bid\">{{ eachLotData?.bidCount }} Bids</p>\r\n        </ng-container>\r\n        <div class=\"des\" style=\"font-size: 12px\" *ngIf=\"\r\n            showTimer &&\r\n            eachLotData?.loggedInUser &&\r\n            eachLotData?.auction.auctionStatus == auctionStatuses.live\r\n          \">\r\n          <!-- for reserve price -->\r\n          <ng-container *ngIf=\"eachLotData?.reservePrice\">\r\n            <ng-container *ngIf=\"eachLotData?.bidCount > 0; else elseTemplate\">\r\n              <ng-container *ngIf=\"\r\n                  eachLotData?.currentBid >= eachLotData?.reservePrice;\r\n                  else elseBody\r\n                \">\r\n                <p class=\"mb-1\">Reserve Price Met</p>\r\n              </ng-container>\r\n              <ng-template #elseBody>\r\n                <p class=\"mb-1\">Reserve Price Not Met</p>\r\n              </ng-template>\r\n            </ng-container>\r\n            <ng-template #elseTemplate>\r\n              <p class=\"mb-1\">Subject To Reserve Price</p>\r\n            </ng-template>\r\n          </ng-container>\r\n          <!-- for bulk lot or individual lot i text -->\r\n          <ng-container *ngIf=\"\r\n              eachLotData?.lotType === lotType.individual &&\r\n              eachLotData?.addedInBulkLotName\r\n            \">\r\n            <p class=\"m-0\">\r\n              Subject to Bulk Lot of {{ eachLotData?.addedInBulkLotName }}\r\n              <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"This lot is subject to Bulk Lot {{\r\n                  eachLotData?.addedInBulkLotName\r\n                }}. In order for this lot to be awarded, the aggregate total of Lots {{\r\n                  eachLotData?.associatedLots | bulkLots\r\n                }} must exceed the value of {{\r\n                  eachLotData?.addedInBulkLotName\r\n                }}. Additionally, the Bulk Bidder/Individual Bidders will be given {{\r\n                  eachLotData?.individualModifier\r\n                }}% protection.\" [matTooltipPosition]=\"'above'\">\r\n                <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n              </span>\r\n            </p>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"\r\n              eachLotData?.lotType === lotType.bulk && eachLotData?.lots?.length\r\n            \">\r\n            <p class=\"m-0\">\r\n              Subject to Lots {{ eachLotData?.lots | bulkLots }}\r\n              <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n                matTooltip=\"\r\n                  The Bulk Bid is Subject to the Aggregate of Lots {{\r\n                  eachLotData?.lots | bulkLots\r\n                }}. The Bulk Bidder/Piecemeal Bidders will be given {{\r\n                  eachLotData?.modifier\r\n                }}% protection. Whichever lot(s) produce the highest total will be awarded the Lot. The Bulk Bid will close before the individual lots and you will not get a chance to re-bid after the individual lots close.\"\r\n                [matTooltipPosition]=\"'above'\">\r\n                <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n              </span>\r\n            </p>\r\n          </ng-container>\r\n          <ng-container *ngIf=\"!isLotClosed\">\r\n            <ng-container *ngIf=\"\r\n                eachLotData?.willSell &&\r\n                eachLotData?.lotType != eachLotData?.willSell &&\r\n                eachLotData?.addedInBulkLotName\r\n              \">\r\n              <p class=\"m-0\">Below Bulk Bid Threshold</p>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"\r\n                eachLotData?.willSell &&\r\n                eachLotData?.lotType != eachLotData?.willSell &&\r\n                eachLotData?.lots?.length\r\n              \">\r\n              <p class=\"m-0\">Below Bulk Bid Threshold</p>\r\n            </ng-container>\r\n          </ng-container>\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n\r\n  <ng-container *ngIf=\"!readOnlyCatalog\">\r\n    <div class=\"status-pos\" *ngIf=\"eachLotData?.auction?.auctionStatus == 2 && isItWatchList\">\r\n      <p class=\"for-approval awaiting m-0\" *ngIf=\"!eachLotData?.auction?.isApproved\">\r\n        <img alt=\"approval-icon\" class=\"approval-icon\" src=\"./assets/images/awaiting-approval.svg\" />\r\n        <span>Awaiting Approval</span>\r\n      </p>\r\n      <p class=\"for-approval approved m-0\" *ngIf=\"eachLotData?.auction?.isApproved\">\r\n        <img alt=\"approval-icon\" class=\"approval-icon\" src=\"./assets/images/approved.svg\" />\r\n        <span>Approved!</span>\r\n      </p>\r\n    </div>\r\n  </ng-container>\r\n\r\n  <ng-container *ngIf=\"!readOnlyCatalog\">\r\n    <div class=\"bid-wrap\">\r\n      <ng-content *ngIf=\"isItWatchList\"></ng-content>\r\n\r\n      <ng-container *ngIf=\"\r\n          !eachLotData?.isBiddingPaused &&\r\n          loggedInUser > 0 &&\r\n          eachLotData?.loggedInUser?.isApproved &&\r\n          eachLotData?.auction.auctionStatus == auctionStatuses.live &&\r\n          !isLotClosed\r\n        \">\r\n        <div class=\"top-price\" *ngIf=\"loggedInUser\">\r\n          <div class=\"bid-price left-price\">\r\n            <p class=\"name\">{{eachLotData?.bidCount == 0 ? 'Opening Bid' : 'Current Bid'}} Amount</p>\r\n            <p class=\"amount\">\r\n              {{\r\n              eachLotData?.currentBid\r\n              | auctionCurrency: eachLotData?.auction?.curreny\r\n              }}\r\n            </p>\r\n          </div>\r\n\r\n          <div class=\"bid-price right-price\">\r\n            <p class=\"name\">\r\n              {{ isUserHighestBidder ? \"Max Bid Amount\" : \"Next Required Bid\" }}\r\n            </p>\r\n            <p class=\"amount\">\r\n              <ng-container *ngIf=\"isUserHighestBidder; else nextRequiredBidSection\">\r\n                {{\r\n                eachLotData?.highestBid\r\n                | auctionCurrency: eachLotData?.auction?.curreny\r\n                }}\r\n              </ng-container>\r\n              <ng-template #nextRequiredBidSection>\r\n                {{\r\n                eachLotData?.nextRequiredBid\r\n                | auctionCurrency: eachLotData?.auction?.curreny\r\n                }}\r\n                <small>\r\n                  {{ eachLotData?.quantity > 1 ? \"Each\" : \"\" }}\r\n                </small>\r\n              </ng-template>\r\n            </p>\r\n          </div>\r\n        </div>\r\n        <div class=\"bid-price-input\" *ngIf=\"loggedInUser\">\r\n          <div class=\"price-left\">\r\n            <div class=\"form-group no-float-fields m-0 height-42\">\r\n              <mat-form-field appearance=\"outline\">\r\n                <input matInput type=\"number\" [formControl]=\"biddingAmount\" [min]=\"minBid\" [max]=\"maxBid\" />\r\n              </mat-form-field>\r\n              <control-messages [control]=\"biddingAmount\"></control-messages>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"price-right\">\r\n            <button type=\"button\" class=\"btn btn-white-border w-100\" role=\"button\" (click)=\"onSubmit(false)\" [title]=\"\r\n                !isLowConnectionMode\r\n                  ? 'You are on real time updates'\r\n                  : 'You are on low connection mode'\r\n              \">\r\n              Bid Now\r\n            </button>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"bid-submit\" *ngIf=\"loggedInUser && !isUserHighestBidder\">\r\n          <button type=\"button\" class=\"btn btn-colored w-100\" role=\"button\" (click)=\"onSubmit(true)\" [title]=\"\r\n              !isLowConnectionMode\r\n                ? 'You are on real time updates'\r\n                : 'You are on low connection mode'\r\n            \">\r\n            Quick Bid\r\n            {{\r\n            eachLotData?.nextRequiredBid\r\n            | auctionCurrency: eachLotData?.auction?.curreny\r\n            }}\r\n          </button>\r\n        </div>\r\n\r\n        <div class=\"bid-green-hover-outer\" *ngIf=\"loggedInUser && isUserHighestBidder\">\r\n          <button type=\"button\" class=\"btn btn-colored btn-green-hover w-100\">\r\n            <img alt=\"white-check\" class=\"mr-2\" src=\"./assets/images/white-check.svg\" />\r\n            High Bidder\r\n          </button>\r\n          <div class=\"hover-wrap\">\r\n            <p class=\"m-0\">\r\n              You will be able to \"Quick Bid\" after your bid is outbid.\r\n              <br />\r\n              <br />\r\n              You may still increase your max bid by entering a higher value on\r\n              clicking Bid Now.\r\n            </p>\r\n          </div>\r\n        </div>\r\n        <div *ngIf=\"errorMsg != null\">\r\n          <p class=\"error-text\">{{ errorMsg }}</p>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <div class=\"pause-bidding text-center\" [ngClass]=\"{ 'my-3': showListView }\" *ngIf=\"eachLotData?.isBiddingPaused\">\r\n        <img alt=\"clock-icon\" class=\"clock-icon\" style=\"height: 25px\" src=\"./assets/images/clock-grey.svg\" />\r\n        <h5>Bidding is paused!</h5>\r\n      </div>\r\n\r\n      <div>\r\n        <ng-container *ngIf=\"showTimer\">\r\n          <button type=\"button\" class=\"btn btn-white-border w-100 mt-2\" [ngClass]=\"{ 'mb-2': !showListView }\" *ngIf=\"\r\n              eachLotData?.auction.isRegistrationActive &&\r\n              (eachLotData?.auction.auctionStatus == auctionStatuses.live ||\r\n                eachLotData?.auction.auctionStatus ==\r\n                  auctionStatuses.upcoming) &&\r\n              eachLotData?.loggedInUser == null\r\n            \" role=\"button\" (click)=\"goToRegister(eachLotData?.auction.auctionCode)\">\r\n            Register to Bid\r\n          </button>\r\n        </ng-container>\r\n\r\n        <div class=\"w-100 mb-2 sold-wrap text-center\" *ngIf=\"\r\n            eachLotData?.lotStatus && isLotClosed && eachLotData?.loggedInUser\r\n          \">\r\n          <ng-container [ngSwitch]=\"eachLotData?.lotStatus\">\r\n            <ng-container *ngSwitchCase=\"soldStatuses.sold\">\r\n              <div class=\"badge-type\">\r\n                <span class=\"card-badge-colored mr-2\">SOLD</span>\r\n              </div>\r\n              <p *ngIf=\"eachLotData?.soldTo == loggedInUser\">Winning Bidder</p>\r\n              <p *ngIf=\"findLooser() > -1 && eachLotData?.soldTo !== loggedInUser\">Unsuccessful</p>\r\n              <p *ngIf=\"isItActiveBidList\">\r\n                {{\r\n                eachLotData?.loggedInUserLastBid\r\n                | auctionCurrency: eachLotData?.auction?.curreny\r\n                }}\r\n              </p>\r\n            </ng-container>\r\n            <ng-container *ngSwitchCase=\"soldStatuses.unsold\">\r\n              <div class=\"badge-type\">\r\n                <span class=\"card-badge-colored mr-2\"> UNSOLD </span>\r\n                <div *ngIf=\"isItWatchList\">\r\n                  <a role=\"button\" class=\"btn btn-colored w-100 mt-2\" [routerLink]=\"[\r\n                      '/',\r\n                      eachLotData?.auction.auctionCode,\r\n                      'enquire'\r\n                    ]\">Inquire Now</a>\r\n                </div>\r\n              </div>\r\n            </ng-container>\r\n            <ng-container *ngSwitchCase=\"soldStatuses.cancelled\">\r\n              <div class=\"badge-type\">\r\n                <span class=\"card-badge-colored mr-2\"> CANCELLED </span>\r\n              </div>\r\n            </ng-container>\r\n            <ng-container *ngSwitchCase=\"soldStatuses.pending\">\r\n              <div class=\"badge-type\">\r\n                <span class=\"card-badge-colored mr-2\"> PENDING </span>\r\n              </div>\r\n            </ng-container>\r\n          </ng-container>\r\n        </div>\r\n\r\n        <ng-container *ngIf=\"loggedInUser > 0 && eachLotData?.loggedInUser?.isApproved\">\r\n          <div class=\"refreshWatchlist\">\r\n            <div class=\"mb-2 mt-2 sold-wrap d-flex align-items-center list-view\"\r\n              *ngIf=\"showListView && !isItWatchList && !isLotClosed\">\r\n              <div class=\"starred add-wishlist\" role=\"button\" (click)=\"\r\n                  addToWatchList(eachLotData?.id, eachLotData?.lotNumber)\r\n                \" *ngIf=\"loggedInUser != 0 && !isAddedToWatchlist\">\r\n                <span class=\"for-image\">\r\n                  <img alt=\"star-stroke\" src=\"/assets/images/star-stroke-grey.svg\" />\r\n                </span>\r\n                <span class=\"ml-2\">Add To Watchlist</span>\r\n              </div>\r\n\r\n\r\n              <a [routerLink]=\"['/profile/my-watchlist']\" *ngIf=\"loggedInUser != 0 && isAddedToWatchlist\">\r\n                <div class=\"add-wishlist\">\r\n                  <span class=\"for-image\">\r\n                    <img alt=\"star-filled\" src=\"/assets/images/star-filled.svg\" />\r\n                  </span>\r\n                  <span class=\"ml-2\">Go to Watchlist</span>\r\n                </div>\r\n              </a>\r\n\r\n            </div>\r\n            <span class=\"outbid-text ml-2 mt-3\" *ngIf=\"eachLotData?.outbid && !isLotClosed\">Outbid</span>\r\n\r\n            <ng-container *ngIf=\"isLowConnectionMode && !isLotClosed\">\r\n              <a class=\"iconRefresh\" role=\"button\" role=\"button\" (click)=\"getLotDataInApi()\">\r\n                <img alt=\"refresh\" title=\"refresh\" class=\"mr-2\" src=\"/assets/images/refresh.svg\" />\r\n                Refresh\r\n              </a>\r\n            </ng-container>\r\n          </div>\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n\r\n\r\n\r\n<ng-template #quickBidModal>\r\n  <div class=\"modal-header pl-3\">\r\n    <h4 class=\"modal-title pull-left\">Review Bids</h4>\r\n    <button type=\"button\" class=\"close pull-right circle-icon\" aria-label=\"Close\" role=\"button\"\r\n      (click)=\"closeReviewModal()\">\r\n      <img alt=\"cross\" _ngcontent-lrm-c188=\"\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"column-list\">\r\n      <div class=\"parts\">\r\n        <div class=\"left-wrap\">Auction</div>\r\n        <div class=\"right-wrap\">{{ eachLotData.auction.title | titlecase }}</div>\r\n      </div>\r\n\r\n      <div class=\"parts\">\r\n        <div class=\"left-wrap\">Bidder</div>\r\n        <div class=\"right-wrap\">\r\n          Paddle No. {{ eachLotData.loggedInUser.paddleNumber }} {{userFullName | titlecase}}\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"data-table-wrap w-100\">\r\n      <table aria-label=\"table\" class=\"w-100 table-with-border review-bids-table\">\r\n        <tbody>\r\n          <tr class=\"mat-row\">\r\n            <td class=\"mat-cell column-1 listing-data-entry table-with-row-header\">\r\n              <span class=\"td-header\">Lot #</span>\r\n              {{ eachLotData.lotNumber }}\r\n            </td>\r\n            <td class=\"mat-cell column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n              <span class=\"td-header\">Lot Description</span>\r\n              {{ eachLotData.description | characterLimit: 50 }}\r\n            </td>\r\n            <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\">\r\n              <span class=\"td-header\">Quick Bid</span>\r\n              {{ eachLotData.nextRequiredBid | auctionCurrency: eachLotData.auction.curreny }}\r\n            </td>\r\n          </tr>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n\r\n    <ng-container *ngIf=\"changeInAmount\">\r\n      <p>Note : New Bid has been placed. Please bid again.</p>\r\n    </ng-container>\r\n\r\n    <div class=\"review-btns-wrap mt-3\">\r\n      <ng-container *ngIf=\"!changeInAmount\">\r\n        <button type=\"button\" class=\"btn btn-colored\" role=\"button\" (click)=\"submitBidByApi(true)\">\r\n          Submit Bid\r\n        </button>\r\n      </ng-container>\r\n      <button type=\"button\" class=\"btn btn-white-border\" role=\"button\" (click)=\"closeReviewModal()\">\r\n        Cancel\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","import { AuthenticationService } from './../../../services/authentication.service';\r\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\r\nimport { SaleTypeService } from './../../../services/sale-type.service';\r\nimport { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuctionService, LotService } from '../../../services';\r\nimport { Auction } from '../../../models';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport constants from '../../../utility/constants';\r\nimport { ModuleService } from '../../module.service';\r\nimport messages from '../../../utility/messages';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { AdminAuctionList } from '../../../models/adminAuctionList';\r\nimport { AuctionTimeService } from '../../../services/auction-time.service';\r\n\r\n@Component({\r\n  selector: 'app-auction-list',\r\n  templateUrl: './auction-list.component.html',\r\n  styleUrls: ['./auction-list.component.css'],\r\n})\r\nexport class AuctionListComponent implements OnInit {\r\n  auctionStatusType: Array<{ value: number; text: string }> = [];\r\n  auctionMode: string;\r\n\r\n  auctionList: Array<AdminAuctionList> = [];\r\n\r\n  saleType: any;\r\n  //paging variables\r\n  saleTypeId: number = null;\r\n  status: number = 0;\r\n  auctionStatus: boolean = false;\r\n  auctionStatusId: number = 0;\r\n  searchTerm: string = '';\r\n  pageNumber: number = 1;\r\n  pageSize: number = constants.admin.adminPageSize;\r\n  sortBy: string = '';\r\n  sortOrder: string = '';\r\n  isPaginated: boolean = true;\r\n  onlyActive: boolean = false;\r\n\r\n  selectedFilter: string = 'Live';\r\n  classToggled = false;\r\n  mobileFilters = false;\r\n\r\n  searchControl = new FormControl();\r\n  searchMaxLength = constants.common.validations.searchMaxLength;\r\n\r\n  role: any;\r\n  startStop: any;\r\n  upcomingAuctions: any;\r\n  approveForm: FormGroup;\r\n  approveCommonForm: FormGroup;\r\n  modalRef: BsModalRef;\r\n  submitLoader: boolean = false;\r\n  loading: boolean = false;\r\n  // total auction count\r\n  totalAuctions: number;\r\n  auctionId: any;\r\n  //show view when data is loaded\r\n  showView: boolean = false;\r\n  auctionModel: AdminAuctionList;\r\n  registrationId: any;\r\n  pageReset: Boolean = false;\r\n  disableCommonRegistrationButton: Boolean = true;\r\n  currentUrl: string;\r\n  websiteUrl: string = environment.websiteUrl;\r\n\r\n  auctionStatuses = constants.common.auctionStatus;\r\n  registrationFormat = constants.common.saletypeRegistrationFormat;\r\n  displaySection = constants.common.displaySection;\r\n  roles = constants.common.role;\r\n\r\n  currentSelectedAuction: AdminAuctionList;\r\n  isLoading: boolean = false;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  constructor(\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private auctionService: AuctionService,\r\n    private saleTypeService: SaleTypeService,\r\n    private toastr: ToastrService,\r\n    private modalService: BsModalService,\r\n    private moduleService: ModuleService,\r\n    private as: AuthenticationService,\r\n    private lotService: LotService,\r\n    private auctionTimeService: AuctionTimeService\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    // this is to set the 1st tab alive\r\n    this.role = this.as.currentUserValue()?.user?.role?.id;\r\n    this.initializeSearchInputOnChangeListener();\r\n    this.getSaleType();\r\n    if (window.location.href.split('type=')[1] == 'live') {\r\n      this.setQueryParam('live', 1);\r\n      this.auctionMode = 'live';\r\n    } else if (window.location.href.split('type=')[1] == 'upcoming') {\r\n      this.setQueryParam('upcoming', 2);\r\n      this.auctionMode = 'upcoming';\r\n    } else if (window.location.href.split('type=')[1] == 'recent') {\r\n      this.setQueryParam('recent', 4);\r\n      this.auctionMode = 'recent';\r\n    } else if (window.location.href.split('type=')[1] == 'pending') {\r\n      this.setQueryParam('pending', 3);\r\n      this.auctionMode = 'pending';\r\n    } else {\r\n      this.setQueryParam('live', 1);\r\n      this.auctionMode = 'live';\r\n    }\r\n\r\n    const atypes = this.auctionService.getAuctionStatusType().subscribe(\r\n      (res) => {\r\n        this.auctionStatusType = res;\r\n      },\r\n      () => {}\r\n    );\r\n    this.subscriptions.push(atypes);\r\n    this.route.queryParams.subscribe((params) => {\r\n      if (params['type'] !== undefined) {\r\n        let param: string = params['type'];\r\n        this.auctionMode = param.toLowerCase();\r\n      }\r\n    });\r\n    this.approveForm = new FormGroup({\r\n      id: new FormControl(''),\r\n      isPublic: new FormControl(false),\r\n      isRegistrationActive: new FormControl(false),\r\n      registrationSyncWithAuctionId: new FormControl(''),\r\n    });\r\n    this.approveCommonForm = new FormGroup({\r\n      auctionId: new FormControl(''),\r\n      syncWithAuctionId: new FormControl(''),\r\n    });\r\n\r\n    // calling list\r\n    this.getListing();\r\n    this.currentUrl = this.router.url;\r\n  }\r\n\r\n  goToReportSection(id, auctionMode) {\r\n    this.router.navigate(['/admin/dashboard/reports'], {\r\n      queryParams: { id: id, auctionMode: auctionMode },\r\n    });\r\n  }\r\n\r\n  openLink(url) {\r\n    window.open(url, '_blank');\r\n  }\r\n\r\n  openLotsLink(url) {\r\n    window.open(url + '#check', '_blank');\r\n  }\r\n\r\n  resetSearch() {\r\n    this.searchControl.reset();\r\n    this.getListing();\r\n  }\r\n\r\n  changeSearchValue(val: Observable<string>) {\r\n    const vals = val.subscribe((value) => {\r\n      this.searchTerm = value;\r\n      this.pageNumber = 1;\r\n      this.getListing();\r\n    });\r\n    this.subscriptions.push(vals);\r\n  }\r\n\r\n  checkApproveAuction(): boolean {\r\n    return this.moduleService.userHas(constants.admin.modules.approveAuction);\r\n  }\r\n\r\n  checkCreateAuction(): boolean {\r\n    return this.moduleService.userHas(constants.admin.modules.createNewAuction);\r\n  }\r\n\r\n  getSaleType() {\r\n    const stypes = this.saleTypeService.getSaletypeForDropDown().subscribe((data) => {\r\n      this.saleType = data;\r\n    });\r\n    this.subscriptions.push(stypes);\r\n  }\r\n  onSaleTypeFilter(saleTypeId) {\r\n    this.saleTypeId = saleTypeId;\r\n    this.pageNumber = 1;\r\n    this.getListing();\r\n  }\r\n  private initializeSearchInputOnChangeListener() {\r\n    this.searchControl.valueChanges\r\n      .pipe(debounceTime(1200))\r\n      .subscribe((value: any) => {\r\n        this.searchTerm = value;\r\n        this.pageNumber = 1;\r\n        this.getListing();\r\n      });\r\n  }\r\n  // set the auction mode\r\n  setQueryParam(auctionType: string, aucStatusId?: number) {\r\n    this.pageNumber = 1;\r\n    this.pageReset = true;\r\n    this.router.navigate(['./'], {\r\n      relativeTo: this.route,\r\n      queryParams: { type: auctionType },\r\n    });\r\n\r\n    this.auctionStatusId = aucStatusId;\r\n    this.selectedFilter = auctionType;\r\n    this.auctionMode = auctionType;\r\n    this.getListing();\r\n  }\r\n\r\n  // paging info\r\n  paging() {\r\n    if (this.searchTerm == null || this.searchTerm == undefined) {\r\n      this.searchTerm = '';\r\n    }\r\n    let model = {\r\n      saleTypeId: this.saleTypeId,\r\n      status: this.status,\r\n      auctionStatusId: this.auctionStatusId,\r\n      searchTerm: this.searchTerm,\r\n      pageNumber: this.pageNumber,\r\n      pageSize: this.pageSize,\r\n      sortBy: this.sortBy,\r\n      sortOrder: this.sortOrder,\r\n      isPaginated: this.isPaginated,\r\n      onlyActive: this.onlyActive,\r\n    };\r\n    return model;\r\n  }\r\n  onPageChange(paging: number) {\r\n    this.pageNumber = paging;\r\n    this.pageReset = false;\r\n    this.getListing();\r\n  }\r\n  // live listing section\r\n  getListing() {\r\n    this.showView = false;\r\n    this.isLoading = true;\r\n    const gaucs = this.auctionService.getAuctions(this.paging()).subscribe(\r\n      (res: any) => {\r\n        this.isLoading = false;\r\n        this.auctionList = res.data;\r\n        this.totalAuctions = res.totalCount;\r\n        if (this.totalAuctions > this.pageSize) {\r\n          this.showView = true;\r\n        } else {\r\n          this.showView = false;\r\n        }\r\n      },\r\n      () => {\r\n        this.isLoading = false;\r\n        this.showView = true;\r\n      }\r\n    );\r\n    this.subscriptions.push(gaucs);\r\n  }\r\n\r\n  checkLotClosing(lotCloseStartTime: string, lotCloseEndTime: string): boolean {\r\n    var result = this.auctionTimeService.isLotClosing(\r\n      lotCloseStartTime,\r\n      lotCloseEndTime\r\n    );\r\n    return result;\r\n  }\r\n\r\n  openDeActivateAuction(\r\n    template2: TemplateRef<any>,\r\n    actionModel: AdminAuctionList,\r\n    status: boolean\r\n  ) {\r\n    this.modalRef = this.modalService.show(\r\n      template2,\r\n      Object.assign({\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n      })\r\n    );\r\n    this.auctionModel = actionModel;\r\n    this.auctionStatus = status;\r\n  }\r\n\r\n  importAuctionModal(\r\n    importAuction: TemplateRef<any>,\r\n    auction: AdminAuctionList\r\n  ) {\r\n    this.auctionModel = auction;\r\n    this.modalRef = this.modalService.show(\r\n      importAuction,\r\n      Object.assign({\r\n        class: 'custom-popup modal-dialog modal-dialog-centered importAuction',\r\n      })\r\n    );\r\n  }\r\n\r\n  importAuctionUserModal(\r\n    importAuctionUser: TemplateRef<any>,\r\n    auction: AdminAuctionList\r\n  ) {\r\n    this.auctionModel = auction;\r\n    this.modalRef = this.modalService.show(\r\n      importAuctionUser,\r\n      Object.assign({\r\n        class:\r\n          'custom-popup modal-dialog modal-dialog-centered importAuctionUser',\r\n      })\r\n    );\r\n  }\r\n\r\n  deActivateAuction(auctionModel: AdminAuctionList) {\r\n    this.submitLoader = true;\r\n    const statuschange = this.auctionService\r\n      .auctionChangeStatus({ id: auctionModel.id })\r\n      .subscribe(() => {\r\n        this.submitLoader = false;\r\n        this.modalService.hide();\r\n        if (this.auctionStatus == true) {\r\n          this.toastr.success(\r\n            messages.auctionListing.deActivateAuction,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.auctionStatus = !this.auctionStatus;\r\n        } else {\r\n          this.toastr.success(\r\n            messages.auctionListing.activateAuction,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.auctionStatus = !this.auctionStatus;\r\n        }\r\n        this.getListing();\r\n      });\r\n      this.subscriptions.push(statuschange);\r\n  }\r\n  openDeleteAuction(template: TemplateRef<any>, actionModel: AdminAuctionList) {\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign({\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n      })\r\n    );\r\n    this.auctionModel = actionModel;\r\n  }\r\n\r\n  openFeaturedPastModal(\r\n    template: TemplateRef<any>,\r\n    actionModel: AdminAuctionList\r\n  ) {\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign({\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n      })\r\n    );\r\n    this.auctionModel = actionModel;\r\n  }\r\n\r\n  openUnarchiveModal(\r\n    template: TemplateRef<any>,\r\n    actionModel: AdminAuctionList\r\n  ) {\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign({\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n      })\r\n    );\r\n    this.auctionModel = actionModel;\r\n  }\r\n\r\n  unarchiveAuction() {\r\n    this.submitLoader = true;\r\n    const uacution = this.auctionService.unarchiveAuction(this.auctionModel.id).subscribe(\r\n      () => {\r\n        this.pageReset = true;\r\n        this.submitLoader = false;\r\n        this.getListing();\r\n        this.toastr.success(\r\n          `Auction ${\r\n            this.auctionModel.isArchived ? 'Unarchive' : 'Archive'\r\n          } successfully`,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.closeModal();\r\n      },\r\n      (err) => {\r\n        this.submitLoader = false;\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.closeModal();\r\n      }\r\n    );\r\n    this.subscriptions.push(uacution);\r\n  }\r\n\r\n  updateFeaturedPast() {\r\n    this.submitLoader = true;\r\n    const auction = this.auctionService.changeFeaturedPast(this.auctionModel.id).subscribe(\r\n      () => {\r\n        this.pageReset = true;\r\n        this.submitLoader = false;\r\n        this.getListing();\r\n        this.toastr.success(\r\n          `Auction ${\r\n            this.auctionModel.isArchived ? 'Unarchive' : 'Archive'\r\n          } successfully`,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.closeModal();\r\n      },\r\n      (err) => {\r\n        this.submitLoader = false;\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.closeModal();\r\n      }\r\n    );\r\n    this.subscriptions.push(auction);\r\n  }\r\n\r\n  unpublishCatalog() {\r\n    this.submitLoader = true;\r\n    const ulots = this.lotService.unpublishLots(this.auctionModel.id).subscribe(\r\n      () => {\r\n        this.pageReset = true;\r\n        this.submitLoader = false;\r\n        this.getListing();\r\n        this.toastr.success(\r\n          'Lot Catalog Unpublished successfully',\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.closeModal();\r\n      },\r\n      (err) => {\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.closeModal();\r\n      }\r\n    );\r\n    this.subscriptions.push(ulots);\r\n  }\r\n\r\n  deleteAuction(auctionModel: AdminAuctionList) {\r\n    this.submitLoader = true;\r\n    const audelete = this.auctionService\r\n      .auctionDelete({ auctionId: auctionModel.id })\r\n      .subscribe(() => {\r\n        this.pageReset = true;\r\n        this.submitLoader = false;\r\n        this.getListing();\r\n        this.toastr.success(\r\n          messages.auctionListing.deleteAuction,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.modalService.hide();\r\n      });\r\n      this.subscriptions.push(audelete);\r\n  }\r\n  getUpcomingAuctions(id: number) {\r\n    const upauctions = this.auctionService.getUpcomingAuctions(id,true).subscribe(\r\n      (res) => {\r\n        this.upcomingAuctions = res;\r\n      },\r\n      () => {}\r\n    );\r\n    this.subscriptions.push(upauctions);\r\n  }\r\n  openStatusAuction(\r\n    template: TemplateRef<any>,\r\n    actionModel: Auction,\r\n    status: number\r\n  ) {\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign({\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class: 'custom-popup activate-modal modal-dialog modal-dialog-centered',\r\n      })\r\n    );\r\n    this.startStop = status;\r\n    this.registrationId = actionModel;\r\n  }\r\n  approveAuction() {\r\n    this.submitLoader = true;\r\n    this.approveForm.get('id').setValue(this.auctionId);\r\n\r\n    const auapprove = this.auctionService\r\n      .auctionApprove(this.approveForm.getRawValue())\r\n      .subscribe(\r\n        () => {\r\n          this.submitLoader = false;\r\n          this.getListing();\r\n          this.approveForm.reset();\r\n          this.toastr.success(\r\n            messages.auctionListing.approveAuction,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.modalRef.hide();\r\n        },\r\n        (err) => {\r\n          this.submitLoader = false;\r\n          this.toastr.error(\r\n            err,\r\n            constants.common.toast.errorTitle,\r\n            constants.common.toast.config\r\n          );\r\n        }\r\n      );\r\n      this.subscriptions.push(auapprove);\r\n  }\r\n  approveCommonAuction() {\r\n    this.submitLoader = true;\r\n    this.approveCommonForm.get('auctionId').setValue(this.auctionId);\r\n    const sregister = this.auctionService\r\n      .syncRegistrationWithOtherAuction(this.approveCommonForm.getRawValue())\r\n      .subscribe(() => {\r\n        this.submitLoader = false;\r\n        this.getListing();\r\n        this.approveCommonForm.reset();\r\n        this.toastr.success(\r\n          messages.auctionListing.approveAuction,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.modalRef.hide();\r\n      });\r\n      this.subscriptions.push(sregister);\r\n  }\r\n  openApproveAuction(\r\n    template: TemplateRef<any>,\r\n    currentAuction: AdminAuctionList\r\n  ) {\r\n    this.currentSelectedAuction = currentAuction;\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign({\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class:\r\n          'custom-popup activate-modal activate-lmodal text-left modal-dialog modal-dialog-centered approve-auction',\r\n      })\r\n    );\r\n    this.auctionId = currentAuction.id;\r\n    this.getUpcomingAuctions(this.auctionId);\r\n  }\r\n  auctionStartRegistration(id) {\r\n    this.submitLoader = true;\r\n    const auregister = this.auctionService.auctionStartRegistration({ id: id }).subscribe(\r\n      () => {\r\n        this.getListing();\r\n        this.submitLoader = false;\r\n        this.modalService.hide();\r\n        this.toastr.success(\r\n          messages.auctionListing.auctionStartRegistration,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n      },\r\n      (err) => {\r\n        this.getListing();\r\n        this.submitLoader = false;\r\n        this.modalService.hide();\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    );\r\n    this.subscriptions.push(auregister);\r\n  }\r\n  closeModal() {\r\n    this.modalService.hide();\r\n    this.approveForm.reset();\r\n  }\r\n  auctionStopRegistration(id) {\r\n    this.submitLoader = true;\r\n    const stopregister = this.auctionService.auctionStopRegistration({ id: id }).subscribe(\r\n      () => {\r\n        this.getListing();\r\n        this.submitLoader = false;\r\n        this.modalService.hide();\r\n        this.toastr.success(\r\n          messages.auctionListing.auctionStopRegistration,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n      },\r\n      (err) => {\r\n        this.getListing();\r\n        this.submitLoader = false;\r\n        this.closeModal();\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    );\r\n    this.subscriptions.push(stopregister);\r\n  }\r\n  markItFeatured(id) {\r\n    const markfeature = this.auctionService.markItFeatured(id).subscribe((res) => {\r\n      this.getListing();\r\n      this.toastr.success(\r\n        res\r\n          ? messages.auctionListing.markItFeatured\r\n          : messages.auctionListing.markItUnFeatured,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n    });\r\n    this.subscriptions.push(markfeature);\r\n  }\r\n  markAsSold(id) {\r\n    const msold = this.auctionService.markAsSold({ id: id }).subscribe(() => {\r\n      this.getListing();\r\n      this.toastr.success(\r\n        messages.auctionListing.markAsSold,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n    });\r\n    this.subscriptions.push(msold);\r\n  }\r\n  stopSyncRegistrationWithOtherAuction(id) {\r\n    const sauctions = this.auctionService\r\n      .stopSyncRegistrationWithOtherAuction({ id: id })\r\n      .subscribe(() => {\r\n        this.getListing();\r\n        this.toastr.success(\r\n          messages.auctionListing.stopSyncRegistrationWithOtherAuction,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n      });\r\n      this.subscriptions.push(sauctions);\r\n  }\r\n  syncRegistrationWithOtherAuction() {\r\n    this.isLoading = true;\r\n    this.approveCommonForm.patchValue({ auctionId: this.auctionId });\r\n    this.approveCommonForm.patchValue({\r\n      syncWithAuctionId: this.approveCommonForm.get('syncWithAuctionId').value,\r\n    });\r\n    const otherAuction = this.auctionService\r\n      .syncRegistrationWithOtherAuction(this.approveCommonForm.getRawValue())\r\n      .subscribe(\r\n        () => {\r\n          this.submitLoader = false;\r\n          this.getListing();\r\n          this.approveCommonForm.reset();\r\n          this.isLoading = false;\r\n          this.modalRef.hide();\r\n          this.toastr.success(\r\n            messages.auctionListing.startSyncRegistrationWithOtherAuction,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n        },\r\n        (error) => {\r\n          this.toastr.error(\r\n            error,\r\n            constants.common.toast.errorTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.isLoading = false;\r\n        }\r\n      );\r\n      this.subscriptions.push(otherAuction);\r\n  }\r\n\r\n  upcomingAuctionChange(value: string) {\r\n    this.disableCommonRegistrationButton = Number(value) > 0 ? false : true;\r\n  }\r\n\r\n  goToUsers(auctionId) {\r\n    this.router.navigate(['./', auctionId, 'users'], {\r\n      relativeTo: this.route,\r\n      queryParams: {\r\n        returnTo: this.router.url,\r\n      },\r\n    });\r\n  }\r\n\r\n  goToBidders(auctionId) {\r\n    this.router.navigate(['./', auctionId, 'bids', 'bidder'], {\r\n      relativeTo: this.route,\r\n      queryParams: {\r\n        returnTo: this.router.url,\r\n      },\r\n    });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<app-loader [showLoader]=\"isLoading\"></app-loader>\r\n\r\n<div class=\"row\">\r\n  <div class=\"col-6 col-sm-6\">\r\n    <h3 class=\"text-left\">Auctions</h3>\r\n  </div>\r\n  <div class=\"col-12 col-sm-6 text-right\" *ngIf=\"checkCreateAuction()\">\r\n    <a role=\"button\" class=\"btn btn-colored text-right\" routerLink=\"add\">\r\n      + Create New Auction\r\n    </a>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"row mt-3\">\r\n  <ng-container *ngIf=\"auctionStatusType != []\">\r\n    <div class=\"col-12\">\r\n      <div class=\"list-filter-tabs\">\r\n        <button type=\"button\" class=\"list-tab\" *ngFor=\"let type of auctionStatusType\" role=\"button\"\r\n          (click)=\"setQueryParam(type.text.toLowerCase(), type.value)\" [ngClass]=\"{\r\n            active: type.text.toLowerCase() == selectedFilter.toLowerCase()\r\n          }\">\r\n          {{ type.text | uppercase }}\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n</div>\r\n\r\n<section class=\"table-search-wrap mb-2 mt-4 pb-2\">\r\n  <div class=\"d-none d-md-block\">\r\n    <div class=\"row for-desktop-filters\">\r\n      <div class=\"col-12 col-md-8\">\r\n        <div class=\"row\">\r\n          <div class=\"col-6 pr-0\">\r\n            <search-control [placeholder]=\"'Auction Title or Tagline or Sale Code'\" (value)=\"changeSearchValue($event)\">\r\n            </search-control>\r\n          </div>\r\n\r\n          <div class=\"col-6 pr-0\">\r\n            <filter-control [title]=\"'Filter by sale Type'\" [control]=\"saleTypeId\" [filters]=\"saleType\"\r\n              (currentValue)=\"onSaleTypeFilter($event)\"></filter-control>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"for-mobile-filters d-block d-md-none\">\r\n    <div class=\"row mobile-filters-wrap\" [class.activeFilter]=\"classToggled\">\r\n      <div class=\"for-search\">\r\n        <div class=\"form-group m-0\">\r\n          <search-control [placeholder]=\"'Auction Title or Tagline or Sale Code'\" (value)=\"changeSearchValue($event)\"\r\n            [mobileFilter]=\"true\" (toogleButton)=\"classToggled = $event\">\r\n          </search-control>\r\n        </div>\r\n\r\n        <span class=\"mobile-filter ml-2\" role=\"button\" (click)=\"mobileFilters = true\" [ngClass]=\"{\r\n            'badge-active': saleTypeId != null\r\n          }\">\r\n          <img src=\"../assets/images/mobile-filter.svg\" title=\"mobile-filter-icon\" alt=\"mobile-filter-icon\" />\r\n        </span>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n\r\n<section class=\"filter-box-wrap\" *ngIf=\"mobileFilters\">\r\n  <div class=\"filter-box-inner\">\r\n    <div class=\"top-wrap\">\r\n      <h3 class=\"filter-name\">Filter By:</h3>\r\n\r\n      <span class=\"cross-icon\" role=\"button\" (click)=\"mobileFilters = false\">\r\n        <img src=\"../assets/images/cross.svg\" title=\"filter-cross-icon\" alt=\"filter-cross-icon\" />\r\n      </span>\r\n    </div>\r\n    <div class=\"list-wrap\">\r\n      <div class=\"list-parts\">\r\n        <h3 class=\"parts-outer-name\">Sale Type</h3>\r\n\r\n        <div class=\"custom-checks-outer\">\r\n          <div class=\"custom-checks\">\r\n            <input id=\"check100\" type=\"radio\" name=\"register\" [value]=\"null\" role=\"button\"\r\n              (click)=\"onSaleTypeFilter(null)\" />\r\n            <label for=\"check100\">All</label>\r\n          </div>\r\n          <div class=\"custom-checks\" *ngFor=\"let item of saleType; let i = index\">\r\n            <input [id]=\"'check' + i\" type=\"radio\" name=\"register\" [value]=\"item.value\" role=\"button\"\r\n              (click)=\"onSaleTypeFilter(item.value)\" />\r\n            <label [for]=\"'check' + i\">{{ item.text }}</label>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"filter-btn-wrap pt-2\">\r\n        <button class=\"btn btn-colored w-100\" type=\"button\" role=\"button\" (click)=\"mobileFilters = false\">\r\n          Apply Filters\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n\r\n<app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\" (page)=\"onPageChange($event)\"\r\n  *ngIf=\"showView\">\r\n</app-paginator>\r\n\r\n<div class=\"empty-state-container empty-pad\" *ngIf=\"totalAuctions == 0; else showTable\">\r\n  <div class=\"empty-state-content\">\r\n    <ng-container *ngIf=\"auctionMode == 'pending'\">\r\n      <img alt=\"empty-state\" src=\"../../../../assets/images/auction-success.svg\" />\r\n    </ng-container>\r\n    <ng-container *ngIf=\"auctionMode != 'pending'\">\r\n      <img alt=\"empty-state\" src=\"../../../../assets/images/empty-state-icon.svg\" />\r\n    </ng-container>\r\n\r\n    <h3 class=\"_heading\">\r\n      There are no {{ auctionMode | titlecase }} Auctions yet\r\n    </h3>\r\n    <p class=\"_text\" *ngIf=\"role != roles.auctionAdmin\">\r\n      To create a new Auction use the button below\r\n    </p>\r\n    <button class=\"btn btn-colored\" type=\"button\" [routerLink]=\"['../add']\" *ngIf=\"role != roles.auctionAdmin\">\r\n      + Create New Auction\r\n    </button>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #showTable>\r\n  <div class=\"card-row\" *ngFor=\"\r\n      let list of auctionList\r\n        | paginate\r\n          : {\r\n              id: 'server',\r\n              itemsPerPage: pageSize,\r\n              currentPage: pageNumber,\r\n              totalItems: totalAuctions\r\n            }\r\n    \">\r\n    <div class=\"row\">\r\n      <div class=\"col-auto max-width--200 card-title-left\">\r\n        <p class=\"card-heading for-attr-hdg\" data-column=\"Auction Title\">\r\n          <span>{{ list.title }}</span>\r\n        </p>\r\n        <p class=\"card-description no-card\" [innerHTML]=\"list.tagline | sanitizedHtml\"></p>\r\n        <div class=\"no-card\">\r\n          <p class=\"card-loc-info mr-3\" *ngFor=\"let loc of list.locations\">\r\n            <img alt=\"location-icon\" src=\"../assets/images/location-green.svg\" />\r\n            <span class=\"ml-2\">{{ loc.name }}</span>\r\n          </p>\r\n        </div>\r\n        <span class=\"card-badge no-card min-width-auto\">\r\n          {{ list.saleTypeName }}\r\n        </span>\r\n      </div>\r\n      <div class=\"col-auto ml-md-auto card-title-right\">\r\n        <div class=\"for-icons\">\r\n          <span *ngIf=\"checkApproveAuction()\">\r\n            <button class=\"btn btn-colored mr-2\" *ngIf=\"\r\n                list?.isSentForApproval == true &&\r\n                auctionMode == 'pending' &&\r\n                (role == roles.admin || role == roles.auctionAdmin)\r\n              \" role=\"button\" (click)=\"openApproveAuction(templateApprove, list)\">\r\n              Approve\r\n            </button>\r\n          </span>\r\n\r\n          <ng-container *ngIf=\"list.saleType.isDetailPageInHouse\">\r\n            <ng-container *ngIf=\"!list.saleType.isCatalogReadOnly\">\r\n              <span *ngIf=\"['live'].includes(auctionMode)\">\r\n                <button type=\"button\" [routerLink]=\"[list.id, 'bids']\" class=\"btn btn-colored mr-2\">\r\n                  View Bids\r\n                </button>\r\n              </span>\r\n              <span *ngIf=\"['archived', 'recent'].includes(auctionMode)\">\r\n                <button type=\"button\" [routerLink]=\"[list.id, 'result']\" class=\"btn btn-colored mr-2\"\r\n                  *ngIf=\"list.saleType.isCatalogReadOnly\">\r\n                  View Results\r\n                </button>\r\n                <button type=\"button\" [routerLink]=\"[list.id, 'bids']\" class=\"btn btn-colored mr-2\"\r\n                  *ngIf=\"!list.saleType.isCatalogReadOnly\">\r\n                  View Bids\r\n                </button>\r\n              </span>\r\n            </ng-container>\r\n          </ng-container>\r\n\r\n          <a class=\"hover-icon view-auction-icon mr-2 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n            matTooltip=\"View Auction\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n            [routerLink]=\"[list.id]\"></a>\r\n\r\n          <a class=\"hover-icon edit-icon mr-2 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n            matTooltip=\"Edit Auction Details\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n            [routerLink]=\"[list.id, 'edit']\" *ngIf=\"auctionMode !== 'archived'\"></a>\r\n\r\n          <a *ngIf=\"auctionMode == 'pending'\" role=\"button\" (click)=\"openDeleteAuction(template, list)\"\r\n            class=\"hover-icon delete-icon mr-2 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\" matTooltip=\"Delete\"\r\n            matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"></a>\r\n\r\n          <ng-container *ngIf=\"list.saleType.isDetailPageInHouse\">\r\n            <ng-container *ngIf=\"list.saleType.isCatalogUploadAllowed\">\r\n              <a *ngIf=\"!['recent', 'archived'].includes(auctionMode)\"\r\n                class=\"hover-icon configure-icon mr-2 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n                matTooltip=\"Configure Lot Catalog\" [routerLink]=\"[list.id, 'configure-lot']\"\r\n                [queryParams]=\"{ returnTo: currentUrl }\" matTooltipClass=\"custom-tooltip-icon\"\r\n                [matTooltipPosition]=\"'above'\"></a>\r\n            </ng-container>\r\n            <ng-container *ngIf=\"\r\n                list.saleType.registrationFormat ===\r\n                  registrationFormat.tbgRegistration &&\r\n                !list.saleType.isCatalogReadOnly\r\n              \">\r\n              <a *ngIf=\"auctionMode !== 'pending'\" class=\"hover-icon register-icon mr-2 custom-tooltip custom-tooltip2\"\r\n                #tooltip=\"matTooltip\" role=\"button\" (click)=\"goToUsers(list.id)\" matTooltip=\"Registered Users\"\r\n                matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"></a>\r\n            </ng-container>\r\n          </ng-container>\r\n\r\n          <div class=\"custom-dropdown\" *ngIf=\"auctionMode != 'pending'\">\r\n            <button class=\"no-bg-btn hover-icon\" mat-icon-button\r\n              [matMenuTriggerFor]=\"listingMenu\">\r\n              <mat-icon>more_vert</mat-icon>\r\n            </button>\r\n            <mat-menu #listingMenu=\"matMenu\">\r\n              <div class=\"custom-dropdown\">\r\n                <button mat-menu-item *ngIf=\"\r\n                    (auctionMode == 'upcoming' ||\r\n                      auctionMode == 'live' ||\r\n                      auctionMode == 'recent' ||\r\n                      auctionMode == 'archived') &&\r\n                    list.isActive\r\n                  \" role=\"button\" (click)=\"openDeActivateAuction(template2, list, true)\">\r\n                  <span>Deactivate Auction</span>\r\n                </button>\r\n\r\n                <ng-container *ngIf=\"list.saleType.isDetailPageInHouse\">\r\n                  <ng-container *ngIf=\"\r\n                      list.saleType.registrationFormat ===\r\n                        registrationFormat.tbgRegistration &&\r\n                      list.saleType.isCatalogUploadAllowed &&\r\n                      !list.saleType.isCatalogReadOnly\r\n                    \">\r\n                    <button mat-menu-item *ngIf=\"\r\n                        !['recent', 'archived'].includes(auctionMode) &&\r\n                        list.isRegistrationActive == false &&\r\n                        (role == roles.auctionAdmin ||\r\n                          role == roles.admin ||\r\n                          role == roles.customerService)\r\n                      \" role=\"button\" (click)=\"openStatusAuction(startStopTemplate, list.id, 1)\">\r\n                      <span>Start Registration</span>\r\n                    </button>\r\n                    <button mat-menu-item *ngIf=\"\r\n                        !['recent', 'archived'].includes(auctionMode) &&\r\n                        list.isRegistrationActive == true &&\r\n                        (role == roles.auctionAdmin ||\r\n                          role == roles.admin ||\r\n                          role == roles.customerService)\r\n                      \" role=\"button\" (click)=\"openStatusAuction(startStopTemplate, list.id, 0)\">\r\n                      <span>Stop Registration</span>\r\n                    </button>\r\n                    <button mat-menu-item *ngIf=\"\r\n                        !['recent', 'archived'].includes(auctionMode) &&\r\n                        list.isEligibleForCommonRegistration == true &&\r\n                        list.isRegistrationSyncEnabled == false &&\r\n                        list.commonRegistrationEnd == null\r\n                      \" role=\"button\" (click)=\"openApproveAuction(templateCommon, list.id)\">\r\n                      <span>Start Common Registration</span>\r\n                    </button>\r\n                    <button mat-menu-item *ngIf=\"\r\n                        !['recent', 'archived'].includes(auctionMode) &&\r\n                        list.isRegistrationSyncEnabled == true &&\r\n                        list.commonRegistrationEnd == null\r\n                      \" role=\"button\" (click)=\"stopSyncRegistrationWithOtherAuction(list.id)\">\r\n                      <span>Stop Common Registration</span>\r\n                    </button>\r\n                    <button mat-menu-item *ngIf=\"!['recent', 'archived'].includes(auctionMode)\" role=\"button\"\r\n                      (click)=\"goToBidders(list.id)\">\r\n                      <span>View Bidders</span>\r\n                    </button>\r\n\r\n                  </ng-container>\r\n\r\n                  <!-- this is for lot management no matter bidding is happening or not -->\r\n                  <ng-container *ngIf=\"list.saleType.isCatalogUploadAllowed\">\r\n                    <button mat-menu-item [routerLink]=\"[list.id, 'configure-lot']\"\r\n                      [queryParams]=\"{ returnTo: currentUrl, stepActive: 3 }\"\r\n                      *ngIf=\"!['recent', 'archived'].includes(auctionMode)\">\r\n                      <span>Manage Lots</span>\r\n                    </button>\r\n                    <button mat-menu-item *ngIf=\"\r\n                        (auctionMode == 'upcoming' ||\r\n                          auctionMode == 'recent' ||\r\n                          auctionMode == 'archived') &&\r\n                        list.isLotsPublished\r\n                      \" role=\"button\" (click)=\"openDeleteAuction(unpublishTemplate, list)\">\r\n                      <span>Unpublish Lot Catalog</span>\r\n                    </button>\r\n                  </ng-container>\r\n\r\n                  <ng-container *ngIf=\"auctionMode == 'archived'\">\r\n                    <button mat-menu-item role=\"button\" (click)=\"openUnarchiveModal(unArchiveTemplate, list)\">\r\n                      <span>Unarchive Auction</span>\r\n                    </button>\r\n                  </ng-container>\r\n\r\n                  <ng-container *ngIf=\"auctionMode == 'recent'\">\r\n                    <button mat-menu-item role=\"button\" (click)=\"openUnarchiveModal(unArchiveTemplate, list)\">\r\n                      <span>Archive Auction</span>\r\n                    </button>\r\n                  </ng-container>\r\n\r\n                  <ng-container *ngIf=\"auctionMode == 'recent' || auctionMode == 'archived'\">\r\n                    <button mat-menu-item role=\"button\" (click)=\"openUnarchiveModal(featuredPastTemplate, list)\">\r\n                      <span>Change Featured Past</span>\r\n                    </button>\r\n                  </ng-container>\r\n                </ng-container>\r\n\r\n                <button mat-menu-item *ngIf=\"!list.isPublic\" role=\"button\" (click)=\"markItFeatured(list.id)\">\r\n                  <span>Make Featured Auction</span>\r\n                </button>\r\n                <button mat-menu-item role=\"button\" (click)=\"goToReportSection(list.id, auctionMode)\">\r\n                  <span>Reports</span>\r\n                </button>\r\n                <button mat-menu-item *ngIf=\"\r\n                    !['recent', 'archived'].includes(auctionMode) &&\r\n                    list.saleType.canMarkOfferingAsSold == true\r\n                  \" role=\"button\" (click)=\"markAsSold(list.id)\">\r\n                  <span>Mark auction as Sold</span>\r\n                </button>\r\n\r\n                <button mat-menu-item *ngIf=\"\r\n                    list.isPublic &&\r\n                    (auctionMode == 'upcoming' || auctionMode == 'live')\r\n                  \" role=\"button\" (click)=\"markItFeatured(list.id)\">\r\n                  <span>Remove From Featured Auctions</span>\r\n                </button>\r\n\r\n                <ng-container *ngIf=\"\r\n                    list.saleType.registrationFormat ===\r\n                      registrationFormat.thirdPartyRegistration &&\r\n                    list.saleType.isCatalogUploadAllowed &&\r\n                    list.saleType.isCatalogReadOnly\r\n                  \">\r\n                  <button mat-menu-item *ngIf=\"auctionMode == 'recent' || auctionMode == 'archived'\" role=\"button\"\r\n                    (click)=\"importAuctionUserModal(importModal, list)\">\r\n                    <span>Import Auction Results</span>\r\n                  </button>\r\n                  <button mat-menu-item *ngIf=\"auctionMode == 'recent' || auctionMode == 'archived'\"\r\n                    [routerLink]=\"[list.id, 'result']\">\r\n                    <span>View Auction Results</span>\r\n                  </button>\r\n                  <button mat-menu-item *ngIf=\"auctionMode == 'recent' || auctionMode == 'archived'\"\r\n                    [routerLink]=\"[list.id, 'imported-users']\">\r\n                    <span>View Registered Users</span>\r\n                  </button>\r\n                </ng-container>\r\n              </div>\r\n            </mat-menu>\r\n          </div>\r\n\r\n          <ng-container *ngIf=\"\r\n              list.saleType.isDetailPageInHouse &&\r\n              list.saleType.isCatalogUploadAllowed\r\n            \">\r\n            <div class=\"custom-dropdown\" *ngIf=\"auctionMode == 'pending'\">\r\n              <button class=\"no-bg-btn hover-icon\" mat-icon-button [matMenuTriggerFor]=\"listingMenu\">\r\n                <mat-icon>more_vert</mat-icon>\r\n              </button>\r\n              <mat-menu #listingMenu=\"matMenu\">\r\n                <div class=\"custom-dropdown\">\r\n                  <button mat-menu-item [routerLink]=\"[list.id, 'configure-lot']\"\r\n                    [queryParams]=\"{ returnTo: currentUrl, stepActive: 3 }\"\r\n                    *ngIf=\"list.saleType.isCatalogUploadAllowed\">\r\n                    <span>Manage Lots</span>\r\n                  </button>\r\n                  <button mat-menu-item role=\"button\" (click)=\"goToReportSection(list.id, auctionMode)\">\r\n                    <span>Reports</span>\r\n                  </button>\r\n                </div>\r\n              </mat-menu>\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <div class=\"row no-card\">\r\n      <div class=\"col-6 col-sm-auto mt-3\">\r\n        <p class=\"card-info-h\">\r\n          <img alt=\"user\" src=\"../assets/images/user-green.svg\" />\r\n          <span>Sale Manager</span>\r\n        </p>\r\n        <p class=\"card-info-d\">{{ list.saleManagerName }}</p>\r\n      </div>\r\n      <ng-container *ngIf=\"list?.saleType?.isDetailPageInHouse\">\r\n        <div class=\"col-6 col-sm-auto mt-3\">\r\n          <p class=\"card-info-h\">\r\n            <img alt=\"link-icon\" src=\"../assets/images/link.svg\" />\r\n            <span>Public Link</span>\r\n          </p>\r\n          <p class=\"card-info-d\"><a (click)=\"openLink(websiteUrl+list?.auctionCode)\" style=\"cursor: pointer; color: #8d1231;\r\n            text-decoration: underline;\r\n            cursor: pointer;\">Click to view auction detail</a></p>\r\n\r\n          <p class=\"card-info-d\"><a (click)=\"openLotsLink(websiteUrl + list?.auctionCode + '/lots')\" style=\"cursor: pointer; color: #8d1231;\r\n  text-decoration: underline;\r\n  cursor: pointer;\">Click to view lot catalog</a></p>\r\n        </div>\r\n      </ng-container>\r\n      <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"auctionMode == 'live' || auctionMode == 'upcoming'\">\r\n        <p class=\"card-info-h\">\r\n          <img alt=\"registration-icon\" src=\"../assets/images/registrations-grey.svg\" />\r\n          <span>Registrations</span>\r\n        </p>\r\n        <p class=\"card-info-d\" *ngIf=\"list !== undefined && list.isRegistrationActive == true\">\r\n          Enabled\r\n        </p>\r\n        <p class=\"card-info-d\" *ngIf=\"list !== undefined && list.isRegistrationActive == false\">\r\n          Disabled\r\n        </p>\r\n      </div>\r\n      <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"\r\n          auctionMode == 'live' ||\r\n          (auctionMode == 'upcoming' && list !== undefined && list.isPublic)\r\n        \">\r\n        <p class=\"card-info-h\">\r\n          <img alt=\"star-icon\" src=\"../assets/images/star-grey.svg\" />\r\n          <span>Featured</span>\r\n        </p>\r\n        <p class=\"card-info-d\" *ngIf=\"list !== undefined && list.isPublic == true\">\r\n          Yes\r\n        </p>\r\n        <p class=\"card-info-d\" *ngIf=\"list !== undefined && list.isPublic == false\">\r\n          No\r\n        </p>\r\n      </div>\r\n      <div class=\"col-6 col-sm-auto mt-3\">\r\n        <p class=\"card-info-h\">\r\n          <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n          <span>{{\r\n            auctionMode == \"pending\" || auctionMode == \"upcoming\"\r\n            ? \"Starts On\"\r\n            : \"Started On\"\r\n            }}</span>\r\n        </p>\r\n        <p class=\"card-info-d\">\r\n          {{ list.startDateTime | toLocalDateTime: false:list?.timeZone }}\r\n        </p>\r\n      </div>\r\n      <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"\r\n          !checkLotClosing(\r\n            list.closingStartDateTimeUtc,\r\n            list.closingEndDateTimeUtc\r\n          )\r\n        \">\r\n        <p class=\"card-info-h\">\r\n          <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n          <span>Ends On</span>\r\n        </p>\r\n        <p class=\"card-info-d\">\r\n          {{ list.endDateTime | toLocalDateTime: false:list?.timeZone }}\r\n        </p>\r\n      </div>\r\n      <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"\r\n          checkLotClosing(\r\n            list.closingStartDateTimeUtc,\r\n            list.closingEndDateTimeUtc\r\n          ) && auctionMode == 'live'\r\n        \">\r\n        <p class=\"card-info-h\">\r\n          <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n          <span>Lots Closing Now</span>\r\n        </p>\r\n      </div>\r\n      <div class=\"col-6 col-sm-auto mt-3\">\r\n        <p class=\"card-info-h\">\r\n          <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n          <span>Last Updated</span>\r\n        </p>\r\n        <p class=\"card-info-d\">{{ list.updateOn | toLocalDateTime: true }}</p>\r\n      </div>\r\n      <div class=\"col-6 col-sm-auto mt-3\" *ngIf=\"auctionMode == 'live' || auctionMode == 'upcoming'\">\r\n        <p class=\"card-info-h\">\r\n          <img alt=\"calender-icon\" src=\"../assets/images/calender.svg\" />\r\n          <span>Approved By</span>\r\n        </p>\r\n        <p class=\"card-info-d\">{{ list.approvedByName }}</p>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row only-small\">\r\n      <p class=\"for-attr-hdg m-0\" [attr.data-column]=\"\r\n          auctionMode == 'pending' || auctionMode == 'upcoming'\r\n            ? 'Starts On'\r\n            : 'Started On'\r\n        \">\r\n        {{ list.startDateTime | date: \"short\" }}\r\n      </p>\r\n\r\n      <p class=\"for-attr-hdg yellow-bg m-0\" data-column=\"Sale Type\">\r\n        {{ list.saleTypeName }}\r\n      </p>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\" (page)=\"onPageChange($event)\"\r\n  *ngIf=\"showView\">\r\n</app-paginator>\r\n\r\n<ng-template #startStopTemplate>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body my-activate\">\r\n    <img alt=\"deactivate-icon\" class=\"act-icon\" src=\"../assets/images/deactivate_user.svg\" />\r\n    <p class=\"des mb-4\"></p>\r\n    <p class=\"des\" *ngIf=\"startStop == 0\">\r\n      Are you sure you want to stop registration for this Auction?\r\n    </p>\r\n    <p class=\"des\" *ngIf=\"startStop == 1\">\r\n      Are you sure you want to start registration for this Auction?\r\n    </p>\r\n    <button *ngIf=\"startStop == 0\" [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\"\r\n      (click)=\"auctionStopRegistration(registrationId)\" type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Stop\r\n    </button>\r\n    <button *ngIf=\"startStop == 1\" [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\"\r\n      (click)=\"auctionStartRegistration(registrationId)\" type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Start\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- delete auction -->\r\n<ng-template #template>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body my-activate\">\r\n    <img class=\"act-icon\" alt=\"deactivate\" src=\"../assets/images/deactivate_user.svg\" />\r\n    <h1 class=\"modal-inner-hdg\">Delete Auction</h1>\r\n    <p class=\"des mb-4\"></p>\r\n    <p class=\"des\">Are you sure you want to delete auction?</p>\r\n    <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"deleteAuction(auctionModel)\"\r\n      type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Yes, Delete\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n\r\n<!-- deactivate auction -->\r\n<ng-template #template2>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body my-activate\" *ngIf=\"auctionStatus == true\">\r\n    <img alt=\"deactivate-icon\" class=\"act-icon\" src=\"../assets/images/deactivate_user.svg\" />\r\n    <h1 class=\"modal-inner-hdg\">Deactivate Auction</h1>\r\n    <p class=\"des\">\r\n      <ng-container *ngIf=\"auctionModel.saleType.isDetailPageInHouse\">\r\n        <ng-container *ngIf=\"!auctionModel.saleType.isCatalogReadOnly\">\r\n          You are de-activating an auction that may have bids in place.\r\n          De-activating the auction will delete the existing bids and any lots\r\n          that are sold will no longer be valid.\r\n        </ng-container>\r\n        Are you sure you want to de-activate this Auction?\r\n      </ng-container>\r\n    </p>\r\n    <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n      No\r\n    </button>\r\n    <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"deActivateAuction(auctionModel)\"\r\n      type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Yes, Deactivate\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #unpublishTemplate>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body my-activate\">\r\n    <h1 class=\"modal-inner-hdg\">Unpublish Lot Catalog</h1>\r\n    <p class=\"des\">\r\n      This will unpublish the lot catalog from the auction on front-end site.\r\n      Are you sure you want to proceed with this?\r\n    </p>\r\n    <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n      No\r\n    </button>\r\n    <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"unpublishCatalog()\" type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Yes, Unpublish\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #templateApprove>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Approve Auction</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <form [formGroup]=\"approveForm\">\r\n      <p class=\"sm-des\">\r\n        As soon as this auction is approved, it will start appearing on the\r\n        <br class=\"d-none d-md-block\" />\r\n        front end website.\r\n      </p>\r\n\r\n      <ng-container *ngIf=\"currentSelectedAuction.saleType.isDetailPageInHouse\">\r\n        <ng-container *ngIf=\"!currentSelectedAuction.saleType.isCatalogReadOnly\">\r\n          <div class=\"form-group form-check slide-check pl-0 mb-1 pb-3\"\r\n            *ngIf=\"currentSelectedAuction.saleType.displaySection\">\r\n            <p class=\"m-0 pb-1\">Enable Registration for this auction</p>\r\n            <label class=\"switch-slider\">\r\n              <input type=\"checkbox\" class=\"form-check-input1 slide-check-input\" id=\"enableRegistration\"\r\n                formControlName=\"isRegistrationActive\" checked />\r\n              <span class=\"slider round\"></span>\r\n            </label>\r\n          </div>\r\n        </ng-container>\r\n      </ng-container>\r\n\r\n      <div class=\"form-group form-check slide-check pl-0 mb-1 pb-3\">\r\n        <p class=\"m-0 pb-1\">\r\n          Featured (If enabled auction will appear on homepage)\r\n        </p>\r\n        <label class=\"switch-slider\">\r\n          <input type=\"checkbox\" class=\"form-check-input1 slide-check-input\" id=\"featured\" formControlName=\"isPublic\"\r\n            checked />\r\n          <span class=\"slider round\"></span>\r\n        </label>\r\n      </div>\r\n\r\n      <ng-container *ngIf=\"currentSelectedAuction.saleType.isDetailPageInHouse\">\r\n        <ng-container *ngIf=\"!currentSelectedAuction.saleType.isCatalogReadOnly\">\r\n          <div class=\"form-group m-0 pb-1\">\r\n            <div class=\"mat-field-width\">\r\n              <div class=\"custom-select-option select-with-label input-with-tooltip\">\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Select Auction For Common Registration\r\n                    (Optional)</mat-label>\r\n                  <mat-select formControlName=\"registrationSyncWithAuctionId\">\r\n                    <mat-option value=\"0\" selected>None</mat-option>\r\n                    <mat-option *ngFor=\"let auction of upcomingAuctions\" [value]=\"auction.value\">\r\n                      {{ auction.text }}\r\n                    </mat-option>\r\n                  </mat-select>\r\n                </mat-form-field>\r\n                <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"Select an Auction to link to this sale.\"\r\n                  [matTooltipPosition]=\"'above'\">\r\n                  <img alt=\"info-icon\" src=\"../assets/images/info.svg\" />\r\n                </span>\r\n              </div>\r\n            </div>\r\n            <p class=\"note-text\">\r\n              Please note common registration auction once selected cannot be\r\n              changed.\r\n            </p>\r\n          </div>\r\n        </ng-container>\r\n      </ng-container>\r\n\r\n      <div class=\"image-popup-wrap pt-4 mt-2 approve-auc-btns-mob\">\r\n        <button class=\"btn btn-white-border mr-2 approve-cancel\" role=\"button\" (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n        <button [disabled]=\"submitLoader\" type=\"submit\" class=\"btn btn-colored approve-auction\" role=\"button\"\r\n          (click)=\"approveAuction()\">\r\n          <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n          Approve Auction\r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #templateCommon>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Start Common Registration</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <form [formGroup]=\"approveCommonForm\">\r\n      <div class=\"form-group m-0 pb-1\">\r\n        <div class=\"mat-field-width\">\r\n          <div class=\"custom-select-option select-with-label input-with-tooltip\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Select Auction For Common Registration</mat-label>\r\n              <mat-select #selectUpcomingAuction (ngModelChange)=\"\r\n                  upcomingAuctionChange(selectUpcomingAuction.value)\r\n                \" formControlName=\"syncWithAuctionId\" *ngIf=\"upcomingAuctions != undefined\">\r\n                <mat-option value=\"0\" selected>None</mat-option>\r\n                <mat-option *ngFor=\"let auction of upcomingAuctions\" [value]=\"auction.value\">\r\n                  {{ auction.text }}\r\n                </mat-option>\r\n              </mat-select>\r\n            </mat-form-field>\r\n            <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"Select an Auction to link to this sale.\"\r\n              [matTooltipPosition]=\"'above'\">\r\n              <img alt=\"info-icon\" src=\"../assets/images/info.svg\" />\r\n            </span>\r\n          </div>\r\n        </div>\r\n        <p class=\"note-text\">\r\n          Please note common registration auction once selected cannot be\r\n          changed.\r\n        </p>\r\n      </div>\r\n      <div class=\"image-popup-wrap pt-4 mt-2\">\r\n        <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-colored\" [disabled]=\"\r\n            submitLoader ||\r\n            approveCommonForm.invalid ||\r\n            disableCommonRegistrationButton\r\n          \" role=\"button\" (click)=\"syncRegistrationWithOtherAuction()\">\r\n          <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n          Start Common Auction\r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #importAuction>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Import Auction Results</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"importResultWrap importFailed\">\r\n      <img class=\"topIcon\" alt=\"icon\" src=\"../assets/images/cancel.svg\" />\r\n      <h3 class=\"hdg\">Import Failed</h3>\r\n      <p class=\"des\">\r\n        To investigate the issues please download the log file, fix errors &\r\n        upload again.\r\n      </p>\r\n      <button class=\"btn btn-colored importBtn\">\r\n        <img alt=\"icon\" src=\"../assets/images/downloadCloud.svg\" /> Download Log\r\n        File\r\n      </button>\r\n    </div>\r\n\r\n    <div class=\"importResultWrap importSuccess\">\r\n      <img class=\"topIcon\" alt=\"icon\" src=\"../assets/images/auction-success.svg\" />\r\n      <h3 class=\"hdg\">Import Successful</h3>\r\n      <p class=\"des\">210 Users | 100 Winning Lots Imported</p>\r\n      <button class=\"btn btn-colored importBtn\">\r\n        Take Me to Auctions Page\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #importAuctionUser>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Import Auction Results</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"importAuctionUserHeader\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-8\">\r\n          <h3>Registered Users</h3>\r\n          <p>Import registered users to map them with winning lots</p>\r\n        </div>\r\n        <div class=\"col-md-4 text-md-right\">\r\n          <a class=\"btn btn-text px-0\">\r\n            <img alt=\"\" src=\"../assets/images/icDownload.svg\" />\r\n            <span>Download Template</span>\r\n          </a>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"importUpload\">\r\n      <h4>Upload File</h4>\r\n      <div class=\"importUploadBtn\">\r\n        <button class=\"btn btn-colored\" role=\"button\" (click)=\"browserUser.click()\">\r\n          <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n            <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n              <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\" fill=\"#F7F7F7\">\r\n                <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n                  <path\r\n                    d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n                    id=\"Combined-shape-1226\"></path>\r\n                </g>\r\n              </g>\r\n            </g>\r\n          </svg>\r\n          Browse\r\n        </button>\r\n\r\n        <span class=\"browseFileName\">\r\n          <span class=\"mr-1\">auction_registered_user.doc</span>\r\n          <img alt=\"\" src=\"../assets/images/cross.svg\" />\r\n        </span>\r\n      </div>\r\n\r\n      <div>\r\n        <input class=\"btn btn-colored browse-btn d-none\" type=\"file\" text=\"Browse\" #browserUser />\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"importAuctionUserHeader\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-8\">\r\n          <h3>Winning Lot Data</h3>\r\n          <p>Import data for winning lots</p>\r\n        </div>\r\n        <div class=\"col-md-4 text-md-right\">\r\n          <a class=\"btn btn-text px-0\">\r\n            <img alt=\"\" src=\"../assets/images/icDownload.svg\" />\r\n            <span>Download Template</span>\r\n          </a>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"importUpload border-0\">\r\n      <h4>Upload File</h4>\r\n      <div class=\"importUploadBtn\">\r\n        <button class=\"btn btn-colored\" role=\"button\" (click)=\"winning.click()\">\r\n          <svg width=\"16px\" height=\"15px\" viewBox=\"0 0 16 15\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\"\r\n            xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n            <g id=\"Page-1\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n              <g id=\"Create_New_Auction_Display_Details\" transform=\"translate(-608.000000, -975.000000)\" fill=\"#F7F7F7\">\r\n                <g id=\"Group-4\" transform=\"translate(607.000000, 974.000000)\">\r\n                  <path\r\n                    d=\"M16.44363,10.07215 C16.737642,10.07215 16.975242,10.30609 16.975242,10.59568 L16.975242,10.59568 L16.975242,14.7847 C16.975242,15.073285 16.737642,15.309085 16.44363,15.309085 L16.44363,15.309085 L1.555992,15.309085 C1.262448,15.309085 1.024452,15.07522 1.024452,14.7847 L1.024452,14.7847 L1.024452,10.59568 C1.024452,10.30609 1.262448,10.07215 1.555992,10.07215 C1.849536,10.07215 2.08809,10.30609 2.08809,10.59568 L2.08809,10.59568 L2.08809,14.26117 L15.91209,14.26117 L15.91209,10.59568 C15.91209,10.30609 16.14969,10.07215 16.44363,10.07215 Z M8.999802,1.69066 C9.13806,1.69066 9.275364,1.74205 9.380502,1.84603 L9.380502,1.84603 L12.568896,5.508175 C12.778128,5.71432 12.778128,6.04843 12.568896,6.25465 C12.35853,6.461185 12.018798,6.461185 11.809566,6.25465 L11.809566,6.25465 L9.53136,3.637615 L9.53136,11.642665 C9.53136,11.932255 9.293346,12.166135 8.999802,12.166135 C8.706276,12.166135 8.468262,11.932255 8.468262,11.642665 L8.468262,11.642665 L8.468262,3.637615 L6.190128,6.25465 C5.980806,6.46219 5.64156,6.46219 5.432238,6.25465 C5.222916,6.049495 5.222916,5.71432 5.432238,5.508175 L5.432238,5.508175 L8.619192,1.84603 C8.72433,1.74205 8.861562,1.69066 8.999802,1.69066 Z\"\r\n                    id=\"Combined-shape-1226\"></path>\r\n                </g>\r\n              </g>\r\n            </g>\r\n          </svg>\r\n          Browse\r\n        </button>\r\n\r\n        <span class=\"browseFileName\">\r\n          <span class=\"mr-1\">winning_lot_data.doc</span>\r\n          <img alt=\"\" src=\"../assets/images/cross.svg\" />\r\n        </span>\r\n      </div>\r\n\r\n      <div>\r\n        <input class=\"btn btn-colored browse-btn d-none\" type=\"file\" text=\"Browse\" #winning />\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"footerBtns\">\r\n      <button class=\"btn btn-white-border mr-2\">Cancel</button>\r\n      <button class=\"btn btn-colored\">Import</button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #importModal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Import Auction Results</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <app-import-result [auctionInfo]=\"auctionModel\">\r\n      <button class=\"btn btn-colored importBtn\" role=\"button\" (click)=\"closeModal()\" takeToAuctionButton>\r\n        Take Me to Auctions Page\r\n      </button>\r\n      <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\" cancelButton>\r\n        Cancel\r\n      </button>\r\n    </app-import-result>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #unArchiveTemplate>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body my-activate\">\r\n    <h1 class=\"modal-inner-hdg\">\r\n      {{ auctionModel.isArchived ? \"Unarchive\" : \"Archive\" }} Auction\r\n    </h1>\r\n    <p class=\"des\">\r\n      This will {{ auctionModel.isArchived ? \"unarchive\" : \"archive\" }} the\r\n      auction. Are you sure you want to proceed with this?\r\n    </p>\r\n    <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n      No\r\n    </button>\r\n    <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"unarchiveAuction()\" type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Yes, {{ auctionModel.isArchived ? \"Unarchive\" : \"Archive\" }}\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #featuredPastTemplate>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body my-activate\">\r\n    <h1 class=\"modal-inner-hdg\">\r\n      {{ auctionModel.featuredItemHeader == 'featuredpast' ? \"Remove as\" : \"Set as\" }} Featured Past Auction\r\n    </h1>\r\n    <p class=\"des\">\r\n      This will {{ auctionModel.featuredItemHeader == 'featuredpast' ? \"remove\" : \"set\" }} the\r\n      auction as a featured past auction. Are you sure you want to proceed with this?\r\n    </p>\r\n    <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n      No\r\n    </button>\r\n    <button [disabled]=\"submitLoader\" class=\"btn btn-colored\" role=\"button\" (click)=\"updateFeaturedPast()\" type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Yes\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport {\r\n  FormGroup,\r\n  Validators,\r\n  FormControl,\r\n  AbstractControl,\r\n  ValidatorFn,\r\n} from '@angular/forms';\r\nimport {\r\n  AuctionService,\r\n  CurrencyService,\r\n  CategoryService,\r\n  SaleTypeService,\r\n  TimezoneService,\r\n  LoaderService,\r\n} from '../../../services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport constants from '../../../utility/constants';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { CommonDropdown, SaleType, Auction } from '../../../models';\r\nimport { AppValidators } from '../../../core/validators/app-validators';\r\nimport { GetAuctionStep1 } from '../../../models/auctionStep1';\r\nimport { Utils } from '../../../utility/utils';\r\nimport messages from '../../../utility/messages';\r\nimport { AuctionTimeService } from '../../../services/auction-time.service';\r\nimport { ImageValidators } from '../../../core/validators/image-validators';\r\nimport { BidIncrementService } from '../../bid-increment/services/bid-increment.service';\r\nimport {  Subscription } from 'rxjs';\r\nimport { Console } from 'console';\r\n@Component({\r\n  selector: 'app-add-auction-step1',\r\n  templateUrl: './add-auction-step1.component.html',\r\n  styleUrls: ['./add-auction-step1.component.css'],\r\n  providers: [BidIncrementService],\r\n})\r\nexport class AddAuctionStep1Component implements OnInit {\r\n  //fieldLengths\r\n  @Input('isEditMode') editMode: boolean;\r\n  @Input('auctionId') auctionId: number;\r\n  @Output('goToStep') step: EventEmitter<number> = new EventEmitter();\r\n  @Output('newAuctionId') newAuctionId: EventEmitter<number> =\r\n    new EventEmitter();\r\n  @Output('newAuctionCode') newAuctionCode: EventEmitter<string> =\r\n    new EventEmitter();\r\n  @Output('getAuctionStatus') auctionStatus: EventEmitter<number> =\r\n    new EventEmitter();\r\n  @Output() otherStepsNeeded: EventEmitter<boolean> = new EventEmitter();\r\n\r\n  fieldMaxLengthShort = constants.common.validations.maxLength30;\r\n  fieldMaxLength = constants.common.validations.maxLength50;\r\n  fieldMaxLength100 = constants.common.validations.maxLength100;\r\n  fieldMaxLengthMedium = constants.common.validations.maxLength200;\r\n  fieldMaxLengthLonger = constants.common.validations.maxLength1000;\r\n  auctionStatuses = constants.common.auctionStatus;\r\n  regFormats = constants.common.saletypeRegistrationFormat;\r\n  currency = 1;\r\n  returnUrl: string = '../'; // one step back\r\n  disableStartTime: boolean = false;\r\n  minDate: Date;\r\n  stepActive = 1;\r\n  showView: boolean = true;\r\n  loading: boolean = false;\r\n  createAuctionForm1: FormGroup;\r\n  redirectLinkForm: FormGroup;\r\n  saleManagers: Array<CommonDropdown>;\r\n  currencies: Array<CommonDropdown>;\r\n  categories: Array<CommonDropdown>;\r\n  saletypes: Array<CommonDropdown>;\r\n  timezones: Array<CommonDropdown>;\r\n  bidIncrementTables: Array<CommonDropdown>;\r\n  currentAuctionStatus: any;\r\n  taglineText: string = null;\r\n  isEditorCharLimitReached: boolean;\r\n\r\n  disableEndTime: boolean = false;\r\n\r\n  // check on submit button click\r\n  isSubmitted: boolean = false;\r\n\r\n  // selected saletype hint text\r\n  saletypeHint: string;\r\n\r\n  isItRedirectLink: boolean = false;\r\n  showStaggerMinAndLotCloses: boolean = true;\r\n\r\n  isBiddingAtOurPlatform: boolean = true;\r\n\r\n  // settings for iamges\r\n  coverPhotoSize: string = constants.admin.uploadSetting.coverPhotoMaxSize;\r\n  coverPhotoFormat: string = constants.admin.uploadSetting.coverPhotoType;\r\n  clientLogoSize: string = constants.admin.uploadSetting.clientLogoMaxSize;\r\n  clientLogoFormat: string = constants.admin.uploadSetting.clientLogoType;\r\n\r\n  // store image's URL\r\n  coverPhotoString: string;\r\n  clientLogoString: string;\r\n  private subscriptions: Array<Subscription> = []; \r\n  disableStaggerTime: boolean;\r\n\r\n  constructor(\r\n    private currencyService: CurrencyService,\r\n    private categoryService: CategoryService,\r\n    private saletypeService: SaleTypeService,\r\n    private auctionService: AuctionService,\r\n    private timezoneService: TimezoneService,\r\n    private toastr: ToastrService,\r\n    private router: Router,\r\n    private loaderService: LoaderService,\r\n    private auctionTimeService: AuctionTimeService,\r\n    private bidIncService: BidIncrementService\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.initiateForm1();\r\n    this.getEverthingForStep1();\r\n  }\r\n\r\n  private getEverthingForStep1() {\r\n    this.getSaleManagers();\r\n    this.getCurrencies();\r\n    this.getCategories();\r\n    this.getSaleTypes();\r\n    this.getTimezones();\r\n    if (this.auctionId > 0) {\r\n      this.returnUrl = '../../';\r\n      this.bindDataToForm1();\r\n    } else {\r\n      this.getIncrementTables();\r\n    }\r\n    \r\n  }\r\n\r\n  private getSaleManagers() {\r\n    const salesmanagers = this.auctionService.getSaleManagers().subscribe((res) => {\r\n      this.saleManagers = res;\r\n    });\r\n    this.subscriptions.push(salesmanagers);\r\n  }\r\n\r\n  private getCurrencies() {\r\n    const currenciess = this.currencyService.getCurrency().subscribe((res) => {\r\n      this.currencies = res;\r\n    });\r\n    this.subscriptions.push(currenciess);\r\n  }\r\n\r\n  private getTimezones() {\r\n    const timezoness = this.timezoneService.getTimezone().subscribe((res) => {\r\n      this.timezones = res;\r\n    });\r\n    this.subscriptions.push(timezoness);\r\n  }\r\n\r\n  private getCategories() {\r\n    const cats = this.categoryService.categoryForDropDown().subscribe((res) => {\r\n      this.categories = res;\r\n    });\r\n    this.subscriptions.push(cats);\r\n  }\r\n\r\n  private getSaleTypes() {\r\n    const stypes = this.saletypeService.getSaletypeForDropDown().subscribe((res) => {\r\n      this.saletypes = res;\r\n    });\r\n    this.subscriptions.push(stypes);\r\n  }\r\n\r\n  private getIncrementTables(status: number = 0) {\r\n    this.bidIncService\r\n      .getIncrementsInDD(status)\r\n      .toPromise()\r\n      .then((res) => {\r\n        this.bidIncrementTables = res;\r\n        if (!this.auctionId) {\r\n          this.createAuctionForm1.patchValue({\r\n            bidIncrementTableId: res[0].value,\r\n          });\r\n        }\r\n      });\r\n  }\r\n\r\n  getSaletypeData() {\r\n    let saleTypeId: number = this.createAuctionForm1.value.saletype;\r\n    this.loaderService.showLoader(true);\r\n    this.saletypeService\r\n      .getSaleType(saleTypeId)\r\n      .toPromise()\r\n      .then((res) => {\r\n        this.loaderService.showLoader(false);\r\n        this.changesAccordingToSaletype(res);\r\n      });\r\n  }\r\n\r\nremoveValidation(event)\r\n{\r\n  let controls = this.createAuctionForm1.controls;\r\n  let events = event.target.checked ;\r\n  \r\n if(!events)\r\n {\r\n  this.createAuctionForm1.get('lotClosesIn').disable()\r\n  this.createAuctionForm1.get('minutesToExtend').disable()\r\n  this.addRemoveValidatorAndValue(controls.lotClosesIn, false);\r\n  this.createAuctionForm1.get('lotClosesIn').updateValueAndValidity(); \r\n  this.addRemoveValidatorAndValue(controls.minutesToExtend, false);\r\n  this.createAuctionForm1.get('minutesToExtend').updateValueAndValidity(); \r\n }\r\n else{\r\n  this.createAuctionForm1.get('lotClosesIn').enable()\r\n  this.createAuctionForm1.get('minutesToExtend').enable()\r\n  this.addRemoveValidatorAndValue(\r\n    controls.lotClosesIn,\r\n    true,\r\n    constants.admin.initialValues.lotClosesIn,\r\n    [\r\n      Validators.required,\r\n      AppValidators.noWhitespace,\r\n      AppValidators.onlyNumeric,\r\n      Validators.maxLength(3),\r\n    ]\r\n  );\r\n  this.addRemoveValidatorAndValue(\r\n    controls.minutesToExtend,\r\n    true,    \r\n    constants.admin.initialValues.extendMinutes,\r\n    [\r\n      Validators.required,\r\n      AppValidators.noWhitespace,\r\n      AppValidators.onlyNumeric,\r\n      Validators.maxLength(2),\r\n    ]\r\n  );\r\n }\r\n}\r\n\r\n  private changesAccordingToSaletype(saletype: SaleType) {\r\n    let controls = this.createAuctionForm1.controls;\r\n\r\n    this.isDetailPageInHouse(saletype.isDetailPageInHouse);\r\n\r\n    if (\r\n      saletype.isDetailPageInHouse &&\r\n      saletype.registrationFormat === this.regFormats.tbgRegistration\r\n    ) {\r\n      this.showStaggerMinAndLotCloses = true;\r\n      this.isBiddingAtOurPlatform = true;\r\n      this.addRemoveValidatorAndValue(\r\n        controls.bidIncrementTableId,\r\n        true,\r\n        controls.bidIncrementTableId.value,\r\n        [Validators.required]\r\n      );\r\n      this.addRemoveValidatorAndValue(\r\n        controls.staggerCompletionTime,\r\n        true,\r\n        controls.staggerCompletionTime.value,\r\n        null\r\n      );\r\n      this.addRemoveValidatorAndValue(\r\n        controls.lotClosesIn,\r\n        true,\r\n        controls.lotClosesIn.value,\r\n        [\r\n          Validators.required,\r\n          AppValidators.noWhitespace,\r\n          AppValidators.onlyNumeric,\r\n          Validators.maxLength(3),\r\n        ]\r\n      );\r\n      this.addRemoveValidatorAndValue(\r\n        controls.minutesToExtend,\r\n        true,\r\n        controls.minutesToExtend.value,\r\n        [\r\n          Validators.required,\r\n          AppValidators.noWhitespace,\r\n          AppValidators.onlyNumeric,\r\n          Validators.maxLength(2),\r\n        ]\r\n      );\r\n    } else {\r\n      this.showStaggerMinAndLotCloses = false;\r\n      this.isBiddingAtOurPlatform = false;\r\n      this.addRemoveValidatorAndValue(\r\n        controls.bidIncrementTableId,\r\n        false,\r\n        null\r\n      );\r\n      this.addRemoveValidatorAndValue(controls.staggerCompletionTime, false);\r\n      this.addRemoveValidatorAndValue(controls.lotClosesIn, false);\r\n      this.addRemoveValidatorAndValue(controls.minutesToExtend, false);\r\n    }\r\n  }\r\n\r\n  private initiateForm1() {\r\n    this.createAuctionForm1 = new FormGroup(\r\n      {\r\n        title: new FormControl(null, [\r\n          AppValidators.noWhitespace,\r\n          Validators.required,\r\n          Validators.maxLength(this.fieldMaxLength100),\r\n        ]),\r\n        byOrderOf: new FormControl(null, [\r\n          AppValidators.noWhitespace,\r\n          Validators.maxLength(this.fieldMaxLengthMedium),\r\n        ]),\r\n        tagline: new FormControl(null, [Validators.required]),\r\n        auctionCode: new FormControl(\r\n          null,\r\n          [\r\n            Validators.required,\r\n            Validators.minLength(6),\r\n            Validators.maxLength(10),\r\n            AppValidators.noWhitespace,\r\n          ],\r\n          this.checkAuctionCode.bind(this)\r\n        ),\r\n        saletype: new FormControl(null, Validators.required),\r\n        bidIncrementTableId: new FormControl(null, Validators.required),\r\n        auctionCategory: new FormControl(null, Validators.required),\r\n        saleManager: new FormControl(null, Validators.required),\r\n        currency: new FormControl(this.currency, Validators.required),\r\n        startDate: new FormControl(null, Validators.required),\r\n        startTime: new FormControl(\r\n          constants.admin.initialValues.defaultStartTime,\r\n          Validators.required\r\n        ),\r\n        endDate: new FormControl(null, Validators.required),\r\n        endTime: new FormControl(\r\n          constants.admin.initialValues.defaultEndTime,\r\n          Validators.required\r\n        ),\r\n        timezone: new FormControl(null, Validators.required),\r\n        staggerCompletionTime: new FormControl(true),\r\n        lotClosesIn: new FormControl(\r\n          constants.admin.initialValues.lotClosesIn,\r\n          [\r\n            Validators.required,\r\n            AppValidators.noWhitespace,\r\n            AppValidators.onlyNumeric,\r\n            Validators.maxLength(3),\r\n          ]\r\n        ),\r\n        minutesToExtend: new FormControl(\r\n          constants.admin.initialValues.extendMinutes,\r\n          [\r\n            Validators.required,\r\n            AppValidators.noWhitespace,\r\n            AppValidators.onlyNumeric,\r\n            Validators.maxLength(2),\r\n          ]\r\n        ),\r\n        millisecondsAfterClose: new FormControl(\r\n          constants.admin.initialValues.millisecondsAfterClose,\r\n          [\r\n            AppValidators.noWhitespace,\r\n            AppValidators.onlyNumeric,\r\n          ]\r\n        ),\r\n        redirectLink: new FormControl(null),\r\n        coverPhoto: new FormControl(null),\r\n        clientLogo: new FormControl(null),\r\n      },\r\n      this.checkEndDate.bind(this)\r\n    );\r\n  }\r\n\r\n  private isDetailPageInHouse(isDetailPageInHouse: boolean) {\r\n    let controls = this.createAuctionForm1.controls;\r\n    if (isDetailPageInHouse) {\r\n      this.isItRedirectLink = false;\r\n      this.otherStepsNeeded.emit(true);\r\n      this.addRemoveValidatorAndValue(controls.redirectLink, false);\r\n      this.addRemoveValidatorAndValue(controls.coverPhoto, false);\r\n      this.addRemoveValidatorAndValue(controls.clientLogo, false);\r\n      this.clientLogoString = null;\r\n      this.coverPhotoString = null;\r\n    } else {\r\n      this.isItRedirectLink = true;\r\n      this.otherStepsNeeded.emit(false);\r\n      this.addRemoveValidatorAndValue(\r\n        controls.redirectLink,\r\n        true,\r\n        controls.redirectLink.value,\r\n        [Validators.required, AppValidators.checkWebAddress]\r\n      );\r\n      this.addRemoveValidatorAndValue(\r\n        controls.coverPhoto,\r\n        true,\r\n        controls.coverPhoto.value,\r\n        [\r\n          ImageValidators.sizeCheck(this.coverPhotoSize),\r\n          ImageValidators.imageFormat(this.coverPhotoFormat),\r\n          Validators.required,\r\n        ]\r\n      );\r\n      this.addRemoveValidatorAndValue(\r\n        controls.clientLogo,\r\n        true,\r\n        controls.clientLogo.value,\r\n        [\r\n          ImageValidators.sizeCheck(this.clientLogoSize),\r\n          ImageValidators.imageFormat(this.clientLogoFormat),\r\n          Validators.required,\r\n        ]\r\n      );\r\n    }\r\n  }\r\n\r\n  private addRemoveValidatorAndValue(\r\n    control: AbstractControl,\r\n    isItAdd: boolean,\r\n    value?: any,\r\n    validArr?: ValidatorFn | ValidatorFn[]\r\n  ) {\r\n    if (isItAdd) {\r\n      if (validArr) control.setValidators(validArr);\r\n      control.patchValue(value);\r\n    } else {\r\n      control.clearValidators();\r\n      control.patchValue(null);\r\n    }\r\n  }\r\n\r\n  private bindDataToForm1() {\r\n    this.loaderService.showLoader(true);\r\n    this.showView = false;\r\n    const getauction = this.auctionService.getAuctionStep1(this.auctionId).subscribe(\r\n      (res: GetAuctionStep1) => {\r\n        this.bindingForm(res);\r\n        this.loaderService.showLoader(false);\r\n        this.showView = true;\r\n      },\r\n      () => {\r\n        this.gotoAuctionListing();\r\n      }\r\n    );\r\n    this.subscriptions.push(getauction);\r\n  }\r\n\r\n  bindingForm(data: GetAuctionStep1) {\r\n    this.changesAccordingToSaletype(data.saleType);\r\n\r\n    this.getIncrementTables(data.auctionStatus);\r\n\r\n    let sDate = data.startDate.split('-');\r\n    let eDate = data.endDate.split('-');\r\n    let start = new Date(\r\n      parseInt(sDate[2]),\r\n      parseInt(sDate[0]) - 1,\r\n      parseInt(sDate[1])\r\n    );\r\n    let end = new Date(\r\n      parseInt(eDate[2]),\r\n      parseInt(eDate[0]) - 1,\r\n      parseInt(eDate[1])\r\n    );\r\n\r\n    this.taglineText = data.tagline;\r\n    this.clientLogoString = data.clientLogo;\r\n    this.coverPhotoString = data.coverPhoto;\r\n\r\n    this.currentAuctionStatus = data.auctionStatus;\r\n\r\n    this.sendAuctionStatus(data.auctionStatus);\r\n    this.sendNewlyCreatedAuctionCode(data.auctionCode);\r\n\r\n    this.createAuctionForm1.patchValue({\r\n      title: data.title,\r\n      byOrderOf: data.byOrderOf,\r\n      auctionCode: data.auctionCode,\r\n      saletype: data.saleTypeId,\r\n      auctionCategory: data.categoryId,\r\n      saleManager: data.saleManagerId,\r\n      currency: data.currencyId,\r\n      startDate: start,\r\n      startTime: data.startTime,\r\n      endDate: end,\r\n      endTime: data.endTime,\r\n      tagline: data.tagline,\r\n      timezone: data.timeZoneId,\r\n      bidIncrementTableId: data.bidIncrementId,\r\n      staggerCompletionTime: data.isStaggerAuctionEnable,\r\n      lotClosesIn: data.staggerLotCloseTime,\r\n      minutesToExtend: data.extendMinutes,\r\n      millisecondsAfterClose: this.convertMillisecondsToHours(data.millisecondsAfterClose),\r\n      redirectLink: data.detailPageLinkUrl,\r\n      coverPhoto: data.coverPhoto,\r\n      clientLogo: data.clientLogo,\r\n    });\r\n\r\n    if(!data.isStaggerAuctionEnable)\r\n    {\r\n      this.createAuctionForm1.get('lotClosesIn').disable()\r\n      this.createAuctionForm1.get('minutesToExtend').disable()\r\n     \r\n    }\r\n    else{\r\n      this.createAuctionForm1.get('lotClosesIn').enable()\r\n      this.createAuctionForm1.get('minutesToExtend').enable()\r\n    }\r\n\r\n    switch (data.auctionStatus) {\r\n      case this.auctionStatuses.live:\r\n        this.changesForLiveAuction(data);\r\n        break;\r\n      case this.auctionStatuses.past:\r\n        this.changesForPastAuction(data);\r\n        break;\r\n    }\r\n    \r\n  }\r\n\r\n  convertHoursToMilliseconds(hours: any) {\r\n    // Calculate the equivalent milliseconds\r\n    const milliseconds = Math.round(hours * 60 * 60 * 1000);\r\n    return milliseconds;\r\n  }\r\n\r\n  convertMillisecondsToHours(millisceonds: any) {\r\n    const hours = millisceonds / 3600000;\r\n    return hours;\r\n  }\r\n\r\n  uploadCoverPhoto(files: FileList) {\r\n    let reader = new FileReader();\r\n    this.coverPhotoString = null;\r\n    let control = this.createAuctionForm1.controls.coverPhoto;\r\n    if (files.length > 0) {\r\n      this.createAuctionForm1.patchValue({ coverPhoto: files[0] });\r\n      control.markAsTouched();\r\n      control.markAsDirty();\r\n      control.updateValueAndValidity();\r\n      if (control.valid) {\r\n        reader.readAsDataURL(files[0]);\r\n        reader.onload = () => {\r\n          this.coverPhotoString = reader.result as string;\r\n        };\r\n      } else {\r\n        this.coverPhotoString = null;\r\n        control.markAsTouched();\r\n      }\r\n    }\r\n  }\r\n\r\n  uploadClientLogo(files: FileList) {\r\n    let reader = new FileReader();\r\n    this.clientLogoString = null;\r\n    let control = this.createAuctionForm1.controls.clientLogo;\r\n    if (files.length > 0) {\r\n      this.createAuctionForm1.patchValue({ clientLogo: files[0] });\r\n      control.markAsTouched();\r\n      control.markAsDirty();\r\n      control.updateValueAndValidity();\r\n      if (control.valid) {\r\n        reader.readAsDataURL(files[0]);\r\n        reader.onload = () => {\r\n          this.clientLogoString = reader.result as string;\r\n        };\r\n      } else {\r\n        this.clientLogoString = null;\r\n        control.markAsTouched();\r\n      }\r\n    }\r\n  }\r\n\r\n  private changesForLiveAuction(data: GetAuctionStep1) {\r\n    this.createAuctionForm1.controls.auctionCode.disable();\r\n    this.createAuctionForm1.controls.currency.disable();\r\n    this.createAuctionForm1.controls.saletype.disable();\r\n    this.createAuctionForm1.controls.timezone.disable();\r\n    this.createAuctionForm1.controls.startDate.disable();\r\n    this.createAuctionForm1.controls.startTime.disable();\r\n    this.minDate = new Date(data.startDate);\r\n    this.disableStartTime = true;\r\n    this.disableEndTime = this.auctionTimeService.isLotClosingBegun(\r\n      data.endDateTimeUtc\r\n    );\r\n    if (this.disableEndTime) this.createAuctionForm1.controls.endTime.disable();\r\n    this.createAuctionForm1.controls.bidIncrementTableId.disable();\r\n  }\r\n\r\n  private changesForPastAuction(data: GetAuctionStep1) {\r\n    this.createAuctionForm1.controls.auctionCode.disable();\r\n    this.createAuctionForm1.controls.currency.disable();\r\n    this.createAuctionForm1.controls.saletype.disable();\r\n    this.createAuctionForm1.controls.timezone.disable();\r\n    this.createAuctionForm1.controls.lotClosesIn.disable();\r\n    this.createAuctionForm1.controls.minutesToExtend.disable();\r\n    this.createAuctionForm1.controls.bidIncrementTableId.disable();\r\n  }\r\n\r\n  editorContent(\r\n    event: { data: string; limitReached: boolean },\r\n    control: AbstractControl\r\n  ) {\r\n    control.patchValue(event.data);\r\n    control.markAsDirty();\r\n    if (event.limitReached) control.setErrors({ invalid: true });\r\n    else control.setErrors(null);\r\n  }\r\n\r\n  private createFormData() {\r\n    let data = this.createAuctionForm1.getRawValue();\r\n    let sDate = new Date(Utils.toLocalDateTime(data.startDate));\r\n    let eDate = new Date(Utils.toLocalDateTime(data.endDate));\r\n    return {\r\n      id: this.auctionId,\r\n      auctionCode: data.auctionCode,\r\n      byOrderOf: data.byOrderOf,\r\n      categoryId: data.auctionCategory,\r\n      currencyId: data.currency,\r\n      endDate: eDate,\r\n      endTime: data.endTime,\r\n      isStaggerAuctionInSecondsEnable: data.staggerCompletionTime,\r\n      minuteToExtend: data.minutesToExtend,\r\n      saleManagerId: data.saleManager,\r\n      saleTypeId: data.saletype,\r\n      staggerLotCloseTime: data.lotClosesIn,\r\n      millisecondsAfterClose: this.convertHoursToMilliseconds(data.millisecondsAfterClose),\r\n      startDate: sDate,\r\n      startTime: data.startTime,\r\n      tagline: data.tagline,\r\n      timeZoneId: data.timezone,\r\n      title: data.title,\r\n      bidIncrementTableId: data.bidIncrementTableId,\r\n    };\r\n  }\r\n\r\n  private createRedirectFormData() {\r\n    let model = this.createFormData();\r\n\r\n    let formValue = this.createAuctionForm1.value;\r\n    let formData = new FormData();\r\n\r\n    formData.append('id', '' + model.id);\r\n    if (model.auctionCode)\r\n      formData.append('auctionCode', '' + model.auctionCode);\r\n    if (model.saleTypeId) formData.append('saleTypeId', '' + model.saleTypeId);\r\n    if (model.title) formData.append('title', '' + model.title);\r\n    if (model.byOrderOf) formData.append('byOrderOf', '' + model.byOrderOf);\r\n    if (model.tagline) formData.append('tagLine', '' + model.tagline);\r\n    if (model.categoryId) formData.append('categoryId', '' + model.categoryId);\r\n    if (model.currencyId) formData.append('currencyId', '' + model.currencyId);\r\n    if (model.saleManagerId)\r\n      formData.append('saleManagerId', '' + model.saleManagerId);\r\n    if (model.timeZoneId) formData.append('timeZoneId', '' + model.timeZoneId);\r\n    if (model.startDate)\r\n      formData.append('StartDate', model.startDate.toISOString());\r\n    if (model.startTime) formData.append('StartTime', '' + model.startTime);\r\n    if (model.endDate) formData.append('EndDate', model.endDate.toISOString());\r\n    if (model.endTime) formData.append('EndTime', '' + model.endTime);\r\n\r\n    if (formValue.coverPhoto){\r\n      (typeof formValue.coverPhoto === \"string\") ?\r\n      formData.append('coverPhoto', formValue.coverPhoto) :\r\n      formData.append('coverPhoto', formValue.coverPhoto, formValue.coverPhoto?.name);\r\n    }\r\n    if (formValue.clientLogo){\r\n      (typeof formValue.clientLogo === \"string\") ?\r\n      formData.append('clientLogo', formValue.clientLogo) :\r\n      formData.append('clientLogo', formValue.clientLogo, formValue.clientLogo?.name);\r\n    }\r\n    if (formValue.redirectLink)\r\n      formData.append('detailPageLinkUrl', '' + formValue.redirectLink);\r\n\r\n    return formData;\r\n  }\r\n\r\n  onSubmit() {\r\n    this.isSubmitted = true;\r\n\r\n    if (this.createAuctionForm1.invalid) {\r\n      return;\r\n    }\r\n\r\n    if (this.createAuctionForm1.pristine) {\r\n      this.toastr.success(\r\n        this.editMode\r\n          ? messages.addAuction1.updated\r\n          : messages.addAuction1.saved,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n      this.goToStep();\r\n      return;\r\n    }\r\n\r\n    this.loading = true;\r\n    this.loaderService.showLoader(true);\r\n\r\n    let model: any;\r\n    let request: Observable<Auction>;\r\n\r\n    if (this.isItRedirectLink) {\r\n      model = this.createRedirectFormData();\r\n      request = this.auctionService.addAuctionStepForRedirect(model);\r\n    } else {\r\n      model = this.createFormData();\r\n      request = this.auctionService.addAuctionStep1(model);\r\n    }\r\n\r\n    const req = request.subscribe(\r\n      (data) => {\r\n        this.loading = false;\r\n        this.loaderService.showLoader(false);\r\n        this.toastr.success(\r\n          this.editMode\r\n            ? messages.addAuction1.updated\r\n            : messages.addAuction1.saved,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.sendNewlyCreatedAuctionId(data.id);\r\n        this.sendNewlyCreatedAuctionCode(data.auctionCode);\r\n        this.goToStep();\r\n      },\r\n      (err) => {\r\n        this.loading = false;\r\n        this.loaderService.showLoader(false);\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    );\r\n    this.subscriptions.push(req);\r\n  }\r\n\r\n  gotoAuctionListing() {\r\n    if (this.currentAuctionStatus == 1) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'live' },\r\n      });\r\n    } else if (this.currentAuctionStatus == 2) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'upcoming' },\r\n      });\r\n    } else if (this.currentAuctionStatus == 4) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'recent' },\r\n      });\r\n    } else {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'pending' },\r\n      });\r\n    }\r\n  }\r\n\r\n  checkTitle(\r\n    control: FormControl\r\n  ): Observable<{ [key: string]: boolean } | null> {\r\n    return this.auctionService\r\n      .isTitleUniqueCheck(this.auctionId, control.value)\r\n      .pipe(\r\n        map((res) => {\r\n          if (!control.touched) {\r\n            return null;\r\n          } else if (!res.data) {\r\n            return { isTitleExists: true };\r\n          }\r\n          return null;\r\n        })\r\n      );\r\n  }\r\n\r\n  checkAuctionCode(\r\n    control: FormControl\r\n  ): Observable<{ [key: string]: boolean } | null> {\r\n    return this.auctionService\r\n      .isAuctionCodeUniqueCheck(this.auctionId, control.value)\r\n      .pipe(\r\n        map((res) => {\r\n          if (!control.touched) {\r\n            return null;\r\n          } else if (res.data == false) {\r\n            return { isAuctionCodeExists: true };\r\n          }\r\n          return null;\r\n        })\r\n      );\r\n  }\r\n\r\n  checkEndDate(controls: FormGroup): { [s: string]: boolean | null } {\r\n    let values = controls.value;\r\n\r\n    if (values.startDate != null && values.endDate != null) {\r\n      let sDate = this.convertDateAndTimeToStamp(\r\n        values.startDate,\r\n        values.startTime\r\n      );\r\n      let eDate = this.convertDateAndTimeToStamp(\r\n        values.endDate,\r\n        values.endTime\r\n      );\r\n\r\n      if (eDate <= sDate) {\r\n        return { invalidEndDate: true };\r\n      }\r\n      return null;\r\n    }\r\n    return null;\r\n  }\r\n\r\n  convertDateAndTimeToStamp(date: string, time: string): number {\r\n    let dateObj = new Date(date);\r\n    let [timeObj, meridian] = time.split(' ');\r\n    let [hour, min] = timeObj.split(':');\r\n    hour = (+hour === 12 ? 0 : +hour).toString();\r\n    hour = (\r\n      ['PM', 'pm', 'Pm', 'pM'].includes(meridian) ? +hour + 12 : +hour\r\n    ).toString();\r\n    return new Date(\r\n      dateObj.getFullYear(),\r\n      dateObj.getMonth(),\r\n      dateObj.getDate(),\r\n      +hour,\r\n      +min\r\n    ).getTime();\r\n  }\r\n\r\n  goToStep() {\r\n    this.step.emit(this.isItRedirectLink ? 5 : 2);\r\n  }\r\n\r\n  sendNewlyCreatedAuctionId(id: number) {\r\n    this.newAuctionId.emit(id);\r\n  }\r\n\r\n  sendNewlyCreatedAuctionCode(code: string) {\r\n    this.newAuctionCode.emit(code);\r\n  }\r\n\r\n  sendAuctionStatus(status: number) {\r\n    this.auctionStatus.emit(status);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<form *ngIf=\"showView\" [formGroup]=\"createAuctionForm1\" (ngSubmit)=\"onSubmit()\">\r\n  <div class=\"auction-form-outer\">\r\n    <div class=\"row\">\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"mat-field-width\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Auction/Sale Code</mat-label>\r\n              <input\r\n                matInput\r\n                type=\"text\"\r\n                placeholder=\"Enter Sale Code\"\r\n                formControlName=\"auctionCode\"\r\n                [maxlength]=\"10\"\r\n                required\r\n              />\r\n            </mat-form-field>\r\n            <char-counter\r\n              [control]=\"createAuctionForm1.controls.auctionCode\"\r\n              [maxlength]=\"10\"\r\n            ></char-counter>\r\n            <control-messages\r\n              [isFormSubmitted]=\"isSubmitted\"\r\n              [control]=\"createAuctionForm1.controls.auctionCode\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"mat-field-width input-with-tooltip\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>By Order of (Optional)</mat-label>\r\n              <input\r\n                matInput\r\n                type=\"text\"\r\n                placeholder=\"Enter By Order of text\"\r\n                [maxlength]=\"fieldMaxLengthMedium\"\r\n                formControlName=\"byOrderOf\"\r\n              />\r\n            </mat-form-field>\r\n\r\n            <span\r\n              class=\"custom-tooltip\"\r\n              #tooltip=\"matTooltip\"\r\n              matTooltip=\"Add alternate text to be displayed in place of By Order Of label\"\r\n              [matTooltipPosition]=\"'above'\"\r\n            >\r\n              <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n            </span>\r\n            <char-counter\r\n              [control]=\"createAuctionForm1.controls.byOrderOf\"\r\n              [maxlength]=\"fieldMaxLengthMedium\"\r\n            ></char-counter>\r\n            <control-messages\r\n              [isFormSubmitted]=\"isSubmitted\"\r\n              [control]=\"createAuctionForm1.controls.byOrderOf\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"mat-field-width\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Title</mat-label>\r\n              <input\r\n                matInput\r\n                type=\"text\"\r\n                placeholder=\"Add Auction Name\"\r\n                formControlName=\"title\"\r\n                [maxlength]=\"fieldMaxLength100\"\r\n                required\r\n              />\r\n            </mat-form-field>\r\n            <char-counter\r\n              [control]=\"createAuctionForm1.controls.title\"\r\n              [maxlength]=\"fieldMaxLength100\"\r\n            >\r\n            </char-counter>\r\n            <control-messages\r\n              [isFormSubmitted]=\"isSubmitted\"\r\n              [control]=\"createAuctionForm1.controls.title\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"mat-field-width custom-select-option select-with-label\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Auction Category</mat-label>\r\n              <mat-select formControlName=\"auctionCategory\" required>\r\n                <mat-option\r\n                  *ngFor=\"let category of categories\"\r\n                  [value]=\"category.value\"\r\n                  >{{ category.text }}\r\n                </mat-option>\r\n              </mat-select>\r\n            </mat-form-field>\r\n          </div>\r\n          <control-messages\r\n            [isFormSubmitted]=\"isSubmitted\"\r\n            [control]=\"createAuctionForm1.controls.auctionCategory\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div class=\"row\">\r\n          <div class=\"col-md-6\">\r\n            <div class=\"form-group\">\r\n              <div class=\"mat-field-width\">\r\n                <label>Tagline *</label>\r\n                <editor\r\n                  [initialValue]=\"taglineText\"\r\n                  (editorData)=\"\r\n                    editorContent($event, createAuctionForm1.controls.tagline)\r\n                  \"\r\n                  [characterLimit]=\"fieldMaxLengthLonger\"\r\n                ></editor>\r\n                <control-messages\r\n                  [isFormSubmitted]=\"isSubmitted\"\r\n                  [control]=\"createAuctionForm1.controls.tagline\"\r\n                ></control-messages>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"col-md-6\">\r\n            <div class=\"form-group\">\r\n              <div\r\n                class=\"mat-field-width custom-select-option select-with-label\"\r\n              >\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Currency</mat-label>\r\n                  <mat-select formControlName=\"currency\" required>\r\n                    <mat-option\r\n                      *ngFor=\"let currency of currencies\"\r\n                      [value]=\"currency.value\"\r\n                      >{{ currency.text }}\r\n                    </mat-option>\r\n                  </mat-select>\r\n                </mat-form-field>\r\n              </div>\r\n              <control-messages\r\n                [isFormSubmitted]=\"isSubmitted\"\r\n                [control]=\"createAuctionForm1.controls.currency\"\r\n              ></control-messages>\r\n            </div>\r\n\r\n            <div class=\"form-group\">\r\n              <div\r\n                class=\"mat-field-width custom-select-option select-with-label\"\r\n              >\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Sale Type</mat-label>\r\n                  <mat-select\r\n                    formControlName=\"saletype\"\r\n                    required\r\n                    (selectionChange)=\"getSaletypeData()\"\r\n                  >\r\n                    <mat-option\r\n                      *ngFor=\"let saletype of saletypes\"\r\n                      [value]=\"saletype.value\"\r\n                      >{{ saletype.text }}\r\n                    </mat-option>\r\n                  </mat-select>\r\n                  <mat-hint>{{ saletypeHint }}</mat-hint>\r\n                </mat-form-field>\r\n              </div>\r\n              <control-messages\r\n                [isFormSubmitted]=\"isSubmitted\"\r\n                [control]=\"createAuctionForm1.controls.saletype\"\r\n              ></control-messages>\r\n            </div>\r\n\r\n            <ng-container *ngIf=\"isBiddingAtOurPlatform\">\r\n              <div class=\"form-group\">\r\n                <div\r\n                  class=\"mat-field-width custom-select-option select-with-label\"\r\n                >\r\n                  <mat-form-field appearance=\"outline\">\r\n                    <mat-label>Bid Increment</mat-label>\r\n                    <mat-select formControlName=\"bidIncrementTableId\" required>\r\n                      <mat-option\r\n                        *ngFor=\"let Inc of bidIncrementTables\"\r\n                        [value]=\"Inc.value\"\r\n                        >{{ Inc.text }}\r\n                      </mat-option>\r\n                    </mat-select>\r\n                  </mat-form-field>\r\n                </div>\r\n                <control-messages\r\n                  [isFormSubmitted]=\"isSubmitted\"\r\n                  [control]=\"createAuctionForm1.controls.bidIncrementTableId\"\r\n                ></control-messages>\r\n              </div>\r\n            </ng-container>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"mat-field-width custom-select-option select-with-label\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Select Timezone you are in</mat-label>\r\n              <mat-select formControlName=\"timezone\" required>\r\n                <mat-option\r\n                  *ngFor=\"let timezone of timezones\"\r\n                  [value]=\"timezone.value\"\r\n                  >{{ timezone.text }}\r\n                </mat-option>\r\n              </mat-select>\r\n            </mat-form-field>\r\n          </div>\r\n          <control-messages\r\n            [isFormSubmitted]=\"isSubmitted\"\r\n            [control]=\"createAuctionForm1.controls.timezone\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-md-6\">\r\n        <div class=\"form-group\">\r\n          <div class=\"mat-field-width custom-select-option select-with-label\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Sale Manager</mat-label>\r\n              <mat-select formControlName=\"saleManager\" required>\r\n                <mat-option\r\n                  *ngFor=\"let manager of saleManagers\"\r\n                  [value]=\"manager.value\"\r\n                  >{{ manager.text }}\r\n                </mat-option>\r\n              </mat-select>\r\n            </mat-form-field>\r\n          </div>\r\n          <control-messages\r\n            [isFormSubmitted]=\"isSubmitted\"\r\n            [control]=\"createAuctionForm1.controls.saleManager\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div class=\"row\">\r\n          <div class=\"col-lg-6\">\r\n            <div class=\"mat-width-mobile\">\r\n              <div class=\"row gutter-14\">\r\n                <div class=\"col-7\">\r\n                  <div class=\"custom-calender\">\r\n                    <mat-form-field\r\n                      class=\"example-full-width\"\r\n                      appearance=\"outline\"\r\n                      role=\"button\"\r\n                      (click)=\"picker.open()\"\r\n                    >\r\n                      <mat-label>Start Date</mat-label>\r\n                      <input\r\n                        matInput\r\n                        [matDatepicker]=\"picker\"\r\n                        placeholder=\"MM-DD-YYYY\"\r\n                        formControlName=\"startDate\"\r\n                        disabled\r\n                        required\r\n                      />\r\n                      <mat-datepicker-toggle matSuffix [for]=\"picker\">\r\n                        <mat-icon matDatepickerToggleIcon\r\n                          >calendar_today</mat-icon\r\n                        >\r\n                      </mat-datepicker-toggle>\r\n                      <mat-datepicker\r\n                        #picker\r\n                        [disabled]=\"disableStartTime\"\r\n                      ></mat-datepicker>\r\n                    </mat-form-field>\r\n                    <control-messages\r\n                      [isFormSubmitted]=\"isSubmitted\"\r\n                      [control]=\"createAuctionForm1.controls.startDate\"\r\n                    >\r\n                    </control-messages>\r\n                  </div>\r\n                </div>\r\n                <div class=\"col-5\">\r\n                  <div class=\"custom-timer\">\r\n                    <div class=\"mat-field-width\">\r\n                      <mat-form-field appearance=\"outline\">\r\n                        <mat-label>Start Time</mat-label>\r\n                        <input\r\n                          matInput\r\n                          type=\"text\"\r\n                          [ngxTimepicker]=\"toggleTimepicker\"\r\n                          formControlName=\"startTime\"\r\n                          required\r\n                        />\r\n                        <ngx-material-timepicker-toggle\r\n                          [for]=\"toggleTimepicker\"\r\n                        >\r\n                        </ngx-material-timepicker-toggle>\r\n                        <ngx-material-timepicker\r\n                          #toggleTimepicker\r\n                        ></ngx-material-timepicker>\r\n                      </mat-form-field>\r\n                      <control-messages\r\n                        [isFormSubmitted]=\"isSubmitted\"\r\n                        [control]=\"createAuctionForm1.controls.startTime\"\r\n                      >\r\n                      </control-messages>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n\r\n          <div class=\"col-lg-6\">\r\n            <div class=\"mat-width-mobile\">\r\n              <div class=\"row gutter-14\">\r\n                <div class=\"col-7\">\r\n                  <div class=\"custom-calender\">\r\n                    <mat-form-field\r\n                      class=\"example-full-width\"\r\n                      appearance=\"outline\"\r\n                      role=\"button\"\r\n                      (click)=\"picker2.open()\"\r\n                    >\r\n                      <mat-label>End Date</mat-label>\r\n                      <input\r\n                        matInput\r\n                        [min]=\"minDate\"\r\n                        [matDatepicker]=\"picker2\"\r\n                        placeholder=\"MM-DD-YYYY\"\r\n                        formControlName=\"endDate\"\r\n                        disabled\r\n                        required\r\n                      />\r\n                      <mat-datepicker-toggle matSuffix [for]=\"picker2\">\r\n                        <mat-icon matDatepickerToggleIcon\r\n                          >calendar_today</mat-icon\r\n                        >\r\n                      </mat-datepicker-toggle>\r\n                      <mat-datepicker\r\n                        #picker2\r\n                        [disabled]=\"disableEndTime\"\r\n                      ></mat-datepicker>\r\n                    </mat-form-field>\r\n                    <control-messages\r\n                      [isFormSubmitted]=\"isSubmitted\"\r\n                      [control]=\"createAuctionForm1.controls.endDate\"\r\n                    >\r\n                    </control-messages>\r\n                    <control-messages\r\n                      [isFormSubmitted]=\"isSubmitted\"\r\n                      [control]=\"createAuctionForm1\"\r\n                    ></control-messages>\r\n                  </div>\r\n                </div>\r\n                <div class=\"col-5\">\r\n                  <div class=\"custom-timer\">\r\n                    <div class=\"mat-field-width\">\r\n                      <mat-form-field appearance=\"outline\">\r\n                        <mat-label>End Time</mat-label>\r\n                        <input\r\n                          matInput\r\n                          type=\"text\"\r\n                          [ngxTimepicker]=\"toggleTimepicker2\"\r\n                          formControlName=\"endTime\"\r\n                          required\r\n                        />\r\n                        <ngx-material-timepicker-toggle\r\n                          [for]=\"toggleTimepicker2\"\r\n                        >\r\n                        </ngx-material-timepicker-toggle>\r\n                        <ngx-material-timepicker #toggleTimepicker2>\r\n                        </ngx-material-timepicker>\r\n                      </mat-form-field>\r\n                      <control-messages\r\n                        [isFormSubmitted]=\"isSubmitted\"\r\n                        [control]=\"createAuctionForm1.controls.endTime\"\r\n                      >\r\n                      </control-messages>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div class=\"row\">\r\n          <div class=\"col-4\" *ngIf=\"showStaggerMinAndLotCloses\">\r\n            <div class=\"form-group\">\r\n              <div class=\"custom-checks-square\">\r\n                <input\r\n                  type=\"checkbox\"\r\n                  id=\"stagger\"\r\n                  name=\"check\"\r\n                  formControlName=\"staggerCompletionTime\"\r\n                  [checked]=\"\r\n                    createAuctionForm1.controls.staggerCompletionTime.value\r\n                  \"\r\n                  (change)=\"removeValidation($event)\"\r\n                />\r\n                <label for=\"stagger\" class=\"m-0\"\r\n                  >Stagger Auction Completion Time</label\r\n                >\r\n              </div>\r\n              <control-messages\r\n                [isFormSubmitted]=\"isSubmitted\"\r\n                [control]=\"createAuctionForm1.controls.staggerCompletionTime\"\r\n              ></control-messages>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-4\" *ngIf=\"showStaggerMinAndLotCloses\">\r\n            <div class=\"form-group\">\r\n              <div class=\"d-flex lot-width\">\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Every lot closes in</mat-label>\r\n                  <input\r\n                    matInput\r\n                    placeholder=\"Add Value\"\r\n                    formControlName=\"lotClosesIn\"\r\n                    [maxlength]=\"3\"\r\n                    required  \r\n                  />\r\n                </mat-form-field>\r\n                <span class=\"lot-name\">Seconds</span>\r\n              </div>\r\n              <char-counter\r\n                [control]=\"createAuctionForm1.controls.lotClosesIn\"\r\n                [maxlength]=\"3\"\r\n              >\r\n              </char-counter>\r\n              <control-messages\r\n                [isFormSubmitted]=\"isSubmitted\"\r\n                [control]=\"createAuctionForm1.controls.lotClosesIn\"\r\n              ></control-messages>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-4\" *ngIf=\"showStaggerMinAndLotCloses\">\r\n            <div class=\"form-group\">\r\n              <div class=\"d-flex lot-width\">\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Minutes to extend</mat-label>\r\n                  <input\r\n                    matInput\r\n                    placeholder=\"Add Value\"\r\n                    formControlName=\"minutesToExtend\"\r\n                    [maxlength]=\"2\"\r\n                    required                   \r\n                  />\r\n                </mat-form-field>\r\n                <span class=\"lot-name\">Minutes</span>\r\n              </div>\r\n              <char-counter\r\n                [control]=\"createAuctionForm1.controls.minutesToExtend\"\r\n                [maxlength]=\"2\"\r\n              >\r\n              </char-counter>\r\n              <control-messages\r\n                [isFormSubmitted]=\"isSubmitted\"\r\n                [control]=\"createAuctionForm1.controls.minutesToExtend\"\r\n              ></control-messages>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"row\">\r\n          <div class=\"col-4\">\r\n            <div class=\"form-group\">\r\n              <div class=\"d-flex lot-width\">\r\n                <mat-form-field appearance=\"outline\">\r\n                  <mat-label>Time to show on catalog after close</mat-label>\r\n                  <input\r\n                    matInput\r\n                    placeholder=\"Add hours after close\"\r\n                    formControlName=\"millisecondsAfterClose\"\r\n                  />\r\n                </mat-form-field>\r\n                <span class=\"lot-name\">Hours</span>\r\n              </div>\r\n              <control-messages\r\n                [isFormSubmitted]=\"isSubmitted\"\r\n                [control]=\"createAuctionForm1.controls.millisecondsAfterClose\"\r\n              ></control-messages>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-6\" *ngIf=\"isItRedirectLink\">\r\n        <div class=\"form-group\">\r\n          <div class=\"d-flex w-100\">\r\n            <mat-form-field appearance=\"outline\" class=\"w-100\">\r\n              <mat-label>Redirect Link</mat-label>\r\n              <input\r\n                matInput\r\n                placeholder=\"Add Redirect Link\"\r\n                formControlName=\"redirectLink\"\r\n                required\r\n              />\r\n            </mat-form-field>\r\n          </div>\r\n          <control-messages\r\n            [isFormSubmitted]=\"isSubmitted\"\r\n            [control]=\"createAuctionForm1.controls.redirectLink\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\" *ngIf=\"isItRedirectLink\">\r\n        <div class=\"upload-with-name\">\r\n          <div class=\"custom-file-upload\">\r\n            <span class=\"upload-inner\">\r\n              <div *ngIf=\"coverPhotoString; else showPlaceholder\">\r\n                <img\r\n                  alt=\"thumb-image\"\r\n                  class=\"thumb-image\"\r\n                  width=\"150\"\r\n                  [src]=\"coverPhotoString\"\r\n                />\r\n              </div>\r\n              <ng-template #showPlaceholder>\r\n                <img\r\n                  class=\"thumb-image\"\r\n                  src=\"../assets/images/thumbnail-square.jpg\"\r\n                  title=\"thumb-image\"\r\n                  alt=\"thumb-image\"\r\n                />\r\n              </ng-template>\r\n              <img\r\n                src=\"../assets/images/ic-upload-photo.svg\"\r\n                class=\"upload-btn\"\r\n                alt=\"upload-btn\"\r\n                role=\"button\"\r\n                (click)=\"cover.click()\"\r\n              />\r\n            </span>\r\n            <input\r\n              type=\"file\"\r\n              style=\"display: none\"\r\n              [accept]=\"coverPhotoFormat\"\r\n              #cover\r\n              (change)=\"uploadCoverPhoto($event.target.files)\"\r\n            />\r\n          </div>\r\n          <div class=\"for-info\">\r\n            <p class=\"name\">Cover Photo*</p>\r\n            <p class=\"upload-note m-0\">\r\n              Recommended Size : <br class=\"d-sm-none\" />\r\n              1024 * 720 px <br />\r\n              <br class=\"d-sm-none\" />\r\n              File size should not exceed\r\n              {{ +coverPhotoSize / (1024 * 1024) }} MB\r\n            </p>\r\n            <control-messages\r\n              [control]=\"createAuctionForm1.controls.coverPhoto\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\" *ngIf=\"isItRedirectLink\">\r\n        <div class=\"upload-with-name\">\r\n          <div class=\"custom-file-upload\">\r\n            <span class=\"upload-inner\">\r\n              <div\r\n                class=\"upload-container\"\r\n                *ngIf=\"clientLogoString != null; else showPlaceholder\"\r\n              >\r\n                <img\r\n                  alt=\"thumb-image\"\r\n                  class=\"thumb-image\"\r\n                  width=\"150\"\r\n                  [src]=\"clientLogoString\"\r\n                />\r\n              </div>\r\n              <ng-template #showPlaceholder>\r\n                <img\r\n                  class=\"thumb-image\"\r\n                  src=\"../assets/images/thumbnail-square.jpg\"\r\n                  alt=\"thumb-image\"\r\n                  title=\"thumb-image\"\r\n                />\r\n              </ng-template>\r\n              <img\r\n                src=\"../assets/images/ic-upload-photo.svg\"\r\n                class=\"upload-btn\"\r\n                alt=\"upload-btn\"\r\n                role=\"button\"\r\n                (click)=\"logo.click()\"\r\n              />\r\n            </span>\r\n            <input\r\n              type=\"file\"\r\n              style=\"display: none\"\r\n              [accept]=\"clientLogoFormat\"\r\n              #logo\r\n              (change)=\"uploadClientLogo($event.target.files)\"\r\n            />\r\n          </div>\r\n\r\n          <div class=\"for-info\">\r\n            <p class=\"name\">Client Logo*</p>\r\n            <p class=\"upload-note m-0\">\r\n              Recommended Size : <br class=\"d-sm-none\" />\r\n              240 * 240 px <br />\r\n              <br class=\"d-sm-none\" />\r\n              File size should not exceed\r\n              {{ +clientLogoSize / (1024 * 1024) }} MB\r\n            </p>\r\n            <control-messages\r\n              [control]=\"createAuctionForm1.controls.clientLogo\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <div\r\n          class=\"my-2 error-msg\"\r\n          *ngIf=\"createAuctionForm1.invalid && isSubmitted\"\r\n        >\r\n          Please resolve error(s) first\r\n        </div>\r\n\r\n        <div class=\"steps-btn-wrap pt-4 mt-2\">\r\n          <button\r\n            role=\"button\"\r\n            (click)=\"gotoAuctionListing()\"\r\n            class=\"btn btn-white-border mr-2\"\r\n          >\r\n            Cancel\r\n          </button>\r\n\r\n          <ng-container\r\n            *ngIf=\"\r\n              ![auctionStatuses.past, auctionStatuses.archived].includes(\r\n                currentAuctionStatus\r\n              )\r\n            \"\r\n          >\r\n            <button type=\"submit\" class=\"btn btn-colored\">\r\n              {{ isItRedirectLink ? \"Send for approval\" : \"Save & Continue\" }}\r\n            </button>\r\n          </ng-container>\r\n\r\n          <ng-container\r\n            *ngIf=\"\r\n              [auctionStatuses.past, auctionStatuses.archived].includes(\r\n                currentAuctionStatus\r\n              )\r\n            \"\r\n          >\r\n            <button type=\"button\" class=\"btn btn-colored\" (click)=\"goToStep()\">\r\n              Skip\r\n            </button>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</form>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuctionDetail } from '../../../../models';\r\nimport {\r\n  AuthenticationService,\r\n  AuctionService,\r\n  LoaderService,\r\n  EventBusService,\r\n  CmsService,\r\n} from '../../../../services';\r\nimport constants from '../../../../utility/constants';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-auction-registeration',\r\n  templateUrl: './auction-registeration.component.html',\r\n  styleUrls: ['./auction-registeration.component.css'],\r\n})\r\nexport class AuctionRegisterationComponent implements OnInit {\r\n  auctionCode: string;\r\n  auctionInfo: AuctionDetail;\r\n  registerForm: FormGroup;\r\n  returnUrl: string = '/';\r\n  isRegistered: boolean;\r\n  content: string;\r\n  readyToSpentMinAmount: number = constants.public.readyToSpentMin;\r\n  readyToSpentMaxAmount: number = constants.public.readyToSpentMax;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  constructor(\r\n    private authService: AuthenticationService,\r\n    private auctionService: AuctionService,\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private loader: LoaderService,\r\n    private toastr: ToastrService,\r\n    private eventBusService: EventBusService,\r\n    private cmsService: CmsService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.route.queryParams.subscribe((param) => {\r\n      this.returnUrl = param['returnTo'];\r\n    });\r\n\r\n    this.checkLoggedIn();\r\n\r\n    this.isRegistered = false;\r\n\r\n    this.route.params.subscribe((param) => {\r\n      this.auctionCode = param['auctionCode'];\r\n      this.getAuctionInfo();\r\n    });\r\n\r\n    this.getTandCs();\r\n    this.formInitiate();\r\n  }\r\n\r\n  checkLoggedIn()\r\n  {\r\n    if (!this.authService.checkLoggedIn()) {\r\n      this.goToLogin();\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  formInitiate() {\r\n    this.registerForm = new FormGroup({\r\n      spending: new FormControl(null, [\r\n        Validators.min(this.readyToSpentMinAmount),\r\n        Validators.max(this.readyToSpentMaxAmount),\r\n      ]),\r\n      termsCheckBox: new FormControl(false, this.checkRequired.bind(this)),\r\n    });\r\n  }\r\n\r\n  checkRequired(control: FormControl) {\r\n    if (control.value === false) return { required: true };\r\n    return null;\r\n  }\r\n\r\n  getAuctionInfo() {\r\n    this.loader.showLoader(true);\r\n    const auctionDetail = this.auctionService.getAuctionDetailByCode(this.auctionCode).subscribe(\r\n      (res) => {\r\n        this.auctionInfo = res;\r\n        this.loader.showLoader(false);\r\n      },\r\n      (err) => {\r\n        this.loader.showLoader(false);\r\n        this.goToRedirectUrl();\r\n      }\r\n    );\r\n    this.subscriptions.push(auctionDetail)\r\n  }\r\n\r\n  getTandCs() {\r\n    const cmsPublic = this.cmsService\r\n      .GetCmsPublic(constants.common.cmsPages.termsAndConditions)\r\n      .subscribe((response) => (this.content = response));\r\n      this.subscriptions.push(cmsPublic)\r\n  }\r\n\r\n  onSubmit() {\r\n    if (this.registerForm.invalid) return;\r\n    if (!this.checkLoggedIn()) return;\r\n    this.loader.showLoader(true);\r\n    let value = this.registerForm.value.spending;\r\n    let termsCheck = this.registerForm.value.termsCheckBox;\r\n    const registerAuction = this.auctionService\r\n      .registerUserToAuction(this.auctionInfo.id, value, termsCheck)\r\n      .subscribe(\r\n        () => {\r\n          this.isRegistered = true;\r\n          this.toastr.success(\r\n            `Successfully Registered for ${this.auctionInfo?.title}`,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.loader.showLoader(false);\r\n        },\r\n        (err) => {\r\n          this.isRegistered = false;\r\n          this.loader.showLoader(false);\r\n          this.toastr.error(\r\n            err,\r\n            constants.common.toast.errorTitle,\r\n            constants.common.toast.config\r\n          );\r\n        }\r\n      );\r\n      this.subscriptions.push(registerAuction)\r\n  }\r\n\r\n  goToLogin() {\r\n    this.openModalFile();\r\n  }\r\n\r\n  goToRedirectUrl() {\r\n    this.router.navigateByUrl(this.returnUrl);\r\n  }\r\n\r\n  openModalFile(modalName: String = 'login') {\r\n    this.eventBusService.notification.emit(modalName);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<app-auction-registeration-success\r\n  [auctionId]=\"auctionInfo.id\"\r\n  [auctionName]=\"auctionInfo?.title\"\r\n  (goToBack)=\"goToRedirectUrl()\"\r\n  *ngIf=\"isRegistered\"\r\n>\r\n</app-auction-registeration-success>\r\n\r\n<div class=\"public-wrap\" *ngIf=\"!isRegistered\">\r\n  <div class=\"container\">\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <h3 class=\"register-name mb-3 pb-2\">Register For The Auction</h3>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"auction-with-logo mb-3\">\r\n      <div class=\"left-logo\">\r\n        <img\r\n          class=\"auction-logo\"\r\n          alt=\"auction-logo\"\r\n          AuctionDefaultImage\r\n          *ngIf=\"auctionInfo\"\r\n          [image]=\"auctionInfo.clientLogo\"\r\n        />\r\n      </div>\r\n      <div class=\"right-logo\">\r\n        <div class=\"d-flex mb-2\">\r\n          <span class=\"card-badge no-card min-width-auto badge-dark\">\r\n            {{ auctionInfo?.saleType.publicName }}\r\n          </span>\r\n        </div>\r\n\r\n        <h3 class=\"auc-name mb-2\">{{ auctionInfo?.title }}</h3>\r\n        <p class=\"auc-des mb-3\" [innerHTML]=\"auctionInfo?.tagline\"></p>\r\n        <p class=\"auc-location mb-2\">\r\n          {{ auctionInfo?.auctionLocations | locationNames }}\r\n        </p>\r\n        <p\r\n          class=\"auc-address m-0\"\r\n          [innerHtml]=\"\r\n            auctionInfo?.saleType?.auctionDate\r\n              | auctionDateFormat\r\n                : auctionInfo?.auctionStatus\r\n                : auctionInfo?.timeZoneName\r\n                : auctionInfo?.startDateTime\r\n                : auctionInfo?.endDateTime\r\n                : auctionInfo?.saleType?.dateText\r\n          \"\r\n        ></p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <form [formGroup]=\"registerForm\">\r\n      <div class=\"to-register\">\r\n        <h1 class=\"register-hdg\">\r\n          To Register for this Auction please agree to the terms & conditions\r\n          and click the \"Register\" button.\r\n        </h1>\r\n        <p class=\"register-des\">\r\n          You will receive an email notifying you of your eligibility to bid for\r\n          this auction.\r\n          <br />\r\n          <br />\r\n          This process can take upto 24 hours from the time you registered. We\r\n          may contact you to verify your information and ask for a deposit\r\n          before approving your registration. If you have registered on the day\r\n          of the Auction we do make every effort to complete your registration\r\n          as quickly as possible. In the future, we do suggest registering for\r\n          our auctions atleast 48 hours before the day of the auction.\r\n          <br />\r\n          <br />\r\n          If you have any questions, you can contact us at\r\n          service@thebranfordgroup.com or call us at 203-488-7020.\r\n        </p>\r\n\r\n        <div class=\"spending-amount\">\r\n          <div class=\"form-group mb-4 no-float-fields\">\r\n            <label class=\"form-label\"\r\n              >How much are you interested in spending?\r\n              <span class=\"fade-label\">(optional)</span>\r\n            </label>\r\n            <mat-form-field appearance=\"outline\">\r\n              <input\r\n                matInput\r\n                type=\"number\"\r\n                inputmode=\"numeric\"\r\n                [min]=\"readyToSpentMinAmount\"\r\n                [max]=\"readyToSpentMaxAmount\"\r\n                formControlName=\"spending\"\r\n                [placeholder]=\"auctionInfo?.currencyName\"\r\n              />\r\n            </mat-form-field>\r\n            <control-messages\r\n              [control]=\"registerForm.controls.spending\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"register-terms\" [innerHTML]=\"content\"></div>\r\n\r\n        <div class=\"registration-check\">\r\n          <div class=\"custom-checks-square check-grey\">\r\n            <input type=\"checkbox\" formControlName=\"termsCheckBox\" id=\"terms\" />\r\n            <label for=\"terms\" class=\"m-0\"\r\n              >I agree to the\r\n              <a target=\"_blank\" routerLink=\"/term-and-conditions\"\r\n                >Terms & Conditions</a\r\n              >\r\n            </label>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"register-btns mt-4 pt-0 pt-md-3\">\r\n          <button\r\n            type=\"submit\"\r\n            [disabled]=\"registerForm.invalid\"\r\n            class=\"btn btn-colored mr-2 mb-2 mb-md-0\"\r\n            role=\"button\"\r\n            (click)=\"onSubmit()\"\r\n          >\r\n            Register\r\n          </button>\r\n          <button\r\n            type=\"button\"\r\n            class=\"btn btn-white-border mb-2 mb-md-0\"\r\n            role=\"button\"\r\n            (click)=\"goToRedirectUrl()\"\r\n          >\r\n            Cancel\r\n          </button>\r\n        </div>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</div>\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { environment } from '../../../../environments/environment';\r\n\r\n@Component({\r\n  selector: 'app-add-auction',\r\n  templateUrl: './add-auction.component.html',\r\n  styleUrls: ['./add-auction.component.css'],\r\n})\r\nexport class AddAuctionComponent implements OnInit {\r\n  // one step back\r\n  returnUrl: string = '../';\r\n  // initial step number\r\n  stepActive = 1;\r\n  auctionId: number;\r\n  auctionCode: string;\r\n  editMode: boolean;\r\n  showSteps = false;\r\n  auctionStatus: number;\r\n  statusString = '';\r\n  websiteUrl: string = environment.websiteUrl;\r\n\r\n  needSteps: boolean = true;\r\n\r\n  constructor(\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    @Inject(DOCUMENT) private document: Document\r\n  ) {}\r\n\r\n  ngOnInit() {\r\n    this.route.params.subscribe((param) => {\r\n      if (+param['id'] > 0) {\r\n        this.auctionId = +param['id'];\r\n        this.statusString = 'updated';\r\n        this.editMode = true;\r\n        this.returnUrl = '../../';\r\n      } else {\r\n        this.editMode = false;\r\n        this.statusString = 'created';\r\n        this.auctionId = 0;\r\n      }\r\n    });\r\n  }\r\n\r\n  openLink(url) {\r\n    window.open(url, '_blank');\r\n  }\r\n\r\n  openLotsLink(url) {\r\n    window.open(url + '#check', '_blank');\r\n  }\r\n\r\n  gotoAuctionListing() {\r\n    if (this.auctionStatus == 1) {\r\n      this.router.navigate([this.returnUrl], {\r\n        relativeTo: this.route,\r\n        queryParams: { type: 'live' },\r\n      });\r\n    } else if (this.auctionStatus == 2) {\r\n      this.router.navigate([this.returnUrl], {\r\n        relativeTo: this.route,\r\n        queryParams: { type: 'upcoming' },\r\n      });\r\n    } else if (this.auctionStatus == 4) {\r\n      this.router.navigate([this.returnUrl], {\r\n        relativeTo: this.route,\r\n        queryParams: { type: 'recent' },\r\n      });\r\n    } else {\r\n      this.router.navigate([this.returnUrl], {\r\n        relativeTo: this.route,\r\n        queryParams: { type: 'pending' },\r\n      });\r\n    }\r\n  }\r\n\r\n  setActiveStep(step: number) {\r\n    this.stepActive = step;\r\n  }\r\n\r\n  setNewAuctionId(newId: number) {\r\n    this.auctionId = newId;\r\n  }\r\n\r\n  setNewAuctionCode(code: string) {\r\n    this.auctionCode = code;\r\n  }\r\n\r\n  getAuctionStatus(event) {\r\n    this.auctionStatus = event;\r\n  }\r\n\r\n  goToCurrentStep(step) {\r\n    if (this.auctionStatus !== 3 && this.auctionId) {\r\n      this.stepActive = step;\r\n    }\r\n  }\r\n\r\n  copyText(val: string) {\r\n    let selBox = this.document.createElement('textarea');\r\n    selBox.style.position = 'fixed';\r\n    selBox.style.left = '0';\r\n    selBox.style.top = '0';\r\n    selBox.style.opacity = '0';\r\n    selBox.value = val;\r\n    this.document.body.appendChild(selBox);\r\n    selBox.focus();\r\n    selBox.select();\r\n    this.document.execCommand('copy');\r\n    this.document.body.removeChild(selBox);\r\n  }\r\n}\r\n","<div class=\"white-wrap-admin\">\r\n  <div *ngIf=\"stepActive < 5\">\r\n    <div class=\"back-link-outer\">\r\n      <div class=\"back-link-outer mb-3 d-flex\">\r\n        <a class=\"back-link\" role=\"button\" (click)=\"gotoAuctionListing()\">\r\n          <img alt=\"back-icon\" src=\"../assets/images/back.svg\" /> back\r\n        </a>\r\n      </div>\r\n    </div>\r\n\r\n    <h1 class=\"white-wrap-hdg mb-3\">\r\n      {{ editMode ? \"Edit\" : \"Create New\" }} Auction\r\n      {{ auctionCode ? \" - \" + auctionCode : \"\" }}\r\n    </h1>\r\n\r\n    <ng-container *ngIf=\"needSteps\">\r\n      <div class=\"top-steps-wrap\">\r\n        <div class=\"mobile-step-accordion d-md-none\" role=\"button\" (click)=\"showSteps = !showSteps\">\r\n          <p class=\"step-accr-current\">Step {{ stepActive }} Of 4</p>\r\n          <p class=\"step-accr-active\">Basic Details</p>\r\n          <img alt=\"arrow-icon\" src=\"../assets/images/dropdown-arrow.svg\" [ngClass]=\"{ active: showSteps }\" />\r\n        </div>\r\n\r\n        <ul class=\"auction-stepper mobile-auction-stepper\" [ngClass]=\"{ active: showSteps }\">\r\n          <li [ngClass]=\"{\r\n              'active-step': stepActive == 1,\r\n              'completed-step': stepActive > 1\r\n            }\" role=\"button\" (click)=\"goToCurrentStep(1)\">\r\n            <span class=\"step-num\"> <span class=\"d-md-none\">0</span>1 </span>\r\n            <span class=\"step-name\">Basic Details</span>\r\n          </li>\r\n\r\n          <li [ngClass]=\"{\r\n              'active-step': stepActive == 2,\r\n              'completed-step': stepActive > 2\r\n            }\" role=\"button\" (click)=\"goToCurrentStep(2)\">\r\n            <span class=\"step-num\"> <span class=\"d-md-none\">0</span>2</span>\r\n            <span class=\"step-name\">Manage Gallery</span>\r\n          </li>\r\n\r\n          <li [ngClass]=\"{\r\n              'active-step': stepActive == 3,\r\n              'completed-step': stepActive > 3\r\n            }\" role=\"button\" (click)=\"goToCurrentStep(3)\">\r\n            <span class=\"step-num\"> <span class=\"d-md-none\">0</span>3 </span>\r\n            <span class=\"step-name\">Display Details</span>\r\n          </li>\r\n\r\n          <li [ngClass]=\"{ 'active-step': stepActive == 4 }\" role=\"button\" (click)=\"goToCurrentStep(4)\">\r\n            <span class=\"step-num\"> <span class=\"d-md-none\">0</span>4 </span>\r\n            <span class=\"step-name\">Locations & Contacts</span>\r\n          </li>\r\n        </ul>\r\n      </div>\r\n    </ng-container>\r\n\r\n    <div class=\"steeper-data\">\r\n      <div class=\"step-parts\" *ngIf=\"stepActive == 1\">\r\n        <app-add-auction-step1 (goToStep)=\"setActiveStep($event)\" (newAuctionId)=\"setNewAuctionId($event)\"\r\n          (newAuctionCode)=\"setNewAuctionCode($event)\" [auctionId]=\"auctionId\" [isEditMode]=\"editMode\"\r\n          (getAuctionStatus)=\"getAuctionStatus($event)\" (otherStepsNeeded)=\"needSteps = $event\">\r\n        </app-add-auction-step1>\r\n      </div>\r\n\r\n      <ng-container *ngIf=\"needSteps\">\r\n        <div class=\"step-parts\" *ngIf=\"stepActive == 2\">\r\n          <app-add-auction-step2 (goToStep)=\"setActiveStep($event)\" [auctionId]=\"auctionId\"\r\n            [auctionStatus]=\"auctionStatus\" [isEditMode]=\"editMode\">\r\n          </app-add-auction-step2>\r\n        </div>\r\n\r\n        <div class=\"step-parts\" *ngIf=\"stepActive == 3\">\r\n          <app-add-auction-step3 (goToStep)=\"setActiveStep($event)\" [auctionId]=\"auctionId\"\r\n            [auctionStatus]=\"auctionStatus\" [isEditMode]=\"editMode\">\r\n          </app-add-auction-step3>\r\n        </div>\r\n\r\n        <div class=\"step-parts\" *ngIf=\"stepActive == 4\">\r\n          <app-add-auction-step4 (goToStep)=\"setActiveStep($event)\" [auctionId]=\"auctionId\"\r\n            [auctionStatus]=\"auctionStatus\" [isEditMode]=\"editMode\">\r\n          </app-add-auction-step4>\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"mx-auto text-center\" *ngIf=\"stepActive == 5\">\r\n    <div class=\"auction-success\">\r\n      <img alt=\"success-icon\" src=\"../assets/images/auction-success.svg\" />\r\n      <h1 class=\"success-msg\">\r\n        Auction {{ statusString | titlecase }} Successfully!\r\n      </h1>\r\n      <p class=\"dtl\">\r\n        Your auction has been {{ statusString }} and is under review.\r\n      </p>\r\n\r\n      <ng-container *ngIf=\"needSteps\">\r\n        <p class=\"dtl\">\r\n          Here is the public link for this auction.\r\n          <a (click)=\"openLink(websiteUrl + auctionCode)\" style=\"cursor: pointer; color: #8d1231;\r\n          text-decoration: underline;\r\n          cursor: pointer;\">Click to view auction detail</a>\r\n          <a (click)=\"openLotsLink(websiteUrl + auctionCode + '/lots')\" style=\"cursor: pointer; color: #8d1231;\r\n         text-decoration: underline;\r\n         cursor: pointer;\">Click to view lot catalog</a>\r\n          <button class=\"btn btn-white-border mt-4 font-15\" role=\"button\" (click)=\"copyText(websiteUrl + auctionCode)\">\r\n            Copy to clipboard\r\n          </button>\r\n        </p>\r\n      </ng-container>\r\n\r\n      <button class=\"btn btn-colored\" role=\"button\" (click)=\"gotoAuctionListing()\">\r\n        Take Me to Auctions Page\r\n      </button>\r\n    </div>\r\n  </div>\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AddAuctionComponent } from './add-auction/add-auction.component';\r\nimport { AuctionListComponent } from './auction-list/auction-list.component';\r\nimport { ViewAuctionComponent } from './view-auction/view-auction.component';\r\nimport { BackUrlResolver } from '../../shared/resolver/back-url.resolver';\r\nimport { AuctionResultComponent } from './auction-result/auction-result.component';\r\nimport { ImportedUsersComponent } from './imported-users/imported-users.component';\r\n\r\nconst routes: Routes = [\r\n  {\r\n    path: '', component: AuctionListComponent,\r\n  },\r\n  {\r\n    path: 'add',\r\n    component: AddAuctionComponent,\r\n  },\r\n  {\r\n    path: ':id',\r\n    children: [\r\n      {\r\n        path: '',\r\n        component: ViewAuctionComponent,\r\n      },\r\n      {\r\n        path: 'edit',\r\n        component: AddAuctionComponent,\r\n      },\r\n      {\r\n        path: 'users',\r\n        loadChildren: () => import('./auction-user/auction-user.module').then(m => m.AuctionUserModule),\r\n        resolve: { returnTo: BackUrlResolver },\r\n      },\r\n      {\r\n        path: 'configure-lot',\r\n        loadChildren: () => import('./configure-lot/configure-lot.module').then(m => m.ConfigureLotModule),\r\n      },\r\n      {\r\n        path: 'bids',\r\n        loadChildren: () =>\r\n          import('./bids/bids.module').then((m) => m.BidsModule),\r\n      },\r\n      {\r\n        path: 'result',\r\n        component: AuctionResultComponent,\r\n      },\r\n      {\r\n        path: 'imported-users',\r\n        component: ImportedUsersComponent,\r\n      },\r\n    ],\r\n  },\r\n];\r\n\r\n@NgModule({\r\n  imports: [RouterModule.forChild(routes)],\r\n  exports: [RouterModule],\r\n})\r\nexport class AuctionRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { ApiBaseResponse, CommonDropdown } from '../models';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class AuctionSurveyService {\r\n  constructor(private http: HttpClient) {}\r\n\r\n  getSurveyOptionsListing(): Observable<CommonDropdown[]> {\r\n    return this.http\r\n      .get<ApiBaseResponse<CommonDropdown[]>>(\r\n        `${environment.apiUrl}/auctionSurvey`\r\n      )\r\n      .pipe(map((it) => it.data));\r\n  }\r\n\r\n  saveAuctionSurvey(auctionId: number, options: string): Observable<any> {\r\n    return this.http\r\n      .post<ApiBaseResponse<any>>(`${environment.apiUrl}/auctionSurvey`, {\r\n        auctionId: auctionId,\r\n        selectedOptions: options,\r\n      })\r\n      .pipe(map((it) => it.data));\r\n  }\r\n}\r\n","import { Component, OnInit, TemplateRef, ViewChild, AfterContentInit } from '@angular/core';\r\nimport {\r\n  LotService,\r\n  LoaderService,\r\n  AuctionService,\r\n  WatchListService,\r\n  WebStorageService,\r\n} from '../../../../services';\r\nimport { Router, ActivatedRoute, Data } from '@angular/router';\r\nimport routeTable from '../../../../utility/routeTable';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from '../../../../../environments/environment';\r\nimport constants from '../../../../utility/constants';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport {\r\n  HubConnection,\r\n  HubConnectionBuilder,\r\n  LogLevel,\r\n} from '@microsoft/signalr';\r\nimport { LotPublic, AuctionCurrentState } from '../../../../models';\r\nimport { BidService, BulkBid } from '../../../../services/bid.service';\r\nimport { interval, Subscription } from 'rxjs';\r\nimport { BidInfo } from '../../../shared/component/lot-card/lot-card.component';\r\nimport { AuctionTimeService } from '../../../../services/auction-time.service';\r\n\r\n@Component({\r\n  selector: 'app-view-lot',\r\n  templateUrl: './view-lot.component.html',\r\n  styleUrls: ['./view-lot.component.css'],\r\n})\r\nexport class ViewLotComponent implements OnInit, AfterContentInit {\r\n  modalRef: BsModalRef;\r\n  lotId: number = null;\r\n  loggedInUser = 0;\r\n  auctionDetail: any;\r\n  auctionId: any;\r\n  currentSlider: any = [];\r\n  showTimer: boolean = true;\r\n  currentSliderHeader: string;\r\n  timeDiff;\r\n  sec;\r\n  days = 0;\r\n  config;\r\n  events;\r\n  formatted;\r\n  hubUrl: string = environment.serverUrl + environment.hubs.bid;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  returnUrl: string = null;\r\n  bidMinAmount: number = constants.common.bid.bidMinAmount;\r\n  bidMaxAmount: number = constants.common.bid.bidMaxAmount;\r\n  userFullName: string;\r\n  auctionStatuses = constants.common.auctionStatus;\r\n  errorMsg: string = null;\r\n  isUserHighestBidder: boolean = false;\r\n  biddingAmount: FormControl = new FormControl(null, [\r\n    Validators.required,\r\n    AppValidators.noWhitespace,\r\n    AppValidators.onlyNumeric,\r\n    Validators.min(this.bidMinAmount),\r\n    Validators.max(this.bidMaxAmount),\r\n  ]);\r\n  private lotHubConnection: HubConnection;\r\n  eachLotData: LotPublic;\r\n  addedToWatchlist: number;\r\n\r\n  lotNumber: string;\r\n  soldStatuses = constants.common.soldStatus;\r\n\r\n  isAddedToWatchlist: boolean = false;\r\n  isLotClosed: boolean = false;\r\n  @ViewChild('quickBidModal', { static: false })\r\n  quickBidModal: TemplateRef<any>;\r\n  viewLotHeader = {\r\n    slidesToShow: 1,\r\n    slidesToScroll: 1,\r\n    infinite: true,\r\n    autoplay: false,\r\n    dots: false,\r\n    arrows: false,\r\n    asNavFor: '.viewLotThumbs',\r\n  };\r\n\r\n  viewLotThumbs = {\r\n    slidesToShow: 3,\r\n    slidesToScroll: 1,\r\n    arrows: true,\r\n    autoplay: false,\r\n    dots: false,\r\n    asNavFor: '.viewLotHeader',\r\n    centerMode: true,\r\n    centerPadding: '50px',\r\n    focusOnSelect: true,\r\n    responsive: [\r\n      {\r\n        breakpoint: 600,\r\n        settings: {\r\n          slidesToShow: 3,\r\n        },\r\n      },\r\n      {\r\n        breakpoint: 480,\r\n        settings: {\r\n          slidesToShow: 2,\r\n        },\r\n      },\r\n    ],\r\n  };\r\n\r\n  imagesSlider2 = {\r\n    adaptiveHeight: true,\r\n    slidesToShow: 1,\r\n    slidesToScroll: 1,\r\n    arrows: true,\r\n    fade: true,\r\n    asNavFor: '.view-more-slider .thumbs',\r\n  };\r\n\r\n  thumbnailsSlider2 = {\r\n    slidesToShow: 8,\r\n    slidesToScroll: 1,\r\n    arrows: false,\r\n    dots: false,\r\n    centerMode: true,\r\n    focusOnSelect: true,\r\n    asNavFor: '.view-more-slider .image-slides2',\r\n    responsive: [\r\n      {\r\n        breakpoint: 1024,\r\n        settings: {\r\n          slidesToShow: 5,\r\n        },\r\n      },\r\n      {\r\n        breakpoint: 600,\r\n        settings: {\r\n          slidesToShow: 3,\r\n        },\r\n      },\r\n      {\r\n        breakpoint: 480,\r\n        settings: {\r\n          slidesToShow: 2,\r\n        },\r\n      },\r\n    ],\r\n  };\r\n\r\n  auctionCode: string;\r\n  auctionCurrentState: AuctionCurrentState;\r\n  readOnlyCatalog: boolean;\r\n  isLowConnectionMode: boolean = false;\r\n\r\n  serverTimeSub: Subscription;\r\n  lotType = constants.common.lotTypes;\r\n  isQuickBidOrNot: boolean;\r\n  changeInAmount: boolean = false;\r\n\r\n  constructor(\r\n    private auctionService: AuctionService,\r\n    private loader: LoaderService,\r\n    private lotService: LotService,\r\n    private route: ActivatedRoute,\r\n    private router: Router,\r\n    private modalService: BsModalService,\r\n    private watchListService: WatchListService,\r\n    private toastrService: ToastrService,\r\n    private storage: WebStorageService,\r\n    private bidService: BidService,\r\n    private auctionTimer: AuctionTimeService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.route.params.subscribe((params) => {\r\n      this.lotNumber = params['lotId'];\r\n      this.auctionCode = params['auctionCode'];\r\n      this.bindDataToForm1();\r\n    });\r\n    this.route.queryParams.subscribe((queryParams) => {\r\n      this.lotId = queryParams['lotId'];\r\n    });\r\n    var loggedInData = this.storage.getBuyer()?.loggedIn;\r\n    if (loggedInData == true) {\r\n      this.loggedInUser = this.storage.getBuyer()?.currentUser?.user?.id;\r\n      this.userFullName =\r\n        this.storage.getBuyer()?.currentUser?.user?.firstName +\r\n        ' ' +\r\n        this.storage.getBuyer()?.currentUser?.user?.lastName;\r\n    }\r\n    this.route.queryParams.subscribe((qParams) => {\r\n      this.returnUrl = qParams['returnTo'];\r\n    });\r\n\r\n    this.route.data.subscribe((d: Data) => {\r\n      this.auctionCurrentState = d['currentState'];\r\n    });\r\n  }\r\n\r\n  ngAfterContentInit(): void {\r\n    this.loadPrettyPhoto();\r\n  }\r\n\r\n  loadPrettyPhoto(): void {\r\n    function waitForElm(selector) {\r\n        return new Promise(resolve => {\r\n            if (document.querySelector(selector)) {\r\n                return resolve(document.querySelector(selector));\r\n            }\r\n            const observer = new MutationObserver(mutations => {\r\n                if (document.querySelector(selector)) {\r\n                    resolve(document.querySelector(selector));\r\n                    observer.disconnect();\r\n                }\r\n            });\r\n            observer.observe(document.body, {\r\n                childList: true,\r\n                subtree: true\r\n            });\r\n        });\r\n    };\r\n    waitForElm('.prettyPhotoSlideWrapperLotDetail').then((elm) => {\r\n      //@ts-ignore\r\n      $('a[rel^=\"prettyPhoto\"]').prettyPhoto({\r\n          animationSpeed: 'slow',\r\n          theme: 'dark_rounded'\r\n      });\r\n    })\r\n  }\r\n\r\n  private initializeOnRouteChange() {\r\n    this.lotId = null;\r\n    this.loggedInUser = 0;\r\n    this.showTimer = true;\r\n    this.currentSlider = [];\r\n    this.errorMsg = null;\r\n    this.isUserHighestBidder = false;\r\n\r\n    this.isAddedToWatchlist = false;\r\n    this.isLotClosed = false;\r\n    this.isLowConnectionMode = false;\r\n\r\n    this.lotId = 0;\r\n\r\n    let checkLotClosed = this.auctionTimer.isLotClosingBegun(\r\n      this.eachLotData?.lotEndTimeUtc\r\n    );\r\n\r\n    var loggedInData = this.storage.getBuyer()?.loggedIn;\r\n\r\n    if (loggedInData) {\r\n      this.loggedInUser = this.storage.getBuyer()?.currentUser?.user?.id;\r\n      this.checkLotConnectionMode();\r\n    }\r\n\r\n    if (\r\n      this.loggedInUser > 0 &&\r\n      this.eachLotData.loggedInUser?.isApproved &&\r\n      (this.eachLotData.auction?.auctionStatus == this.auctionStatuses.past ||\r\n        checkLotClosed) &&\r\n      !this.readOnlyCatalog\r\n    ) {\r\n      this.showTimer = false;\r\n      this.isLotClosed = true;\r\n    }\r\n\r\n    this.getResolverData();\r\n  }\r\n\r\n  private checkLotConnectionMode() {\r\n    let storedValue = this.storage.getBuyer();\r\n    if (storedValue)\r\n      this.isLowConnectionMode = storedValue?.lotLowConnectionMode;\r\n  }\r\n\r\n  getResolverData() {\r\n    this.route.data.subscribe((res) => {\r\n      this.auctionCurrentState = res['auctionState'];\r\n      if (\r\n        !this.auctionCurrentState.isActive &&\r\n        !this.auctionCurrentState.isApproved\r\n      ) {\r\n        this.checkAuctionDeactivated();\r\n      }\r\n      this.checkReadOnlyCatalog(this.auctionCurrentState);\r\n    });\r\n  }\r\n\r\n  private checkAuctionDeactivated() {\r\n    if (\r\n      this.auctionCurrentState.isSentForApproval &&\r\n      this.auctionCurrentState.status === this.auctionStatuses.pending\r\n    ) {\r\n      return;\r\n    }\r\n    if (!this.auctionCurrentState.saleType.isCatalogReadOnly) {\r\n      this.toastrService.info(\r\n        `Unfortunately ${this.auctionCode} is no longer available for bidding and you will be notified if and when the auction becomes available for bidding again`,\r\n        constants.common.toast.infoTitle,\r\n        constants.common.toast.config\r\n      );\r\n    }\r\n    if (this.auctionCurrentState.saleType.isCatalogReadOnly) {\r\n      this.toastrService.info(\r\n        `Unfortunately ${this.auctionCode} is deactivated and you will be notified if and when the auction becomes available again`,\r\n        constants.common.toast.infoTitle,\r\n        constants.common.toast.config\r\n      );\r\n    }\r\n    this.router.navigateByUrl('/');\r\n  }\r\n\r\n  private checkReadOnlyCatalog(auctionState: AuctionCurrentState) {\r\n    this.readOnlyCatalog = auctionState.saleType.isCatalogReadOnly;\r\n  }\r\n\r\n  private checkBidding() {\r\n    let checkLotClosed = this.auctionTimer.isLotClosingBegun(\r\n      this.eachLotData?.lotEndTimeUtc\r\n    );\r\n\r\n    if (\r\n      this.loggedInUser > 0 &&\r\n      this.eachLotData.loggedInUser?.isApproved &&\r\n      this.eachLotData.auction?.auctionStatus == this.auctionStatuses.live &&\r\n      !this.readOnlyCatalog &&\r\n      !checkLotClosed\r\n    ) {\r\n      this.lotHubConnection = new HubConnectionBuilder()\r\n        .configureLogging(LogLevel.None)\r\n        .withUrl(this.hubUrl)\r\n        .withAutomaticReconnect()\r\n        .build();\r\n\r\n      this.registerHubEvents();\r\n      this.lotHubConnection\r\n        .start()\r\n        .then(() => {\r\n          this.getLotData();\r\n        })\r\n        .catch(() => {\r\n          this.loader.showLoader(true);\r\n        });\r\n    } else {\r\n      this.checkHigherBidder(this.eachLotData.highestBidder);\r\n    }\r\n  }\r\n\r\n  private registerHubEvents() {\r\n    this.lotHubConnection.onreconnecting(() => {\r\n      this.loader.showLoader(true);\r\n    });\r\n\r\n    this.biddingListener();\r\n\r\n    this.lotHubConnection.onreconnected(() => {\r\n      this.getLotData();\r\n    });\r\n  }\r\n\r\n  private getLotData() {\r\n    this.loader.showLoader(true);\r\n    let groupName: string =\r\n      this.eachLotData.auction?.id + '#' + this.eachLotData?.id;\r\n    this.lotHubConnection\r\n      .invoke('AddUserToLotBidding', groupName)\r\n      .then((response) => {\r\n        if (response != null) {\r\n          this.mapBidInfo(response);\r\n        }\r\n        this.loader.showLoader(false);\r\n      })\r\n      .catch(() => {\r\n        this.loader.showLoader(false);\r\n      });\r\n    this.getServerCurrentDatetime();\r\n  }\r\n\r\n  getServerCurrentDatetime() {\r\n    this.serverTimeSub = interval(10000).subscribe(() => {\r\n      this.lotHubConnection.invoke('ServerCurrentDateTime').then((response) => {\r\n        this.eachLotData.lotStartTimeUtc = response;\r\n      });\r\n    });\r\n  }\r\n\r\n  isTimeReached(isReached: boolean) {\r\n    if (isReached) {\r\n      this.getLotResults();\r\n      this.showTimer = false;\r\n      this.isLotClosed = true;\r\n    }\r\n  }\r\n\r\n  private checkHigherBidder(highestBidders: Array<number> | null) {\r\n    this.isUserHighestBidder = false;\r\n    if (highestBidders != null) {\r\n      let isHighest: number = highestBidders.find(\r\n        (i) => i == this.eachLotData.loggedInUser?.userId\r\n      );\r\n      this.isUserHighestBidder = isHighest > -1 ? true : false;\r\n    }\r\n  }\r\n\r\n  mapBidInfo(res: BidInfo, needToShowOutBidToast = false) {\r\n    this.changeInAmount =\r\n      +this.eachLotData.nextRequiredBid !== +res.nextRequiredBid;\r\n    this.eachLotData.bidCount = res.bidCount;\r\n    this.eachLotData.currentBid = res.currentBid;\r\n    this.eachLotData.highestBid = res.highestBid;\r\n    this.eachLotData.highestBidder = res.highestBidders;\r\n    this.eachLotData.nextRequiredBid = res.nextRequiredBid;\r\n    this.eachLotData.lotEndTimeUtc = res.lotEndTimeUtc;\r\n    this.eachLotData.soldTo = res.soldTo;\r\n    this.eachLotData.soldAt = res.soldAt;\r\n    this.eachLotData.extendedByMinutes = res.extendedByMinutes;\r\n    this.eachLotData.timeLeft = res.timeLeft;\r\n    this.eachLotData.isBiddingPaused = res.isBiddingPaused;\r\n    this.eachLotData.lotStatus = res.lotStatus;\r\n    this.eachLotData.willSell = res?.willSell;\r\n    this.eachLotData.loosers = res?.loosers;\r\n    this.eachLotData.outbid = this.findOutbid(\r\n      this.eachLotData\r\n    );\r\n\r\n    this.checkHigherBidder(res.highestBidders);\r\n\r\n    this.isAddedToWatchlist = this.eachLotData.watchListId > 0 ? true : false;\r\n  }\r\n\r\n  private biddingListener() {\r\n    this.lotHubConnection.on('GetLotByGroupName', (data: BidInfo) => {\r\n      if (data != null) {\r\n        this.mapBidInfo(data, true);\r\n      }\r\n    });\r\n  }\r\n\r\n  getViewLotDetail() {\r\n    this.loader.showLoader(true);\r\n    const lotDetail = this.lotService\r\n      .getLotDetail(this.lotId, this.auctionCode, this.lotNumber)\r\n      .subscribe(\r\n        (res: any) => {\r\n          this.eachLotData = res;\r\n          this.lotId = this.eachLotData.id;\r\n          this.initializeOnRouteChange();\r\n          if (!this.isLowConnectionMode) {\r\n            this.checkBidding();\r\n          } else {\r\n            this.checkHigherBidder(this.eachLotData.highestBidder);\r\n          }\r\n          this.currentSlider = res.images;\r\n          this.eachLotData['outbid'] = this.findOutbid(this.eachLotData);\r\n          this.isAddedToWatchlist =\r\n            this.eachLotData.watchListId > 0 ? true : false;\r\n          this.loader.showLoader(false);\r\n        },\r\n        () => {\r\n          this.loader.showLoader(false);\r\n          this.goBack();\r\n        }\r\n      );\r\n      this.subscriptions.push(lotDetail)\r\n  }\r\n\r\n  private bindDataToForm1() {\r\n    this.loader.showLoader(true);\r\n    const auctionDetailByCode = this.auctionService\r\n      .getAuctionDetailByCode(this.auctionCode)\r\n      .subscribe((res: any) => {\r\n        this.auctionDetail = res;\r\n        this.loader.showLoader(false);\r\n        this.getViewLotDetail();\r\n      });\r\n      this.subscriptions.push(auctionDetailByCode)\r\n  }\r\n\r\n  goToLot(lotNumber: string) {\r\n    this.router.navigate(\r\n      [this.auctionCode, routeTable.public.auctionLot, lotNumber],\r\n      {\r\n        queryParamsHandling: 'preserve',\r\n      }\r\n    );\r\n  }\r\n\r\n  goBack() {\r\n    if (this.returnUrl) {\r\n      this.router.navigateByUrl(this.returnUrl);\r\n    } else {\r\n      this.router.navigate([this.auctionCode, routeTable.public.auctionLot]);\r\n    }\r\n  }\r\n\r\n  goToRegister(auctionCode: number) {\r\n    this.router.navigate([auctionCode, routeTable.public.auctionRegister], {\r\n      queryParams: { returnTo: this.router.url },\r\n    });\r\n  }\r\n\r\n  onSubmit(isQuickBid) {\r\n    this.isQuickBidOrNot = isQuickBid;\r\n    this.changeInAmount = false;\r\n    //if (isQuickBid) {\r\n    if (!this.biddingAmount.value && !this.isQuickBidOrNot) {\r\n      return;\r\n    } else {\r\n      this.modalRef = this.modalService.show(this.quickBidModal, {\r\n        class: 'custom-popup modal-dialog-centered',\r\n        ignoreBackdropClick: true,\r\n        keyboard: false,\r\n      });\r\n      this.modalRef.onHidden.subscribe(() => {\r\n        this.changeInAmount = false;\r\n      });\r\n    }\r\n  }\r\n\r\n  closeReviewModal() {\r\n    this.changeInAmount = false;\r\n    this.modalRef.hide();\r\n  }\r\n\r\n  submitBidByApi(isQuickBid: boolean = false) {\r\n    this.errorMsg = null;\r\n    let bidAmount: number;\r\n\r\n    if (!isQuickBid) {\r\n      if (this.biddingAmount.invalid) return;\r\n      bidAmount = +this.biddingAmount.value;\r\n    } else {\r\n      bidAmount = +this.eachLotData.nextRequiredBid;\r\n    }\r\n\r\n    this.loader.showLoader(true);\r\n    let model: BulkBid = {\r\n      auctionId: this.eachLotData.auction.id,\r\n      lotAmount: [\r\n        {\r\n          lotId: this.eachLotData.id,\r\n          amount: bidAmount,\r\n        },\r\n      ],\r\n      userId: this.eachLotData.loggedInUser?.userId,\r\n      paddleNumber: this.eachLotData.loggedInUser?.paddleNumber,\r\n      proxyUserId: null,\r\n    };\r\n    this.bidService\r\n      .submitPublicBulkBid(model)\r\n      .toPromise()\r\n      .then((res: any) => {\r\n        res = res[0];\r\n        this.loader.showLoader(false);\r\n        if (res.isSuccess) {\r\n          this.toastrService.success(\r\n            res.message,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.biddingAmount.reset();\r\n        } else {\r\n          this.errorMsg = res.message;\r\n        }\r\n        if (res.isDeactivated) {\r\n          this.checkAuctionDeactivated();\r\n        }\r\n      })\r\n      .catch((err) => {\r\n        this.loader.showLoader(false);\r\n        this.toastrService.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      });\r\n    this.closeReviewModal();\r\n  }\r\n\r\n  private getLotResults() {\r\n    this.loader.showLoader(true);\r\n    const lotResult = this.bidService.getLotResult(this.eachLotData.id).subscribe(\r\n      (res) => {\r\n        this.loader.showLoader(false);\r\n        this.mapBidInfo(res, true);\r\n      },\r\n      () => this.loader.showLoader(false)\r\n    );\r\n    this.subscriptions.push(lotResult)\r\n  }\r\n\r\n  openModalViewMore(\r\n    template4: TemplateRef<any>,\r\n    isSliderImages: boolean = false,\r\n    picture\r\n  ) {\r\n    let photoArray = [];\r\n    this.currentSlider = [];\r\n    photoArray = this.eachLotData?.images;\r\n    let index = photoArray.findIndex((x) => x.id == picture?.id);\r\n    if (index > -1) {\r\n      photoArray[index]['selected'] = true;\r\n    }\r\n\r\n    let arr = photoArray.filter((x) => x.id >= picture?.id);\r\n    let arr1 = photoArray.filter((x) => x.id < picture?.id);\r\n    Array.prototype.push.apply(this.currentSlider, arr);\r\n    Array.prototype.push.apply(this.currentSlider, arr1);\r\n\r\n    this.currentSliderHeader = 'Photo Gallery';\r\n    this.modalRef = this.modalService.show(template4, this.config);\r\n  }\r\n  getHighlightedImage(image) {\r\n    this.currentSlider.forEach((element) => {\r\n      if (element.selected) {\r\n        delete element.selected;\r\n      }\r\n    });\r\n    image['selected'] = true;\r\n    return image;\r\n  }\r\n\r\n  addToWatchList() {\r\n    this.loader.showLoader(true);\r\n    let model = {\r\n      lotId: this.eachLotData.id,\r\n      auctionId: this.auctionDetail.id,\r\n    };\r\n    const addwatchList = this.watchListService.addToWatchList(model).subscribe(() => {\r\n      this.toastrService.success(\r\n        `Lot # ${this.eachLotData.lotNumber} added to Watchlist`,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n      this.isAddedToWatchlist = true;\r\n      this.loader.showLoader(false);\r\n    });\r\n    this.subscriptions.push(addwatchList)\r\n  }\r\n\r\n  removeFromWatchList() {\r\n    this.loader.showLoader(true);\r\n    let model = {\r\n      lotId: this.eachLotData.id,\r\n      auctionId: this.auctionDetail.id,\r\n    };\r\n    const removeWatchList = this.watchListService.removeFromWatchList(model).subscribe(() => {\r\n      this.toastrService.success(\r\n        `Lot # ${this.eachLotData.lotNumber} removed from Watchlist`,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n      this.isAddedToWatchlist = false;\r\n      this.loader.showLoader(false);\r\n    });\r\n    this.subscriptions.push(removeWatchList)\r\n  }\r\n\r\n  findLooser(): number {\r\n    if (this.eachLotData.loosers)\r\n      return this.eachLotData.loosers?.findIndex(\r\n        (i) => i == +this.loggedInUser\r\n      );\r\n  }\r\n\r\n  findOutbid(item) {\r\n    let index =\r\n      item.loosers && item.loosers?.length > 0\r\n        ? item.loosers?.findIndex((x) => x == this.loggedInUser)\r\n        : -1;\r\n    let index1 =\r\n      item.highestBidder && item.highestBidder?.length > 0\r\n        ? item.highestBidder?.findIndex((x) => x == this.loggedInUser)\r\n        : -1;\r\n    if (index > -1 && index1 == -1) {\r\n      return true;\r\n    } else {\r\n      return false;\r\n    }\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    if (this.serverTimeSub) this.serverTimeSub.unsubscribe();\r\n    if (this.lotHubConnection) {\r\n      this.lotHubConnection.stop();\r\n    }\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<app-lot-connection-mode *ngIf=\"!readOnlyCatalog\"></app-lot-connection-mode>\r\n\r\n<div class=\"public-wrap\">\r\n  <div class=\"container\">\r\n    <div class=\"row\">\r\n      <div class=\"col-md-6 mb-2 mb-md-0 back-link-outer\">\r\n        <a class=\"back-link\" role=\"button\" (click)=\"goBack()\">\r\n          <img alt=\"back\" src=\"../assets/images/back.svg\" /> Back To All Lots</a>\r\n      </div>\r\n      <div class=\"col-md-6\">\r\n        <div class=\"next-prev-lots\">\r\n          <button type=\"button\" class=\"btn btn-colored prev-btn-icon mr-2\" role=\"button\"\r\n            (click)=\"goToLot(eachLotData?.previousLotNumber)\" *ngIf=\"eachLotData?.previousLotNumber != null\">\r\n            <img alt=\"prev-icon\" src=\"../assets/images/prev.svg\" class=\"prev-icon mr-2\" width=\"17\" />\r\n            Previous Lot\r\n          </button>\r\n          <button type=\"button\" class=\"btn btn-colored next-btn-icon\" role=\"button\"\r\n            (click)=\"goToLot(eachLotData?.nextLotNumber)\" *ngIf=\"eachLotData?.nextLotNumber != null\">\r\n            Next Lot\r\n            <img alt=\"next-arrow\" src=\"../assets/images/next.svg\" class=\"next-icon ml-2\" width=\"17\" />\r\n          </button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <h1 class=\"view-lot-hdg\">View Lot</h1>\r\n      </div>\r\n\r\n      <div class=\"col-12\">\r\n        <span class=\"card-badge min-width-auto badge-dark mb-2\">Lot #{{ eachLotData?.lotNumber }}</span>\r\n      </div>\r\n      <div class=\"col-12\">\r\n        <p class=\"view-lot-author\">\r\n          Auction: {{ eachLotData?.auction?.title }}\r\n        </p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"view-lot-slider-wrapper\">\r\n      <div class=\"row\">\r\n        <div class=\"col-lg-6 view-left-wrapper\">\r\n          <div class=\"slide slide-view\">\r\n            <img alt=\"lot-images\" src=\"/assets/images/image_not_found.svg\"\r\n              *ngIf=\"eachLotData?.thumbnailImages?.length == 0; else block\" />\r\n          </div>\r\n\r\n          <ng-template #block>\r\n            <ngx-slick-carousel class=\"carousel viewLotHeader\" [config]=\"viewLotHeader\">\r\n              <div ngxSlickItem class=\"slide slide-view\" *ngFor=\"let item of eachLotData?.images; let i = index\">\r\n                <img alt=\"lot-images\" [src]=\"item?.name\" />\r\n              </div>\r\n            </ngx-slick-carousel>\r\n\r\n            <ngx-slick-carousel class=\"carousel viewLotThumbs m-0 custom-slick-arrow\" [config]=\"viewLotThumbs\">\r\n              <div ngxSlickItem class=\"slide\" *ngFor=\"let item of eachLotData?.thumbnailImages; let i = index\">\r\n                <!-- <a id=\"myLink\" href=\"{{ item?.name }}\" rel=\"prettyPhoto[pp_gal2]\" class=\"prettyPhotoSlideWrapperLotDetail\">\r\n                  <img alt=\"auction-image\" class=\"cursor-pointer preview-image\" src=\"{{ item?.thumb }}\" imgFallback=\"{{ item?.name }}\"  />\r\n                </a> -->\r\n                <img alt=\"lot-images\" [src]=\"item?.name\" imagePreview [thumbnailImages]=\"eachLotData?.thumbnailImages\"\r\n                  [actualImages]=\"eachLotData?.images\" [currentImage]=\"item\" [header]=\"'Lot Images'\" />\r\n              </div>\r\n            </ngx-slick-carousel>\r\n          </ng-template>\r\n        </div>\r\n\r\n        <div class=\"col-lg-6 view-right-wrapper\">\r\n          <ng-container *ngIf=\"!readOnlyCatalog\">\r\n            <div class=\"closes-in-wrap\" *ngIf=\"\r\n                !eachLotData?.isBiddingPaused &&\r\n                showTimer &&\r\n                eachLotData?.loggedInUser &&\r\n                eachLotData?.loggedInUser?.isApproved &&\r\n                eachLotData?.auction.auctionStatus == auctionStatuses.live\r\n              \">\r\n              <img alt=\"clock\" src=\"../assets/images/clock.svg\" />\r\n              <span class=\"closes-in\">Closes In</span>\r\n              <span class=\"close-time\">\r\n                <timer-countdown [timeLeft]=\"eachLotData?.timeLeft\" [startTime]=\"eachLotData?.lotStartTimeUtc\"\r\n                  [endTime]=\"eachLotData?.lotEndTimeUtc\" [isLowConnectionMode]=\"isLowConnectionMode\"\r\n                  (timeReached)=\"isTimeReached($event)\"></timer-countdown>\r\n                <span class=\"extended\" *ngIf=\"eachLotData?.extendedByMinutes\">Extended</span>\r\n              </span>\r\n            </div>\r\n          </ng-container>\r\n\r\n          <div class=\"view-lot-des2\">\r\n            <p>{{ eachLotData?.description }}</p>\r\n          </div>\r\n\r\n          <div class=\"view-lot-des2\">\r\n            <p>{{ eachLotData?.category }}</p>\r\n          </div>\r\n\r\n          <div class=\"location-wrap\">\r\n            <div class=\"location\">\r\n              <ng-container *ngIf=\"eachLotData?.quantity > 1\">\r\n                <span class=\"ml-0 mr-2 forQty\">Qty: {{ eachLotData?.quantity }}</span>\r\n              </ng-container>\r\n              <img class=\"location mr-2\" alt=\"location\" src=\"/assets/images/location-grey.svg\" />\r\n              <span>{{ eachLotData?.location }}</span>\r\n            </div>\r\n\r\n            <ng-container *ngIf=\"!readOnlyCatalog\">\r\n              <ng-container *ngIf=\"\r\n                  eachLotData?.auction?.auctionStatus == auctionStatuses.live\r\n                \">\r\n                <p class=\"bid\">{{ eachLotData?.bidCount }} Bids</p>\r\n              </ng-container>\r\n            </ng-container>\r\n          </div>\r\n\r\n          <ng-container *ngIf=\"!readOnlyCatalog\">\r\n            <div class=\"view-lot-des2\" style=\"font-size: 12px\" *ngIf=\"\r\n                showTimer &&\r\n                eachLotData?.loggedInUser &&\r\n                eachLotData?.auction.auctionStatus == auctionStatuses.live\r\n              \">\r\n              <ng-container *ngIf=\"eachLotData?.reservePrice\">\r\n                <ng-container *ngIf=\"eachLotData?.bidCount > 0; else elseTemplate\">\r\n                  <ng-container *ngIf=\"\r\n                      eachLotData?.currentBid >= eachLotData?.reservePrice;\r\n                      else elseBody\r\n                    \">\r\n                    <p>Reserve Price Met</p>\r\n                  </ng-container>\r\n                  <ng-template #elseBody>\r\n                    <p>Reserve Price Not Met</p>\r\n                  </ng-template>\r\n                </ng-container>\r\n                <ng-template #elseTemplate>\r\n                  <p>Subject To Reserve Price</p>\r\n                </ng-template>\r\n              </ng-container>\r\n              <!-- for bulk lot or individual lot i text -->\r\n              <ng-container *ngIf=\"\r\n                  eachLotData?.lotType === lotType.individual &&\r\n                  eachLotData?.addedInBulkLotName\r\n                \">\r\n                <p class=\"m-0\">\r\n                  Subject to Bulk Lot of {{ eachLotData?.addedInBulkLotName }}\r\n                  <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"This lot is subject to Bulk Lot {{\r\n                      eachLotData?.addedInBulkLotName\r\n                    }}. In order for this lot to be awarded, the aggregate total of Lots {{\r\n                      eachLotData?.associatedLots | bulkLots\r\n                    }} must exceed the value of {{\r\n                      eachLotData?.addedInBulkLotName\r\n                    }}. Additionally, the Bulk Bidder/Individual Bidders will be given {{\r\n                      eachLotData?.individualModifier\r\n                    }}% protection.\" [matTooltipPosition]=\"'above'\">\r\n                    <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n                  </span>\r\n                </p>\r\n              </ng-container>\r\n              <ng-container *ngIf=\"\r\n                  eachLotData?.lotType === lotType.bulk &&\r\n                  eachLotData?.lots?.length\r\n                \">\r\n                <p class=\"m-0\">\r\n                  Subject to Lots {{ eachLotData?.lots | bulkLots }}\r\n                  <span class=\"custom-tooltip\" #tooltip=\"matTooltip\"\r\n                    matTooltip=\"\r\n      The Bulk Bid is Subject to the Aggregate of Lots {{\r\n                      eachLotData?.lots | bulkLots\r\n                    }}. The Bulk Bidder/Piecemeal Bidders will be given {{\r\n                      eachLotData?.modifier\r\n                    }}% protection. Whichever lot(s) produce the highest total will be awarded the Lot. The Bulk Bid will close before the individual lots and you will not get a chance to re-bid after the individual lots close.\"\r\n                    [matTooltipPosition]=\"'above'\">\r\n                    <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n                  </span>\r\n                </p>\r\n              </ng-container>\r\n              <ng-container *ngIf=\"!isLotClosed\">\r\n                <ng-container *ngIf=\"\r\n                    eachLotData?.willSell &&\r\n                    eachLotData?.lotType != eachLotData?.willSell &&\r\n                    eachLotData?.addedInBulkLotName\r\n                  \">\r\n                  <p class=\"m-0\">Below Bulk Bid Threshold</p>\r\n                </ng-container>\r\n                <ng-container *ngIf=\"\r\n                    eachLotData?.willSell &&\r\n                    eachLotData?.lotType != eachLotData?.willSell &&\r\n                    eachLotData?.lots?.length\r\n                  \">\r\n                  <p class=\"m-0\">Below Bulk Bid Threshold</p>\r\n                </ng-container>\r\n              </ng-container>\r\n            </div>\r\n            <ng-container *ngIf=\"\r\n                !eachLotData?.isBiddingPaused &&\r\n                eachLotData?.loggedInUser &&\r\n                eachLotData?.loggedInUser?.isApproved &&\r\n                eachLotData?.auction?.auctionStatus == auctionStatuses.live &&\r\n                !isLotClosed\r\n              \">\r\n              <div class=\"top-price\" *ngIf=\"loggedInUser\">\r\n                <div class=\"bid-price left-price\">\r\n                  <p class=\"name\">{{eachLotData?.bidCount == 0 ? 'Opening Bid' : 'Current Bid'}} Amount</p>\r\n                  <p class=\"amount\">\r\n                    {{\r\n                    eachLotData?.currentBid\r\n                    | auctionCurrency: eachLotData?.auction?.curreny\r\n                    }}\r\n                  </p>\r\n                </div>\r\n\r\n                <div class=\"bid-price right-price\">\r\n                  <p class=\"name\">\r\n                    {{\r\n                    isUserHighestBidder\r\n                    ? \"Max Bid Amount\"\r\n                    : \"Next Required Bid\"\r\n                    }}\r\n                  </p>\r\n                  <p class=\"amount\">\r\n                    <ng-container *ngIf=\"isUserHighestBidder; else nextRequiredBidSection\">\r\n                      {{\r\n                      eachLotData?.highestBid\r\n                      | auctionCurrency: eachLotData?.auction?.curreny\r\n                      }}\r\n                    </ng-container>\r\n                    <ng-template #nextRequiredBidSection>\r\n                      {{\r\n                      eachLotData?.nextRequiredBid\r\n                      | auctionCurrency: eachLotData?.auction?.curreny\r\n                      }}\r\n                      <small>\r\n                        {{ eachLotData?.quantity > 1 ? \"Each\" : \"\" }}\r\n                      </small>\r\n                    </ng-template>\r\n                  </p>\r\n                </div>\r\n              </div>\r\n              <div class=\"bid-price-input\" *ngIf=\"loggedInUser\">\r\n                <div class=\"price-left\">\r\n                  <div class=\"form-group no-float-fields m-0 height-42\">\r\n                    <mat-form-field appearance=\"outline\">\r\n                      <input matInput type=\"number\" [formControl]=\"biddingAmount\" />\r\n                    </mat-form-field>\r\n                    <control-messages [control]=\"biddingAmount\"></control-messages>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"price-right mt-2\">\r\n                  <button type=\"button\" class=\"btn btn-white-border w-100\" role=\"button\" (click)=\"onSubmit(false)\">\r\n                    Bid Now\r\n                  </button>\r\n                </div>\r\n              </div>\r\n              <div class=\"bid-submit mt-2\" *ngIf=\"loggedInUser && !isUserHighestBidder\">\r\n                <button type=\"button\" class=\"btn btn-colored w-100\" role=\"button\" (click)=\"onSubmit(true)\">\r\n                  Quick Bid\r\n                  {{\r\n                  eachLotData?.nextRequiredBid\r\n                  | auctionCurrency: eachLotData?.auction?.curreny\r\n                  }}\r\n                </button>\r\n              </div>\r\n\r\n              <div class=\"bid-green-hover-outer mt-2\" *ngIf=\"loggedInUser && isUserHighestBidder\">\r\n                <button type=\"button\" class=\"btn btn-colored btn-green-hover w-100\">\r\n                  <img alt=\"high bidder\" class=\"mr-2\" src=\"./assets/images/white-check.svg\" />\r\n                  High Bidder\r\n                </button>\r\n                <div class=\"hover-wrap\">\r\n                  <p class=\"m-0\">\r\n                    You will be able to \"Quick Bid\" after your bid is outbid.\r\n                    <br />\r\n                    <br />\r\n                    You may still increase your max bid by entering a higher\r\n                    value on clicking Bid Now.\r\n                  </p>\r\n                </div>\r\n              </div>\r\n\r\n              <div *ngIf=\"errorMsg != null\">\r\n                <p class=\"error-msg\">{{ errorMsg }}</p>\r\n              </div>\r\n            </ng-container>\r\n\r\n            <div class=\"pause-bidding text-center my-3\" *ngIf=\"eachLotData?.isBiddingPaused\">\r\n              <img alt=\"clock-icon\" class=\"clock-icon\" style=\"height: 25px\" src=\"./assets/images/clock-grey.svg\" />\r\n              <h4>Bidding is paused!</h4>\r\n            </div>\r\n\r\n            <div class=\"auc-card-content auc-card-btns pt-3 text-center\">\r\n              <button type=\"button\" class=\"btn btn-white-border w-100\" *ngIf=\"\r\n                  auctionDetail?.saleType?.registrationFormat == 1 &&\r\n                  auctionDetail?.isRegistrationActive &&\r\n                  (auctionDetail?.auctionStatus == 1 ||\r\n                    auctionDetail?.auctionStatus == 2) &&\r\n                  eachLotData?.loggedInUser == null &&\r\n                  showTimer\r\n                \" role=\"button\" (click)=\"goToRegister(auctionDetail?.auctionCode)\">\r\n                Register to Bid\r\n              </button>\r\n\r\n              <div class=\"w-100 mb-2 sold-wrap text-center\" *ngIf=\"\r\n                  eachLotData?.lotStatus &&\r\n                  isLotClosed &&\r\n                  eachLotData?.loggedInUser\r\n                \">\r\n                <ng-container [ngSwitch]=\"eachLotData?.lotStatus\">\r\n                  <ng-container *ngSwitchCase=\"soldStatuses.sold\">\r\n                    <div class=\"badge-type\">\r\n                      <span class=\"card-badge-colored mr-2\">SOLD</span>\r\n                    </div>\r\n                    <p *ngIf=\"eachLotData?.soldTo == loggedInUser\">\r\n                      Winning Bidder\r\n                    </p>\r\n                    <p *ngIf=\"findLooser() > -1  && eachLotData?.soldTo !== loggedInUser\">Unsuccessful</p>\r\n                  </ng-container>\r\n                  <ng-container *ngSwitchCase=\"soldStatuses.unsold\">\r\n                    <div class=\"badge-type\">\r\n                      <span class=\"card-badge-colored mr-2\"> UNSOLD </span>\r\n                    </div>\r\n                  </ng-container>\r\n                  <ng-container *ngSwitchCase=\"soldStatuses.cancelled\">\r\n                    <div class=\"badge-type\">\r\n                      <span class=\"card-badge-colored mr-2\"> CANCELLED </span>\r\n                    </div>\r\n                  </ng-container>\r\n                  <ng-container *ngSwitchCase=\"soldStatuses.pending\">\r\n                    <div class=\"badge-type\">\r\n                      <span class=\"card-badge-colored mr-2\"> PENDING </span>\r\n                    </div>\r\n                  </ng-container>\r\n                </ng-container>\r\n              </div>\r\n\r\n              <ng-container *ngIf=\"false\">\r\n                {{ \"this is not used now\" }}\r\n                <div class=\"w-100 mb-2 sold-wrap text-center\" *ngIf=\"\r\n                    !eachLotData?.lotStatus &&\r\n                    isLotClosed &&\r\n                    eachLotData.loggedInUser\r\n                  \">\r\n                  <div class=\"badge-type\">\r\n                    <ng-container [ngSwitch]=\"eachLotData?.lotStatus\">\r\n                      <div *ngSwitchCase=\"3\">\r\n                        <span class=\"card-badge-colored mr-2\"> UNSOLD </span>\r\n                      </div>\r\n                      <div *ngSwitchCase=\"4\">\r\n                        <span class=\"card-badge-colored mr-2\"> CANCELLED </span>\r\n                      </div>\r\n                    </ng-container>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n\r\n              <ng-container *ngIf=\"!isLotClosed\">\r\n                <div class=\"starred add-wishlist mt-2\" role=\"button\" (click)=\"addToWatchList()\"\r\n                  *ngIf=\"loggedInUser != 0 && !isAddedToWatchlist\">\r\n                  <span class=\"for-image\">\r\n                    <img alt=\"not added\" src=\"/assets/images/star-stroke-grey.svg\" />\r\n                  </span>\r\n                  <span class=\"ml-2\">Add To Watchlist</span>\r\n                </div>\r\n\r\n                <a [routerLink]=\"['/profile/my-watchlist']\" *ngIf=\"loggedInUser != 0 && isAddedToWatchlist\">\r\n                  <div class=\"add-wishlist mt-2 d-inline-flex\">\r\n                    <span class=\"for-image\">\r\n                      <img alt=\"added\" src=\"/assets/images/star-filled.svg\" />\r\n                    </span>\r\n                    <span class=\"ml-2\">Go to Watchlist</span>\r\n\r\n                  </div>\r\n\r\n                </a>\r\n                <span class=\"outbid-text ml-2\" *ngIf=\"eachLotData?.outbid\">Outbid</span>\r\n              </ng-container>\r\n\r\n              <ng-container *ngIf=\"isLowConnectionMode && !isLotClosed\">\r\n                <a class=\"iconRefresh\" role=\"button\" role=\"button\" (click)=\"getViewLotDetail()\">\r\n                  <img alt=\"refresh\" class=\"mr-2\" title=\"refresh\" src=\"/assets/images/refresh.svg\" />\r\n                  Refresh\r\n                </a>\r\n              </ng-container>\r\n            </div>\r\n          </ng-container>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #quickBidModal>\r\n  <div class=\"modal-header pl-3\">\r\n    <h4 class=\"modal-title pull-left\">Review Bids</h4>\r\n    <button type=\"button\" class=\"close pull-right circle-icon\" aria-label=\"Close\" role=\"button\"\r\n      (click)=\"closeReviewModal()\">\r\n      <img alt=\"cross\" _ngcontent-lrm-c188=\"\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"column-list\">\r\n      <div class=\"parts\">\r\n        <div class=\"left-wrap\">Auction</div>\r\n        <div class=\"right-wrap\">{{ eachLotData.auction.title | titlecase }}</div>\r\n      </div>\r\n\r\n      <div class=\"parts\">\r\n        <div class=\"left-wrap\">Bidder</div>\r\n        <div class=\"right-wrap\">\r\n          Paddle No. {{ eachLotData.loggedInUser.paddleNumber }} {{userFullName | titlecase}}\r\n        </div>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"data-table-wrap w-100\">\r\n      <table aria-label=\"table\" class=\"w-100 table-with-border review-bids-table\">\r\n        <tbody>\r\n          <tr class=\"mat-row\">\r\n            <td class=\"mat-cell column-1 listing-data-entry table-with-row-header\">\r\n              <span class=\"td-header\">Lot #</span>\r\n              {{ eachLotData.lotNumber }}\r\n            </td>\r\n            <td class=\"mat-cell column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n              <span class=\"td-header\">Lot Description</span>\r\n              {{ eachLotData.description | characterLimit: 50 }}\r\n            </td>\r\n            <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\" *ngIf=\"!isQuickBidOrNot\">\r\n              <span class=\"td-header\">Current</span>\r\n              {{ eachLotData.currentBid | auctionCurrency: eachLotData.auction.curreny }}\r\n            </td>\r\n            <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\" *ngIf=\"!isQuickBidOrNot\">\r\n              <span class=\"td-header\">New Bid</span>\r\n              {{ biddingAmount.value | auctionCurrency: eachLotData.auction.curreny }}\r\n\r\n\r\n            </td>\r\n            <td class=\"mat-cell column-3 listing-data-entry table-with-row-header\" *ngIf=\"isQuickBidOrNot\">\r\n              <span class=\"td-header\">Quick Bid</span>\r\n              {{ eachLotData.nextRequiredBid | auctionCurrency: eachLotData.auction.curreny }}\r\n            </td>\r\n          </tr>\r\n          <ng-container *ngIf=\"!isQuickBidOrNot\">\r\n            <div class=\"reviewBidError\" *ngIf=\"biddingAmount?.value < eachLotData.nextRequiredBid\">\r\n              <img alt=\"invalid bid\" class=\"mr-2\" src=\"assets/images/bidError.svg\" />\r\n              <p>\r\n                <strong>Invalid Bid:</strong> Bid of\r\n                {{ biddingAmount?.value | auctionCurrency: eachLotData.auction.curreny }}\r\n                is lower than next required bid of\r\n                {{\r\n                eachLotData.nextRequiredBid\r\n                | auctionCurrency: eachLotData.auction.curreny\r\n                }}\r\n              </p>\r\n            </div>\r\n          </ng-container>\r\n        </tbody>\r\n      </table>\r\n    </div>\r\n\r\n    <ng-container *ngIf=\"changeInAmount\">\r\n      <p>Note : New Bid has been placed. Please bid again.</p>\r\n    </ng-container>\r\n\r\n    <div class=\"review-btns-wrap mt-3\">\r\n      <ng-container *ngIf=\"!changeInAmount\">\r\n        <button type=\"button\" class=\"btn btn-colored\" role=\"button\" (click)=\"submitBidByApi(isQuickBidOrNot)\">\r\n          Submit Bid\r\n        </button>\r\n      </ng-container>\r\n      <button type=\"button\" class=\"btn btn-white-border\" role=\"button\" (click)=\"closeReviewModal()\">\r\n        Cancel\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { AppValidators } from '../../../../core/validators/app-validators';\r\nimport constants from '../../../../utility/constants';\r\nimport { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\nimport { CommonDropdown, GetAuctionStep1 } from '../../../../models';\r\nimport { LotService, AddLotModel, LoaderService } from '../../../../services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuctionTimeService } from '../../../../services/auction-time.service';\r\nimport {  Subscription } from 'rxjs';\r\nexport interface SearchLot {\r\n  id: number;\r\n  text: string;\r\n  selected: boolean;\r\n}\r\n\r\n@Component({\r\n  selector: 'app-bulk-lot-form',\r\n  templateUrl: './bulk-lot-form.component.html',\r\n  styleUrls: ['./bulk-lot-form.component.css'],\r\n})\r\nexport class BulkLotFormComponent implements OnInit {\r\n  @Input() auctionId: number;\r\n  @Input() lotId: number = 0;\r\n  @Input() auctionData: GetAuctionStep1;\r\n  @Output('lotFormStep1Completed') step1Completed = new EventEmitter<any>();\r\n\r\n  loading: boolean = false;\r\n  publishLoading: boolean = false;\r\n  submitting: boolean = false;\r\n\r\n  minimumLotsToBeAdd: number = 2;\r\n\r\n  private lotType: number = 2;\r\n\r\n  bulkLotForm: FormGroup;\r\n\r\n  fieldLengthShorter: number = constants.common.validations.maxLength10;\r\n  fieldLength: number = constants.common.validations.maxLength50;\r\n  fieldLengthLonger: number = constants.common.validations.maxLength8000;\r\n  minAmount: number = 0;\r\n  maxAmount: number = constants.common.bid.bidMaxAmount;\r\n  minModifier: number = constants.common.modifier.min;\r\n  maxModifier: number = constants.common.modifier.max;\r\n\r\n  // mat-slider config\r\n  label: boolean = true;\r\n  steps: number = 1;\r\n  tickIntervals: number = 10;\r\n\r\n  // actual lots listing\r\n  lotsForSearch: Array<SearchLot> = [];\r\n  // filtered lots on search\r\n  filteredLots: Observable<Array<SearchLot>>;\r\n  // for chips\r\n  selectedLots: Array<SearchLot> = [];\r\n\r\n  isClosingBegin: boolean = false;\r\n  private subscriptions: Array<Subscription> = [];\r\n  constructor(\r\n    private lotService: LotService,\r\n    private loader: LoaderService,\r\n    private auctionTimeService: AuctionTimeService,\r\n    private toastr: ToastrService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.initiateForm();\r\n\r\n    if (this.lotId) this.getLotDataById();\r\n    else this.lotsForDD();\r\n  }\r\n\r\n  private initiateForm() {\r\n    this.bulkLotForm = new FormGroup({\r\n      lotNumber: new FormControl(null, [\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldLengthShorter),\r\n        AppValidators.checkBulkLotNumber,\r\n      ]),\r\n      searchLot: new FormControl(null, [\r\n        Validators.maxLength(this.fieldLengthShorter),\r\n      ]),\r\n      description: new FormControl(null, [\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldLengthLonger),\r\n      ]),\r\n      location: new FormControl(null, [\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldLength),\r\n      ]),\r\n      category: new FormControl(null, [\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldLength),\r\n      ]),\r\n      consignor: new FormControl(null, [\r\n        Validators.maxLength(this.fieldLength),\r\n      ]),\r\n      startingPrice: new FormControl(null, [\r\n        Validators.min(this.minAmount),\r\n        Validators.max(this.maxAmount),\r\n      ]),\r\n      modifier: new FormControl(0, [\r\n        Validators.min(this.minModifier),\r\n        Validators.max(this.maxModifier),\r\n      ]),\r\n    });\r\n  }\r\n\r\n  private lotsForDD() {\r\n    this.lotService\r\n      .getLotsByAuction(this.auctionId, this.lotType)\r\n      .toPromise()\r\n      .then((response: CommonDropdown[]) => {\r\n        this.lotFiltering(response);\r\n      });\r\n  }\r\n\r\n  private _filter(lotNumber: string | null): SearchLot[] {\r\n    return lotNumber\r\n      ? this.lotsForSearch.filter((option) => option.text.includes(lotNumber))\r\n      : this.lotsForSearch;\r\n  }\r\n\r\n  private lotFiltering(response: CommonDropdown[]) {\r\n    this.lotsForSearch = response.map((lot) => ({\r\n      id: lot.value,\r\n      text: lot.text,\r\n      selected: false,\r\n    }));\r\n\r\n    if (this.lotId) {\r\n      this.selectedLots.forEach((eachLot) => {\r\n        let lotItem = this.lotsForSearch.find((it) => it.id == eachLot.id);\r\n        if (lotItem) lotItem.selected = true;\r\n      });\r\n    }\r\n\r\n    this.filteredLots = this.bulkLotForm.controls.searchLot.valueChanges.pipe(\r\n      startWith(null),\r\n      map((lotNumber: string | null) => this._filter(lotNumber))\r\n    );\r\n  }\r\n\r\n  selected(event: MatAutocompleteSelectedEvent): void {\r\n    let lot: SearchLot = event.option.value;\r\n    lot.text = lot.text;\r\n    lot.selected = true;\r\n    let findedLot = this.lotsForSearch.find((it) => it.id === lot.id);\r\n    if (findedLot) {\r\n      findedLot.selected = true;\r\n    }\r\n    this.selectedLots.push(lot);\r\n    this.bulkLotForm.controls.searchLot.reset();\r\n  }\r\n\r\n  removeLot(lot: SearchLot, lotItemIndex: number) {\r\n    lot.selected = false;\r\n    let findLot = this.lotsForSearch.find((it) => it.id === lot.id);\r\n    if (findLot == undefined) {\r\n      this.lotsForSearch.push(lot);\r\n    }\r\n    this.selectedLots.splice(lotItemIndex, 1);\r\n  }\r\n\r\n  private getLotDataById() {\r\n    this.loader.showLoader(true);\r\n    const vlots = this.lotService.viewLotById(this.lotId).subscribe(\r\n      (res) => {\r\n        this.mapDataToForm(res);\r\n        this.lotsForDD();\r\n        this.loader.showLoader(false);\r\n      },\r\n      () => {\r\n        this.loader.showLoader(false);\r\n      }\r\n    );\r\n    this.subscriptions.push(vlots);\r\n  }\r\n\r\n  mapDataToForm(lotData: any) {\r\n    this.bulkLotForm.patchValue({\r\n      lotNumber: lotData.lotNumber,\r\n      description: lotData.description,\r\n      location: lotData.location,\r\n      category: lotData.category,\r\n      consignor: lotData.consignor,\r\n      startingPrice: lotData.openingPrice,\r\n      modifier: lotData.modifier,\r\n    });\r\n    this.selectedLots = lotData.lots.map((lot) => ({\r\n      id: lot.id,\r\n      text: lot.lotNumber,\r\n      selected: true,\r\n    }));\r\n    this.isClosingBegin = this.auctionTimeService.isLotClosingBegun(\r\n      lotData?.lotEndTimeUtc\r\n    );\r\n  }\r\n\r\n  private createAddLotModel(isPublishLot): AddLotModel {\r\n    let formValues = this.bulkLotForm.getRawValue();\r\n    let model: AddLotModel = {\r\n      isUpdateAndPublish: isPublishLot,\r\n      auctionId: this.auctionId,\r\n      consignor: formValues.consignor,\r\n      category: formValues.category,\r\n      description: formValues.description,\r\n      location: formValues.location,\r\n      lotId: this.lotId || 0,\r\n      lotNumber: formValues.lotNumber,\r\n      lotType: this.lotType,\r\n      lots: this.selectedLots.map((it) => it.id).join(','),\r\n      modifier: formValues.modifier,\r\n      openingPrice: formValues.startingPrice,\r\n    };\r\n    return model;\r\n  }\r\n\r\n  bulkLotFormSubmit(isPublishLot) {\r\n    this.submitting = true;\r\n\r\n    if (this.bulkLotForm.invalid) return;\r\n\r\n    if (this.selectedLots.length < this.minimumLotsToBeAdd) return;\r\n\r\n    this.submitting = false;\r\n    isPublishLot ? (this.publishLoading = true) : (this.loading = true);\r\n\r\n    const aplots = this.lotService\r\n      .addUpdateLot(this.createAddLotModel(isPublishLot))\r\n      .subscribe(\r\n        (res) => {\r\n          isPublishLot ? (this.publishLoading = false) : (this.loading = false);\r\n          this.bulkLotForm.reset();\r\n          this.stepCompleted(res);\r\n        },\r\n        (err) => {\r\n          isPublishLot ? (this.publishLoading = false) : (this.loading = false);\r\n          this.toastr.error(err, 'Error');\r\n        }\r\n      );\r\n      this.subscriptions.push(aplots);\r\n  }\r\n\r\n  stepCompleted(lotData: any) {\r\n    this.step1Completed.emit(lotData);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<form [formGroup]=\"bulkLotForm\">\r\n  <div class=\"row\">\r\n    <ng-content select=\".lotType\"></ng-content>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <label class=\"form-label mb-0\">Lot Number *</label>\r\n        <mat-form-field appearance=\"outline\">\r\n          <input\r\n            matInput\r\n            formControlName=\"lotNumber\"\r\n            [maxlength]=\"fieldLengthShorter\"\r\n            [disabled]=\"lotId\"\r\n            [readonly]=\"lotId\"\r\n          />\r\n        </mat-form-field>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"bulkLotForm.controls.lotNumber\"\r\n        ></control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <mat-label>{{\r\n          isClosingBegin ? \"Added Lots *\" : \"Select Lots to Add to Bulk Lot *\"\r\n        }}</mat-label>\r\n        <ng-container *ngIf=\"!isClosingBegin\">\r\n          <mat-form-field appearance=\"outline\">\r\n            <input\r\n              matInput\r\n              formControlName=\"searchLot\"\r\n              [maxlength]=\"fieldLengthShorter\"\r\n              [matAutocomplete]=\"auto\"\r\n              [disabled]=\"isClosingBegin\"\r\n            />\r\n          </mat-form-field>\r\n          <mat-hint\r\n            [ngClass]=\"{ 'error-msg': submitting }\"\r\n            *ngIf=\"selectedLots && selectedLots?.length < minimumLotsToBeAdd\"\r\n            >Atleast {{ minimumLotsToBeAdd }} lots are required for bulk\r\n            lot</mat-hint\r\n          >\r\n          <control-messages\r\n            [isFormSubmitted]=\"submitting\"\r\n            [control]=\"bulkLotForm.controls.searchLot\"\r\n          >\r\n          </control-messages>\r\n          <mat-autocomplete\r\n            #auto=\"matAutocomplete\"\r\n            (optionSelected)=\"selected($event)\"\r\n          >\r\n            <ng-container *ngFor=\"let lot of filteredLots | async\">\r\n              <mat-option *ngIf=\"!lot.selected\" [value]=\"lot\">\r\n                {{ lot.text }}\r\n              </mat-option>\r\n            </ng-container>\r\n          </mat-autocomplete>\r\n        </ng-container>\r\n\r\n        <mat-chip-list>\r\n          <mat-chip *ngFor=\"let lot of selectedLots; index as lotIndex\">\r\n            {{ \"Lot \" + lot.text.split(\"/\")[0] }}\r\n            <mat-icon\r\n              matChipRemove\r\n              *ngIf=\"!isClosingBegin\"\r\n              role=\"button\"\r\n              (click)=\"removeLot(lot, lotIndex)\"\r\n              >cancel</mat-icon\r\n            >\r\n          </mat-chip>\r\n        </mat-chip-list>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <label class=\"form-label mb-0\">Description *</label>\r\n        <mat-form-field appearance=\"outline\">\r\n          <textarea\r\n            matInput\r\n            formControlName=\"description\"\r\n            [maxlength]=\"fieldLengthLonger\"\r\n          ></textarea>\r\n        </mat-form-field>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"bulkLotForm.controls.description\"\r\n        ></control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <label class=\"form-label mb-0\">Location *</label>\r\n        <mat-form-field appearance=\"outline\">\r\n          <input\r\n            matInput\r\n            placeholder=\"Enter Location\"\r\n            formControlName=\"location\"\r\n            [maxlength]=\"fieldLength\"\r\n          />\r\n        </mat-form-field>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"bulkLotForm.controls.location\"\r\n        ></control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <label class=\"form-label mb-0\">Lot Category *</label>\r\n        <mat-form-field appearance=\"outline\">\r\n          <input\r\n            matInput\r\n            type=\"text\"\r\n            placeholder=\"Enter Lot Category\"\r\n            formControlName=\"category\"\r\n            [maxlength]=\"fieldLength\"\r\n          />\r\n        </mat-form-field>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"bulkLotForm.controls.category\"\r\n        ></control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <label class=\"form-label mb-0\">Consignor</label>\r\n        <mat-form-field appearance=\"outline\">\r\n          <input\r\n            matInput\r\n            type=\"text\"\r\n            placeholder=\"Enter Consignor\"\r\n            formControlName=\"consignor\"\r\n            [maxlength]=\"fieldLength\"\r\n          />\r\n        </mat-form-field>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"bulkLotForm.controls.consignor\"\r\n        ></control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <label class=\"form-label mb-0\">Starting/Opening Price</label>\r\n        <mat-form-field appearance=\"outline\">\r\n          <input\r\n            matInput\r\n            type=\"number\"\r\n            placeholder=\"Enter Starting/Opening price\"\r\n            formControlName=\"startingPrice\"\r\n            [min]=\"minAmount\"\r\n            [max]=\"maxAmount\"\r\n          />\r\n        </mat-form-field>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"bulkLotForm.controls.startingPrice\"\r\n        ></control-messages>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"col-md-12\">\r\n      <div class=\"form-group\">\r\n        <label class=\"form-label mb-0\">\r\n          Modifier(%) *\r\n          <span\r\n            class=\"custom-tooltip\"\r\n            #tooltip=\"matTooltip\"\r\n            matTooltip=\"Bulk Buyer Protection: Enter a percentage value to grant protection to a Bulk Bidder or piecemeal bidders. Example: +10% means that a $100,000 bulk bid would require $110,000 in piecemeal bids to overcome. Alternatively, -10% means that a $100,000 bulk bid would require just 90,000 of piecemeal bids to overcome.\"\r\n          >\r\n            <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n          </span>\r\n        </label>\r\n        <div>\r\n          value :\r\n          {{\r\n            bulkLotForm.value.modifier ? bulkLotForm.value.modifier + \"%\" : 0\r\n          }}\r\n        </div>\r\n        <mat-slider\r\n          class=\"w-75\"\r\n          value=\"0\"\r\n          [max]=\"maxModifier\"\r\n          [min]=\"minModifier\"\r\n          [step]=\"steps\"\r\n          [thumbLabel]=\"label\"\r\n          [tickInterval]=\"tickIntervals\"\r\n          [disabled]=\"isClosingBegin\"\r\n          formControlName=\"modifier\"\r\n        >\r\n        </mat-slider>\r\n        <control-messages\r\n          [isFormSubmitted]=\"submitting\"\r\n          [control]=\"bulkLotForm.controls.modifier\"\r\n        >\r\n        </control-messages>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <p class=\"error-msg my-2\" *ngIf=\"bulkLotForm.invalid && submitting\">\r\n    Please resolve error(s) first\r\n  </p>\r\n\r\n  <div class=\"image-popup-wrap pt-2 mt-2\">\r\n    <ng-content select=\".closeModalButton\"></ng-content>\r\n\r\n    <ng-container *ngIf=\"!lotId\">\r\n      <button\r\n        type=\"submit\"\r\n        [disabled]=\"publishLoading || loading\"\r\n        class=\"btn btn-colored font-15 ml-2\"\r\n        role=\"button\"\r\n        (click)=\"bulkLotFormSubmit(false)\"\r\n      >\r\n        <span\r\n          *ngIf=\"loading\"\r\n          class=\"spinner-border spinner-border-sm mr-1\"\r\n        ></span>\r\n        {{ lotId ? \"Update\" : \"Add\" }} Bulk Lot\r\n      </button>\r\n    </ng-container>\r\n\r\n    <ng-container *ngIf=\"lotId\">\r\n      <button\r\n        type=\"submit\"\r\n        [disabled]=\"loading || publishLoading\"\r\n        class=\"btn btn-colored font-15 ml-2\"\r\n        role=\"button\"\r\n        (click)=\"bulkLotFormSubmit(true)\"\r\n      >\r\n        <span\r\n          *ngIf=\"publishLoading\"\r\n          class=\"spinner-border spinner-border-sm mr-1\"\r\n        ></span>\r\n        {{ lotId ? \"Update\" : \"Add\" }} Bulk Lot & Publish\r\n      </button>\r\n    </ng-container>\r\n  </div>\r\n</form>\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/internal/Observable';\r\nimport {\r\n  CommonDropdown,\r\n  GetAuctionStep1,\r\n  RegisteredUsers,\r\n} from '../../../models';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport constants from '../../../utility/constants';\r\nimport {\r\n  ImportResultService,\r\n} from '../service/import-result.service';\r\nimport {  Subscription } from 'rxjs';\r\n@Component({\r\n  selector: 'app-imported-users',\r\n  templateUrl: './imported-users.component.html',\r\n  styleUrls: ['./imported-users.component.css'],\r\n})\r\nexport class ImportedUsersComponent implements OnInit {\r\n  displayedColumns: string[] = [\r\n    'bidderNum',\r\n    'name',\r\n    'company',\r\n    'spendHistory',\r\n    'status',\r\n  ];\r\n  auctionUsers: Array<RegisteredUsers> = [];\r\n  totalCount: number = 0;\r\n\r\n  auctionId: number;\r\n  auctionData: GetAuctionStep1;\r\n  auctionsDD: Array<CommonDropdown> = [];\r\n\r\n  searchTerm: string = '';\r\n  pageNumber: number = 1;\r\n  pageSize: number = constants.admin.adminPageSize;\r\n  private subscriptions: Array<Subscription> = [];\r\n  constructor(\r\n    private importResult: ImportResultService,\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private loader: LoaderService,\r\n    private auctionService: AuctionService\r\n  ) {}\r\n\r\n  ngOnInit(): void {\r\n    this.route.params.subscribe((res) => {\r\n      let param = res['id'];\r\n      if (param) {\r\n        if (typeof +param == 'number') {\r\n          this.auctionId = +param;\r\n          this.getAuctionData();\r\n        }\r\n      } else {\r\n        this.goBack();\r\n      }\r\n    });\r\n    this.auctionsForDD();\r\n  }\r\n\r\n  auctionsForDD() {\r\n    const iauctions = this.importResult.getAuctionsForDD().subscribe((res) => {\r\n      this.auctionsDD = res;\r\n    });\r\n    this.subscriptions.push(iauctions);\r\n  }\r\n\r\n  private getAuctionData() {\r\n    const aucStep1 = this.auctionService.getAuctionStep1(this.auctionId).subscribe((res) => {\r\n      this.auctionData = res;\r\n    });\r\n    this.subscriptions.push(aucStep1);\r\n    this.getAllUsers();\r\n  }\r\n\r\n  onAuctionChange(value: number) {\r\n    this.auctionId = value;\r\n    this.getAuctionData();\r\n  }\r\n\r\n  changeSearchValue(val: Observable<string>) {\r\n    const vals = val.subscribe((value) => {\r\n      this.searchTerm = value;\r\n      this.pageNumber = 1;\r\n      this.getAllUsers();\r\n    });\r\n    this.subscriptions.push(vals);\r\n  }\r\n\r\n  private pagingParams() {\r\n    return {\r\n      pageNumber: this.pageNumber,\r\n      pageSize: this.pageSize,\r\n      isPaginated: true,\r\n      auctionId: this.auctionId,\r\n      searchTerm: this.searchTerm,\r\n    };\r\n  }\r\n\r\n  private getAllUsers() {\r\n    this.loader.showLoader(true);\r\n    const rusers = this.auctionService.getRegisteredUsers(this.pagingParams()).subscribe(\r\n      (res) => {\r\n        this.loader.showLoader(false);\r\n        this.auctionUsers = res.data;\r\n        this.totalCount = res.totalCount;\r\n      },\r\n      (_) => {\r\n        this.loader.showLoader(false);\r\n        this.totalCount = 0;\r\n      }\r\n    );\r\n    this.subscriptions.push(rusers);\r\n  }\r\n\r\n  onPageChange(page: number) {\r\n    this.pageNumber = page;\r\n    this.getAllUsers();\r\n  }\r\n\r\n  goBack() {\r\n    this.router.navigate(['../'], { relativeTo: this.route });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<div class=\"white-wrap-admin mb-4\">\r\n  <div class=\"back-link-outer\">\r\n    <div class=\"back-link-outer mb-3 d-flex\">\r\n      <a role=\"button\" (click)=\"goBack()\" class=\"back-link\">\r\n        <img alt=\"back\" src=\"../assets/images/back.svg\" /> back\r\n      </a>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"row mb-3\">\r\n    <div class=\"col-12 col-md-12\">\r\n      <p class=\"body-txt-22 mb-4\">View Registered Users</p>\r\n    </div>\r\n\r\n    <div class=\"col-12 col-md-12\">\r\n      <div class=\"form-group m-0\">\r\n        <div class=\"mat-field-width\">\r\n          <div class=\"custom-select-option custom-select-wrap\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Select Auction To View Its Results</mat-label>\r\n              <mat-select\r\n                [(value)]=\"auctionId\"\r\n                (selectionChange)=\"onAuctionChange($event.value)\"\r\n              >\r\n                <mat-option\r\n                  *ngFor=\"let auction of auctionsDD\"\r\n                  [value]=\"auction.value\"\r\n                  >{{ auction.text }}</mat-option\r\n                >\r\n              </mat-select>\r\n            </mat-form-field>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <div class=\"grey-well m-0\">\r\n        <div class=\"for-badge mb-2\">\r\n          <span class=\"card-badge badge-dark\">{{\r\n            auctionData?.saleType?.publicName\r\n          }}</span>\r\n        </div>\r\n        <h1 class=\"well-name mb-2\">{{ auctionData?.title }}</h1>\r\n        <h3 class=\"well-des\" [innerHTML]=\"auctionData?.tagline\"></h3>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<div class=\"page-title-wrap mb-3 mb-md-4\">\r\n  <h1 class=\"hdg m-0\">Registered Users</h1>\r\n</div>\r\n\r\n<section class=\"table-search-wrap mb-1 pb-2\">\r\n  <div class=\"row\">\r\n    <div class=\"col-12 col-lg-6\">\r\n      <div class=\"row\">\r\n        <div class=\"col-8 pr-0\">\r\n          <div class=\"form-group\">\r\n            <search-control\r\n              [placeholder]=\"'Search'\"\r\n              (value)=\"changeSearchValue($event)\"\r\n            >\r\n            </search-control>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</section>\r\n\r\n<ng-container *ngIf=\"totalCount === 0; else showTable\">\r\n  <div class=\"empty-state-container empty-pad-2\">\r\n    <div class=\"empty-state-content\">\r\n      <img\r\n        alt=\"empty-state\"\r\n        src=\"../../../../assets/images/empty-state-icon.svg\"\r\n      />\r\n      <h3 class=\"_heading\">No User Found</h3>\r\n    </div>\r\n  </div>\r\n</ng-container>\r\n\r\n<ng-template #showTable>\r\n  <div class=\"data-table-wrap\">\r\n    <app-paginator\r\n      [paginationId]=\"'server'\"\r\n      [currentPage]=\"pageNumber\"\r\n      [pageSize]=\"pageSize\"\r\n      (page)=\"onPageChange($event)\"\r\n      *ngIf=\"totalCount > pageSize\"\r\n    ></app-paginator>\r\n\r\n    <table\r\n      mat-table\r\n      aria-label=\"table\"\r\n      [dataSource]=\"\r\n        auctionUsers\r\n          | paginate\r\n            : {\r\n                id: 'server',\r\n                itemsPerPage: pageSize,\r\n                currentPage: pageNumber,\r\n                totalItems: totalCount\r\n              }\r\n      \"\r\n      class=\"mat-elevation-z8 custom-data-table ImportRegisteredUsers m-0\"\r\n    >\r\n      <!-- Position Column -->\r\n      <ng-container matColumnDef=\"bidderNum\">\r\n        <th\r\n          scope=\"col\"\r\n          mat-header-cell\r\n          *matHeaderCellDef\r\n          class=\"column-1 listing-header-name\"\r\n        >\r\n          Bidder Number\r\n        </th>\r\n        <td\r\n          mat-cell\r\n          *matCellDef=\"let element\"\r\n          class=\"column-1 listing-data-entry\"\r\n          data-column=\"Bidder Number\"\r\n        >\r\n          <span> {{ element.paddleNumber | isEmpty }} </span>\r\n        </td>\r\n      </ng-container>\r\n\r\n      <!-- Name Column -->\r\n      <ng-container matColumnDef=\"name\">\r\n        <th\r\n          scope=\"col\"\r\n          mat-header-cell\r\n          *matHeaderCellDef\r\n          class=\"column-2 listing-header-name\"\r\n        >\r\n          Name & Email\r\n        </th>\r\n        <td\r\n          mat-cell\r\n          *matCellDef=\"let element\"\r\n          class=\"column-2 listing-data-entry\"\r\n          data-column=\"Name & Email\"\r\n        >\r\n          <div class=\"emailAddressOuter\">\r\n            <span\r\n              >{{ element.user.firstName + \" \" + element.user.lastName }}\r\n            </span>\r\n            <p class=\"emailAddress m-0\">\r\n              <a href=\"mailto:{{ element.user.email }}\">\r\n                {{ element.user.email }}\r\n              </a>\r\n            </p>\r\n          </div>\r\n        </td>\r\n      </ng-container>\r\n\r\n      <!-- Weight Column -->\r\n      <ng-container matColumnDef=\"company\">\r\n        <th\r\n          scope=\"col\"\r\n          mat-header-cell\r\n          *matHeaderCellDef\r\n          class=\"column-3 listing-header-name\"\r\n        >\r\n          Company\r\n        </th>\r\n        <td\r\n          mat-cell\r\n          *matCellDef=\"let element\"\r\n          class=\"column-3 listing-data-entry\"\r\n          data-column=\"Company\"\r\n        >\r\n          <span>{{ element.user.companyName | isEmpty }}</span>\r\n        </td>\r\n      </ng-container>\r\n\r\n      <!-- Symbol Column -->\r\n      <ng-container matColumnDef=\"spendHistory\">\r\n        <th\r\n          scope=\"col\"\r\n          mat-header-cell\r\n          *matHeaderCellDef\r\n          class=\"column-4 listing-header-name\"\r\n        >\r\n          Spending History\r\n          <span\r\n            #tooltip=\"matTooltip\"\r\n            class=\"ml-1\"\r\n            matTooltipClass=\"custom-tooltip-icon custom-tooltip-max\"\r\n            matTooltip=\"The Spending History reflects the sum of the Successful/Winning Max Bids a user has placed in the Online Auction System.\"\r\n            [matTooltipPosition]=\"'above'\"\r\n          >\r\n            <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n          </span>\r\n        </th>\r\n        <td\r\n          mat-cell\r\n          *matCellDef=\"let element\"\r\n          class=\"column-4 listing-data-entry\"\r\n          data-column=\"Spending History\"\r\n        >\r\n          <span>{{\r\n            !element.isNewToPlatform\r\n              ? (element.spendingHistory | currency: \"USD\")\r\n              : \"-\"\r\n          }}</span>\r\n        </td>\r\n      </ng-container>\r\n\r\n      <!-- Symbol Column -->\r\n      <ng-container matColumnDef=\"status\">\r\n        <th\r\n          scope=\"col\"\r\n          mat-header-cell\r\n          *matHeaderCellDef\r\n          class=\"column-5 listing-header-name\"\r\n        >\r\n          New ?\r\n          <span\r\n            #tooltip=\"matTooltip\"\r\n            class=\"ml-1\"\r\n            matTooltipClass=\"custom-tooltip-icon custom-tooltip-max\"\r\n            matTooltip=\"Is the user being added for the first time on TBG platform ?\"\r\n            [matTooltipPosition]=\"'above'\"\r\n          >\r\n            <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n          </span>\r\n        </th>\r\n        <td\r\n          mat-cell\r\n          *matCellDef=\"let element\"\r\n          class=\"column-5 listing-data-entry\"\r\n          data-column=\"New ?\"\r\n        >\r\n          <span> {{ element.isNewToPlatform ? \"Yes\" : \"No\" }}</span>\r\n        </td>\r\n      </ng-container>\r\n\r\n      <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n      <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n    </table>\r\n\r\n    <app-paginator\r\n      [paginationId]=\"'server'\"\r\n      [currentPage]=\"pageNumber\"\r\n      [pageSize]=\"pageSize\"\r\n      (page)=\"onPageChange($event)\"\r\n      *ngIf=\"totalCount > pageSize\"\r\n    ></app-paginator>\r\n  </div>\r\n</ng-template>\r\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Much of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// Many optimizations have been made, so the bundle size is ultimately smaller but performance is similar.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n    var u = ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([c], { type: 'text/javascript' })));\n    var w = new Worker(u);\n    w.onerror = function (e) { return cb(e.error, null); };\n    w.onmessage = function (e) { return cb(null, e.data); };\n    w.postMessage(msg, transfer);\n    return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\n// see fleb note\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n    var b = new u16(31);\n    for (var i = 0; i < 31; ++i) {\n        b[i] = start += 1 << eb[i - 1];\n    }\n    // numbers here are at max 18 bits\n    var r = new u32(b[30]);\n    for (var i = 1; i < 30; ++i) {\n        for (var j = b[i]; j < b[i + 1]; ++j) {\n            r[j] = ((j - b[i]) << 5) | i;\n        }\n    }\n    return [b, r];\n};\nvar _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1];\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n    // reverse table algorithm from SO\n    var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);\n    x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);\n    x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);\n    rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n    var s = cd.length;\n    // index\n    var i = 0;\n    // u16 \"map\": index -> # of codes with bit length = index\n    var l = new u16(mb);\n    // length of cd must be 288 (total # of codes)\n    for (; i < s; ++i)\n        ++l[cd[i] - 1];\n    // u16 \"map\": index -> minimum code for bit length = index\n    var le = new u16(mb);\n    for (i = 0; i < mb; ++i) {\n        le[i] = (le[i - 1] + l[i - 1]) << 1;\n    }\n    var co;\n    if (r) {\n        // u16 \"map\": index -> number of actual bits, symbol for code\n        co = new u16(1 << mb);\n        // bits to remove for reverser\n        var rvb = 15 - mb;\n        for (i = 0; i < s; ++i) {\n            // ignore 0 lengths\n            if (cd[i]) {\n                // num encoding both symbol and bits read\n                var sv = (i << 4) | cd[i];\n                // free bits\n                var r_1 = mb - cd[i];\n                // start value\n                var v = le[cd[i] - 1]++ << r_1;\n                // m is end value\n                for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n                    // every 16 bit value starting with the code yields the same result\n                    co[rev[v] >>> rvb] = sv;\n                }\n            }\n        }\n    }\n    else {\n        co = new u16(s);\n        for (i = 0; i < s; ++i)\n            co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);\n    }\n    return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n    flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n    flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n    flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n    flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n    fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n    var m = a[0];\n    for (var i = 1; i < a.length; ++i) {\n        if (a[i] > m)\n            m = a[i];\n    }\n    return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n    var o = (p / 8) >> 0;\n    return ((d[o] | (d[o + 1] << 8)) >>> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n    var o = (p / 8) >> 0;\n    return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >>> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n    if (s == null || s < 0)\n        s = 0;\n    if (e == null || e > v.length)\n        e = v.length;\n    // can't use .constructor in case user-supplied\n    var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);\n    n.set(v.subarray(s, e));\n    return n;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, buf, st) {\n    // source length\n    var sl = dat.length;\n    // have to estimate size\n    var noBuf = !buf || st;\n    // no state\n    var noSt = !st || st.i;\n    if (!st)\n        st = {};\n    // Assumes roughly 33% compression ratio average\n    if (!buf)\n        buf = new u8(sl * 3);\n    // ensure buffer can fit at least l elements\n    var cbuf = function (l) {\n        var bl = buf.length;\n        // need to increase size to fit\n        if (l > bl) {\n            // Double or set to necessary, whichever is greater\n            var nbuf = new u8(Math.max(bl * 2, l));\n            nbuf.set(buf);\n            buf = nbuf;\n        }\n    };\n    //  last chunk         bitpos           bytes\n    var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n    // total bits\n    var tbts = sl * 8;\n    do {\n        if (!lm) {\n            // BFINAL - this is only 1 when last chunk is next\n            st.f = final = bits(dat, pos, 1);\n            // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n            var type = bits(dat, pos + 1, 3);\n            pos += 3;\n            if (!type) {\n                // go to end of byte boundary\n                var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n                if (t > sl) {\n                    if (noSt)\n                        throw 'unexpected EOF';\n                    break;\n                }\n                // ensure size\n                if (noBuf)\n                    cbuf(bt + l);\n                // Copy over uncompressed data\n                buf.set(dat.subarray(s, t), bt);\n                // Get new bitpos, update byte count\n                st.b = bt += l, st.p = pos = t * 8;\n                continue;\n            }\n            else if (type == 1)\n                lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n            else if (type == 2) {\n                //  literal                            lengths\n                var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n                var tl = hLit + bits(dat, pos + 5, 31) + 1;\n                pos += 14;\n                // length+distance tree\n                var ldt = new u8(tl);\n                // code length tree\n                var clt = new u8(19);\n                for (var i = 0; i < hcLen; ++i) {\n                    // use index map to get real code\n                    clt[clim[i]] = bits(dat, pos + i * 3, 7);\n                }\n                pos += hcLen * 3;\n                // code lengths bits\n                var clb = max(clt), clbmsk = (1 << clb) - 1;\n                if (!noSt && pos + tl * (clb + 7) > tbts)\n                    break;\n                // code lengths map\n                var clm = hMap(clt, clb, 1);\n                for (var i = 0; i < tl;) {\n                    var r = clm[bits(dat, pos, clbmsk)];\n                    // bits read\n                    pos += r & 15;\n                    // symbol\n                    var s = r >>> 4;\n                    // code length to copy\n                    if (s < 16) {\n                        ldt[i++] = s;\n                    }\n                    else {\n                        //  copy   count\n                        var c = 0, n = 0;\n                        if (s == 16)\n                            n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n                        else if (s == 17)\n                            n = 3 + bits(dat, pos, 7), pos += 3;\n                        else if (s == 18)\n                            n = 11 + bits(dat, pos, 127), pos += 7;\n                        while (n--)\n                            ldt[i++] = c;\n                    }\n                }\n                //    length tree                 distance tree\n                var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n                // max length bits\n                lbt = max(lt);\n                // max dist bits\n                dbt = max(dt);\n                lm = hMap(lt, lbt, 1);\n                dm = hMap(dt, dbt, 1);\n            }\n            else\n                throw 'invalid block type';\n            if (pos > tbts)\n                throw 'unexpected EOF';\n        }\n        // Make sure the buffer can hold this + the largest possible addition\n        // Maximum chunk size (practically, theoretically infinite) is 2^17;\n        if (noBuf)\n            cbuf(bt + 131072);\n        var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n        var mxa = lbt + dbt + 18;\n        while (noSt || pos + mxa < tbts) {\n            // bits read, code\n            var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;\n            pos += c & 15;\n            if (pos > tbts)\n                throw 'unexpected EOF';\n            if (!c)\n                throw 'invalid length/literal';\n            if (sym < 256)\n                buf[bt++] = sym;\n            else if (sym == 256) {\n                lm = null;\n                break;\n            }\n            else {\n                var add = sym - 254;\n                // no extra bits needed if less\n                if (sym > 264) {\n                    // index\n                    var i = sym - 257, b = fleb[i];\n                    add = bits(dat, pos, (1 << b) - 1) + fl[i];\n                    pos += b;\n                }\n                // dist\n                var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;\n                if (!d)\n                    throw 'invalid distance';\n                pos += d & 15;\n                var dt = fd[dsym];\n                if (dsym > 3) {\n                    var b = fdeb[dsym];\n                    dt += bits16(dat, pos) & ((1 << b) - 1), pos += b;\n                }\n                if (pos > tbts)\n                    throw 'unexpected EOF';\n                if (noBuf)\n                    cbuf(bt + 131072);\n                var end = bt + add;\n                for (; bt < end; bt += 4) {\n                    buf[bt] = buf[bt - dt];\n                    buf[bt + 1] = buf[bt + 1 - dt];\n                    buf[bt + 2] = buf[bt + 2 - dt];\n                    buf[bt + 3] = buf[bt + 3 - dt];\n                }\n                bt = end;\n            }\n        }\n        st.l = lm, st.p = pos, st.b = bt;\n        if (lm)\n            final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n    } while (!final);\n    return bt == buf.length ? buf : slc(buf, 0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n    v <<= p & 7;\n    var o = (p / 8) >> 0;\n    d[o] |= v;\n    d[o + 1] |= v >>> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n    v <<= p & 7;\n    var o = (p / 8) >> 0;\n    d[o] |= v;\n    d[o + 1] |= v >>> 8;\n    d[o + 2] |= v >>> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n    // Need extra info to make a tree\n    var t = [];\n    for (var i = 0; i < d.length; ++i) {\n        if (d[i])\n            t.push({ s: i, f: d[i] });\n    }\n    var s = t.length;\n    var t2 = t.slice();\n    if (!s)\n        return [new u8(0), 0];\n    if (s == 1) {\n        var v = new u8(t[0].s + 1);\n        v[t[0].s] = 1;\n        return [v, 1];\n    }\n    t.sort(function (a, b) { return a.f - b.f; });\n    // after i2 reaches last ind, will be stopped\n    // freq must be greater than largest possible number of symbols\n    t.push({ s: -1, f: 25001 });\n    var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n    t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n    // efficient algorithm from UZIP.js\n    // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n    // symbols that combined have high freq, will start processing i2 (high-freq,\n    // non-composite) symbols instead\n    // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n    while (i1 != s - 1) {\n        l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n        r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n        t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n    }\n    var maxSym = t2[0].s;\n    for (var i = 1; i < s; ++i) {\n        if (t2[i].s > maxSym)\n            maxSym = t2[i].s;\n    }\n    // code lengths\n    var tr = new u16(maxSym + 1);\n    // max bits in tree\n    var mbt = ln(t[i1 - 1], tr, 0);\n    if (mbt > mb) {\n        // more algorithms from UZIP.js\n        // TODO: find out how this code works (debt)\n        //  ind    debt\n        var i = 0, dt = 0;\n        //    left            cost\n        var lft = mbt - mb, cst = 1 << lft;\n        t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n        for (; i < s; ++i) {\n            var i2_1 = t2[i].s;\n            if (tr[i2_1] > mb) {\n                dt += cst - (1 << (mbt - tr[i2_1]));\n                tr[i2_1] = mb;\n            }\n            else\n                break;\n        }\n        dt >>>= lft;\n        while (dt > 0) {\n            var i2_2 = t2[i].s;\n            if (tr[i2_2] < mb)\n                dt -= 1 << (mb - tr[i2_2]++ - 1);\n            else\n                ++i;\n        }\n        for (; i >= 0 && dt; --i) {\n            var i2_3 = t2[i].s;\n            if (tr[i2_3] == mb) {\n                --tr[i2_3];\n                ++dt;\n            }\n        }\n        mbt = mb;\n    }\n    return [new u8(tr), mbt];\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n    return n.s == -1\n        ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n        : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n    var s = c.length;\n    // Note that the semicolon was intentional\n    while (s && !c[--s])\n        ;\n    var cl = new u16(++s);\n    //  ind      num         streak\n    var cli = 0, cln = c[0], cls = 1;\n    var w = function (v) { cl[cli++] = v; };\n    for (var i = 1; i <= s; ++i) {\n        if (c[i] == cln && i != s)\n            ++cls;\n        else {\n            if (!cln && cls > 2) {\n                for (; cls > 138; cls -= 138)\n                    w(32754);\n                if (cls > 2) {\n                    w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n                    cls = 0;\n                }\n            }\n            else if (cls > 3) {\n                w(cln), --cls;\n                for (; cls > 6; cls -= 6)\n                    w(8304);\n                if (cls > 2)\n                    w(((cls - 3) << 5) | 8208), cls = 0;\n            }\n            while (cls--)\n                w(cln);\n            cls = 1;\n            cln = c[i];\n        }\n    }\n    return [cl.subarray(0, cli), s];\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n    var l = 0;\n    for (var i = 0; i < cl.length; ++i)\n        l += cf[i] * cl[i];\n    return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n    // no need to write 00 as type: TypedArray defaults to 0\n    var s = dat.length;\n    var o = shft(pos + 2);\n    out[o] = s & 255;\n    out[o + 1] = s >>> 8;\n    out[o + 2] = out[o] ^ 255;\n    out[o + 3] = out[o + 1] ^ 255;\n    for (var i = 0; i < s; ++i)\n        out[o + i + 4] = dat[i];\n    return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n    wbits(out, p++, final);\n    ++lf[256];\n    var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];\n    var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];\n    var _c = lc(dlt), lclt = _c[0], nlc = _c[1];\n    var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];\n    var lcfreq = new u16(19);\n    for (var i = 0; i < lclt.length; ++i)\n        lcfreq[lclt[i] & 31]++;\n    for (var i = 0; i < lcdt.length; ++i)\n        lcfreq[lcdt[i] & 31]++;\n    var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];\n    var nlcc = 19;\n    for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n        ;\n    var flen = (bl + 5) << 3;\n    var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n    var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);\n    if (flen <= ftlen && flen <= dtlen)\n        return wfblk(out, p, dat.subarray(bs, bs + bl));\n    var lm, ll, dm, dl;\n    wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n    if (dtlen < ftlen) {\n        lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n        var llm = hMap(lct, mlcb, 0);\n        wbits(out, p, nlc - 257);\n        wbits(out, p + 5, ndc - 1);\n        wbits(out, p + 10, nlcc - 4);\n        p += 14;\n        for (var i = 0; i < nlcc; ++i)\n            wbits(out, p + 3 * i, lct[clim[i]]);\n        p += 3 * nlcc;\n        var lcts = [lclt, lcdt];\n        for (var it = 0; it < 2; ++it) {\n            var clct = lcts[it];\n            for (var i = 0; i < clct.length; ++i) {\n                var len = clct[i] & 31;\n                wbits(out, p, llm[len]), p += lct[len];\n                if (len > 15)\n                    wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;\n            }\n        }\n    }\n    else {\n        lm = flm, ll = flt, dm = fdm, dl = fdt;\n    }\n    for (var i = 0; i < li; ++i) {\n        if (syms[i] > 255) {\n            var len = (syms[i] >>> 18) & 31;\n            wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n            if (len > 7)\n                wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];\n            var dst = syms[i] & 31;\n            wbits16(out, p, dm[dst]), p += dl[dst];\n            if (dst > 3)\n                wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];\n        }\n        else {\n            wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];\n        }\n    }\n    wbits16(out, p, lm[256]);\n    return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, lst) {\n    var s = dat.length;\n    var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post);\n    // writing to this writes to the output buffer\n    var w = o.subarray(pre, o.length - post);\n    var pos = 0;\n    if (!lvl || s < 8) {\n        for (var i = 0; i <= s; i += 65535) {\n            // end\n            var e = i + 65535;\n            if (e < s) {\n                // write full block\n                pos = wfblk(w, pos, dat.subarray(i, e));\n            }\n            else {\n                // write final block\n                w[i] = lst;\n                pos = wfblk(w, pos, dat.subarray(i, s));\n            }\n        }\n    }\n    else {\n        var opt = deo[lvl - 1];\n        var n = opt >>> 13, c = opt & 8191;\n        var msk_1 = (1 << plvl) - 1;\n        //    prev 2-byte val map    curr 2-byte val map\n        var prev = new u16(32768), head = new u16(msk_1 + 1);\n        var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n        var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n        // 24576 is an arbitrary number of maximum symbols per block\n        // 424 buffer for last block\n        var syms = new u32(25000);\n        // length/literal freq   distance freq\n        var lf = new u16(288), df = new u16(32);\n        //  l/lcnt  exbits  index  l/lind  waitdx  bitpos\n        var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;\n        for (; i < s; ++i) {\n            // hash value\n            var hv = hsh(i);\n            // index mod 32768\n            var imod = i & 32767;\n            // previous index with this value\n            var pimod = head[hv];\n            prev[imod] = pimod;\n            head[hv] = imod;\n            // We always should modify head and prev, but only add symbols if\n            // this data is not yet processed (\"wait\" for wait index)\n            if (wi <= i) {\n                // bytes remaining\n                var rem = s - i;\n                if ((lc_1 > 7000 || li > 24576) && rem > 423) {\n                    pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n                    li = lc_1 = eb = 0, bs = i;\n                    for (var j = 0; j < 286; ++j)\n                        lf[j] = 0;\n                    for (var j = 0; j < 30; ++j)\n                        df[j] = 0;\n                }\n                //  len    dist   chain\n                var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;\n                if (rem > 2 && hv == hsh(i - dif)) {\n                    var maxn = Math.min(n, rem) - 1;\n                    var maxd = Math.min(32767, i);\n                    // max possible length\n                    // not capped at dif because decompressors implement \"rolling\" index population\n                    var ml = Math.min(258, rem);\n                    while (dif <= maxd && --ch_1 && imod != pimod) {\n                        if (dat[i + l] == dat[i + l - dif]) {\n                            var nl = 0;\n                            for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n                                ;\n                            if (nl > l) {\n                                l = nl, d = dif;\n                                // break out early when we reach \"nice\" (we are satisfied enough)\n                                if (nl > maxn)\n                                    break;\n                                // now, find the rarest 2-byte sequence within this\n                                // length of literals and search for that instead.\n                                // Much faster than just using the start\n                                var mmd = Math.min(dif, nl - 2);\n                                var md = 0;\n                                for (var j = 0; j < mmd; ++j) {\n                                    var ti = (i - dif + j + 32768) & 32767;\n                                    var pti = prev[ti];\n                                    var cd = (ti - pti + 32768) & 32767;\n                                    if (cd > md)\n                                        md = cd, pimod = ti;\n                                }\n                            }\n                        }\n                        // check the previous match\n                        imod = pimod, pimod = prev[imod];\n                        dif += (imod - pimod + 32768) & 32767;\n                    }\n                }\n                // d will be nonzero only when a match was found\n                if (d) {\n                    // store both dist and len data in one Uint32\n                    // Make sure this is recognized as a len/dist with 28th bit (2^28)\n                    syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n                    var lin = revfl[l] & 31, din = revfd[d] & 31;\n                    eb += fleb[lin] + fdeb[din];\n                    ++lf[257 + lin];\n                    ++df[din];\n                    wi = i + l;\n                    ++lc_1;\n                }\n                else {\n                    syms[li++] = dat[i];\n                    ++lf[dat[i]];\n                }\n            }\n        }\n        pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n        // this is the easiest way to avoid needing to maintain state\n        if (!lst)\n            pos = wfblk(w, pos, et);\n    }\n    return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n    var t = new u32(256);\n    for (var i = 0; i < 256; ++i) {\n        var c = i, k = 9;\n        while (--k)\n            c = ((c & 1) && 0xEDB88320) ^ (c >>> 1);\n        t[i] = c;\n    }\n    return t;\n})();\n// CRC32\nvar crc = function () {\n    var c = 0xFFFFFFFF;\n    return {\n        p: function (d) {\n            // closures have awful performance\n            var cr = c;\n            for (var i = 0; i < d.length; ++i)\n                cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n            c = cr;\n        },\n        d: function () { return c ^ 0xFFFFFFFF; }\n    };\n};\n// Alder32\nvar adler = function () {\n    var a = 1, b = 0;\n    return {\n        p: function (d) {\n            // closures have awful performance\n            var n = a, m = b;\n            var l = d.length;\n            for (var i = 0; i != l;) {\n                var e = Math.min(i + 5552, l);\n                for (; i < e; ++i)\n                    n += d[i], m += n;\n                n %= 65521, m %= 65521;\n            }\n            a = n, b = m;\n        },\n        d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; }\n    };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n    return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n    var o = {};\n    for (var k in a)\n        o[k] = a[k];\n    for (var k in b)\n        o[k] = b[k];\n    return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n    var dt = fn();\n    var st = fn.toString();\n    var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/ /g, '').split(',');\n    for (var i = 0; i < dt.length; ++i) {\n        var v = dt[i], k = ks[i];\n        if (typeof v == 'function') {\n            fnStr += ';' + k + '=';\n            var st_1 = v.toString();\n            if (v.prototype) {\n                // for global objects\n                if (st_1.indexOf('[native code]') != -1) {\n                    var spInd = st_1.indexOf(' ', 8) + 1;\n                    fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n                }\n                else {\n                    fnStr += st_1;\n                    for (var t in v.prototype)\n                        fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n                }\n            }\n            else\n                fnStr += st_1;\n        }\n        else\n            td[k] = v;\n    }\n    return [fnStr, td];\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n    var tl = [];\n    for (var k in v) {\n        if (v[k] instanceof u8 || v[k] instanceof u16 || v[k] instanceof u32)\n            tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n    }\n    return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n    var _a;\n    if (!ch[id]) {\n        var fnStr = '', td_1 = {}, m = fns.length - 1;\n        for (var i = 0; i < m; ++i)\n            _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1];\n        ch[id] = wcln(fns[m], fnStr, td_1);\n    }\n    var td = mrg({}, ch[id][1]);\n    return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, hMap, max, bits, bits16, shft, slc, inflt, inflateSync, pbf, gu8]; };\nvar bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zlv]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get u8\nvar gu8 = function (o) { return o && o.size && new u8(o.size); };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n    var w = wrkr(fns, init, id, function (err, dat) {\n        w.terminate();\n        cb(err, dat);\n    });\n    if (!opts.consume)\n        dat = new u8(dat);\n    w.postMessage([dat, opts], [dat.buffer]);\n    return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n    strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n    return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id) {\n    var t;\n    var w = wrkr(fns, init, id, function (err, dat) {\n        if (err)\n            w.terminate(), strm.ondata.call(strm, err);\n        else {\n            if (dat[1])\n                w.terminate();\n            strm.ondata.call(strm, err, dat[0], dat[1]);\n        }\n    });\n    w.postMessage(opts);\n    strm.push = function (d, f) {\n        if (t)\n            throw 'stream finished';\n        if (!strm.ondata)\n            throw 'no stream handler';\n        w.postMessage([d, t = f], [d.buffer]);\n    };\n    strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16)) + (d[b + 3] << 23) * 2; };\n// write bytes\nvar wbytes = function (d, b, v) {\n    for (; v; ++b)\n        d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n    var fn = o.filename;\n    c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n    if (o.mtime != 0)\n        wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n    if (fn) {\n        c[3] = 8;\n        for (var i = 0; i <= fn.length; ++i)\n            c[i + 10] = fn.charCodeAt(i);\n    }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n    if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n        throw 'invalid gzip data';\n    var flg = d[3];\n    var st = 10;\n    if (flg & 4)\n        st += d[10] | (d[11] << 8) + 2;\n    for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n        ;\n    return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n    var l = d.length;\n    return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) + (2 * (d[l - 1] << 23));\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); };\n// zlib header\nvar zlh = function (c, o) {\n    var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n    c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);\n};\n// zlib valid\nvar zlv = function (d) {\n    if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n        throw 'invalid zlib data';\n    if (d[1] & 32)\n        throw 'invalid zlib data: preset dictionaries not supported';\n};\nfunction AsyncCmpStrm(opts, cb) {\n    if (!cb && typeof opts == 'function')\n        cb = opts, opts = {};\n    this.ondata = cb;\n    return opts;\n}\n// zlib footer: -4 to -0 is Adler32\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n    function Deflate(opts, cb) {\n        if (!cb && typeof opts == 'function')\n            cb = opts, opts = {};\n        this.ondata = cb;\n        this.o = opts || {};\n    }\n    Deflate.prototype.p = function (c, f) {\n        this.ondata(dopt(c, this.o, 0, 0, !f), f);\n    };\n    /**\n     * Pushes a chunk to be deflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Deflate.prototype.push = function (chunk, final) {\n        if (this.d)\n            throw 'stream finished';\n        if (!this.ondata)\n            throw 'no stream handler';\n        this.d = final;\n        this.p(chunk, final || false);\n    };\n    return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n    function AsyncDeflate(opts, cb) {\n        astrmify([\n            bDflt,\n            function () { return [astrm, Deflate]; }\n        ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n            var strm = new Deflate(ev.data);\n            onmessage = astrm(strm);\n        }, 6);\n    }\n    return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        throw 'no callback';\n    return cbify(data, opts, [\n        bDflt,\n    ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n    if (opts === void 0) { opts = {}; }\n    return dopt(data, opts, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n    /**\n     * Creates an inflation stream\n     * @param cb The callback to call whenever data is inflated\n     */\n    function Inflate(cb) {\n        this.s = {};\n        this.p = new u8(0);\n        this.ondata = cb;\n    }\n    Inflate.prototype.e = function (c) {\n        if (this.d)\n            throw 'stream finished';\n        if (!this.ondata)\n            throw 'no stream handler';\n        var l = this.p.length;\n        var n = new u8(l + c.length);\n        n.set(this.p), n.set(c, l), this.p = n;\n    };\n    Inflate.prototype.c = function (final) {\n        this.d = this.s.i = final || false;\n        var bts = this.s.b;\n        var dt = inflt(this.p, this.o, this.s);\n        this.ondata(slc(dt, bts, this.s.b), this.d);\n        this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n        this.p = slc(this.p, (this.s.p / 8) >> 0), this.s.p &= 7;\n    };\n    /**\n     * Pushes a chunk to be inflated\n     * @param chunk The chunk to push\n     * @param final Whether this is the final chunk\n     */\n    Inflate.prototype.push = function (chunk, final) {\n        this.e(chunk), this.c(final);\n    };\n    return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n    /**\n     * Creates an asynchronous inflation stream\n     * @param cb The callback to call whenever data is deflated\n     */\n    function AsyncInflate(cb) {\n        this.ondata = cb;\n        astrmify([\n            bInflt,\n            function () { return [astrm, Inflate]; }\n        ], this, 0, function () {\n            var strm = new Inflate();\n            onmessage = astrm(strm);\n        }, 7);\n    }\n    return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        throw 'no callback';\n    return cbify(data, opts, [\n        bInflt\n    ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, out) {\n    return inflt(data, out);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n    function Gzip(opts, cb) {\n        this.c = crc();\n        this.l = 0;\n        this.v = 1;\n        Deflate.call(this, opts, cb);\n    }\n    /**\n     * Pushes a chunk to be GZIPped\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Gzip.prototype.push = function (chunk, final) {\n        Deflate.prototype.push.call(this, chunk, final);\n    };\n    Gzip.prototype.p = function (c, f) {\n        this.c.p(c);\n        this.l += c.length;\n        var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f);\n        if (this.v)\n            gzh(raw, this.o), this.v = 0;\n        if (f)\n            wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n        this.ondata(raw, f);\n    };\n    return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n    function AsyncGzip(opts, cb) {\n        astrmify([\n            bDflt,\n            gze,\n            function () { return [astrm, Deflate, Gzip]; }\n        ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n            var strm = new Gzip(ev.data);\n            onmessage = astrm(strm);\n        }, 8);\n    }\n    return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        throw 'no callback';\n    return cbify(data, opts, [\n        bDflt,\n        gze,\n        function () { return [gzipSync]; }\n    ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n    if (opts === void 0) { opts = {}; }\n    var c = crc(), l = data.length;\n    c.p(data);\n    var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n    return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n    /**\n     * Creates a GUNZIP stream\n     * @param cb The callback to call whenever data is inflated\n     */\n    function Gunzip(cb) {\n        this.v = 1;\n        Inflate.call(this, cb);\n    }\n    /**\n     * Pushes a chunk to be GUNZIPped\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Gunzip.prototype.push = function (chunk, final) {\n        Inflate.prototype.e.call(this, chunk);\n        if (this.v) {\n            var s = gzs(this.p);\n            if (s >= this.p.length && !final)\n                return;\n            this.p = this.p.subarray(s), this.v = 0;\n        }\n        if (final) {\n            if (this.p.length < 8)\n                throw 'invalid gzip stream';\n            this.p = this.p.subarray(0, -8);\n        }\n        // necessary to prevent TS from using the closure value\n        // This allows for workerization to function correctly\n        Inflate.prototype.c.call(this, final);\n    };\n    return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n    /**\n     * Creates an asynchronous GUNZIP stream\n     * @param cb The callback to call whenever data is deflated\n     */\n    function AsyncGunzip(cb) {\n        this.ondata = cb;\n        astrmify([\n            bInflt,\n            guze,\n            function () { return [astrm, Inflate, Gunzip]; }\n        ], this, 0, function () {\n            var strm = new Gunzip();\n            onmessage = astrm(strm);\n        }, 9);\n    }\n    return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        throw 'no callback';\n    return cbify(data, opts, [\n        bInflt,\n        guze,\n        function () { return [gunzipSync]; }\n    ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory.\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, out) {\n    return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n    function Zlib(opts, cb) {\n        this.c = adler();\n        this.v = 1;\n        Deflate.call(this, opts, cb);\n    }\n    /**\n     * Pushes a chunk to be zlibbed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Zlib.prototype.push = function (chunk, final) {\n        Deflate.prototype.push.call(this, chunk, final);\n    };\n    Zlib.prototype.p = function (c, f) {\n        this.c.p(c);\n        var raw = dopt(c, this.o, this.v && 2, f && 4, !f);\n        if (this.v)\n            zlh(raw, this.o), this.v = 0;\n        if (f)\n            wbytes(raw, raw.length - 4, this.c.d());\n        this.ondata(raw, f);\n    };\n    return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n    function AsyncZlib(opts, cb) {\n        astrmify([\n            bDflt,\n            zle,\n            function () { return [astrm, Deflate, Zlib]; }\n        ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n            var strm = new Zlib(ev.data);\n            onmessage = astrm(strm);\n        }, 10);\n    }\n    return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        throw 'no callback';\n    return cbify(data, opts, [\n        bDflt,\n        zle,\n        function () { return [zlibSync]; }\n    ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n    if (opts === void 0) { opts = {}; }\n    var a = adler();\n    a.p(data);\n    var d = dopt(data, opts, 2, 4);\n    return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n    /**\n     * Creates a Zlib decompression stream\n     * @param cb The callback to call whenever data is inflated\n     */\n    function Unzlib(cb) {\n        this.v = 1;\n        Inflate.call(this, cb);\n    }\n    /**\n     * Pushes a chunk to be unzlibbed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Unzlib.prototype.push = function (chunk, final) {\n        Inflate.prototype.e.call(this, chunk);\n        if (this.v) {\n            if (this.p.length < 2 && !final)\n                return;\n            this.p = this.p.subarray(2), this.v = 0;\n        }\n        if (final) {\n            if (this.p.length < 4)\n                throw 'invalid zlib stream';\n            this.p = this.p.subarray(0, -4);\n        }\n        // necessary to prevent TS from using the closure value\n        // This allows for workerization to function correctly\n        Inflate.prototype.c.call(this, final);\n    };\n    return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n    /**\n     * Creates an asynchronous Zlib decompression stream\n     * @param cb The callback to call whenever data is deflated\n     */\n    function AsyncUnzlib(cb) {\n        this.ondata = cb;\n        astrmify([\n            bInflt,\n            zule,\n            function () { return [astrm, Inflate, Unzlib]; }\n        ], this, 0, function () {\n            var strm = new Unzlib();\n            onmessage = astrm(strm);\n        }, 11);\n    }\n    return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        throw 'no callback';\n    return cbify(data, opts, [\n        bInflt,\n        zule,\n        function () { return [unzlibSync]; }\n    ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, out) {\n    return inflt((zlv(data), data.subarray(2, -4)), out);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n    /**\n     * Creates a decompression stream\n     * @param cb The callback to call whenever data is decompressed\n     */\n    function Decompress(cb) {\n        this.G = Gunzip;\n        this.I = Inflate;\n        this.Z = Unzlib;\n        this.ondata = cb;\n    }\n    /**\n     * Pushes a chunk to be decompressed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    Decompress.prototype.push = function (chunk, final) {\n        if (!this.ondata)\n            throw 'no stream handler';\n        if (!this.s) {\n            if (this.p && this.p.length) {\n                var n = new u8(this.p.length + chunk.length);\n                n.set(this.p), n.set(chunk, this.p.length);\n            }\n            else\n                this.p = chunk;\n            if (this.p.length > 2) {\n                var _this_1 = this;\n                var cb = function () { _this_1.ondata.apply(_this_1, arguments); };\n                this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n                    ? new this.G(cb)\n                    : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n                        ? new this.I(cb)\n                        : new this.Z(cb);\n                this.s.push(this.p, final);\n                this.p = null;\n            }\n        }\n        else\n            this.s.push(chunk, final);\n    };\n    return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n    /**\n   * Creates an asynchronous decompression stream\n   * @param cb The callback to call whenever data is decompressed\n   */\n    function AsyncDecompress(cb) {\n        this.G = AsyncGunzip;\n        this.I = AsyncInflate;\n        this.Z = AsyncUnzlib;\n        this.ondata = cb;\n    }\n    /**\n     * Pushes a chunk to be decompressed\n     * @param chunk The chunk to push\n     * @param final Whether this is the last chunk\n     */\n    AsyncDecompress.prototype.push = function (chunk, final) {\n        Decompress.prototype.push.call(this, chunk, final);\n    };\n    return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        throw 'no callback';\n    return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n        ? gunzip(data, opts, cb)\n        : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n            ? inflate(data, opts, cb)\n            : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, out) {\n    return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n        ? gunzipSync(data, out)\n        : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n            ? inflateSync(data, out)\n            : unzlibSync(data, out);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n    for (var k in d) {\n        var val = d[k], n = p + k;\n        if (val instanceof u8)\n            t[n] = [val, o];\n        else if (Array.isArray(val))\n            t[n] = [val[0], mrg(o, val[1])];\n        else\n            fltn(val, n + '/', t, o);\n    }\n};\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n *               not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n    var l = str.length;\n    if (!latin1 && typeof TextEncoder != 'undefined')\n        return new TextEncoder().encode(str);\n    var ar = new u8(str.length + (str.length >>> 1));\n    var ai = 0;\n    var w = function (v) { ar[ai++] = v; };\n    for (var i = 0; i < l; ++i) {\n        if (ai + 5 > ar.length) {\n            var n = new u8(ai + 8 + ((l - i) << 1));\n            n.set(ar);\n            ar = n;\n        }\n        var c = str.charCodeAt(i);\n        if (c < 128 || latin1)\n            w(c);\n        else if (c < 2048)\n            w(192 | (c >>> 6)), w(128 | (c & 63));\n        else if (c > 55295 && c < 57344)\n            c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n                w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n        else\n            w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n    }\n    return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n *               not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n    var r = '';\n    if (!latin1 && typeof TextDecoder != 'undefined')\n        return new TextDecoder().decode(dat);\n    for (var i = 0; i < dat.length;) {\n        var c = dat[i++];\n        if (c < 128 || latin1)\n            r += String.fromCharCode(c);\n        else if (c < 224)\n            r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63));\n        else if (c < 240)\n            r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63));\n        else\n            c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536,\n                r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n    }\n    return r;\n}\n;\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n    var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl;\n    var _a = z ? z64e(d, es) : [b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n    return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n    for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n        ;\n    return [b4(d, b + 12), b4(d, b + 4), b4(d, b + 20)];\n};\n// write zip header\nvar wzh = function (d, b, c, cmp, su, fn, u, o, ce, t) {\n    var fl = fn.length, l = cmp.length;\n    wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n    if (ce != null)\n        d[b] = 20, b += 2;\n    d[b] = 20, b += 2; // spec compliance? what's that?\n    d[b++] = (t == 8 && (o.level == 1 ? 6 : o.level < 6 ? 4 : o.level == 9 ? 2 : 0)), d[b++] = u && 8;\n    d[b] = t, b += 2;\n    var dt = new Date(o.mtime || Date.now()), y = dt.getFullYear() - 1980;\n    if (y < 0 || y > 119)\n        throw 'date not in range 1980-2099';\n    wbytes(d, b, ((y << 24) * 2) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1));\n    b += 4;\n    wbytes(d, b, c);\n    wbytes(d, b + 4, l);\n    wbytes(d, b + 8, su);\n    wbytes(d, b + 12, fl), b += 16; // skip extra field, comment\n    if (ce != null)\n        wbytes(d, b += 10, ce), b += 4;\n    d.set(fn, b);\n    b += fl;\n    if (ce == null)\n        d.set(cmp, b);\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n    wbytes(o, b, 0x6054B50); // skip disk\n    wbytes(o, b + 8, c);\n    wbytes(o, b + 10, c);\n    wbytes(o, b + 12, d);\n    wbytes(o, b + 16, e);\n};\nexport function zip(data, opts, cb) {\n    if (!cb)\n        cb = opts, opts = {};\n    if (typeof cb != 'function')\n        throw 'no callback';\n    var r = {};\n    fltn(data, '', r, opts);\n    var k = Object.keys(r);\n    var lft = k.length, o = 0, tot = 0;\n    var slft = lft, files = new Array(lft);\n    var term = [];\n    var tAll = function () {\n        for (var i = 0; i < term.length; ++i)\n            term[i]();\n    };\n    var cbf = function () {\n        var out = new u8(tot + 22), oe = o, cdl = tot - o;\n        tot = 0;\n        for (var i = 0; i < slft; ++i) {\n            var f = files[i];\n            try {\n                wzh(out, tot, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n                wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, tot, f.t), o += 46 + f.n.length, tot += 30 + f.n.length + f.d.length;\n            }\n            catch (e) {\n                return cb(e, null);\n            }\n        }\n        wzf(out, o, files.length, cdl, oe);\n        cb(null, out);\n    };\n    if (!lft)\n        cbf();\n    var _loop_1 = function (i) {\n        var fn = k[i];\n        var _a = r[fn], file = _a[0], p = _a[1];\n        var c = crc(), m = file.length;\n        c.p(file);\n        var n = strToU8(fn), s = n.length;\n        var t = p.level == 0 ? 0 : 8;\n        var cbl = function (e, d) {\n            if (e) {\n                tAll();\n                cb(e, null);\n            }\n            else {\n                var l = d.length;\n                files[i] = {\n                    t: t,\n                    d: d,\n                    m: m,\n                    c: c.d(),\n                    u: fn.length != l,\n                    n: n,\n                    p: p\n                };\n                o += 30 + s + l;\n                tot += 76 + 2 * s + l;\n                if (!--lft)\n                    cbf();\n            }\n        };\n        if (n.length > 65535)\n            cbl('filename too long', null);\n        if (!t)\n            cbl(null, file);\n        else if (m < 160000) {\n            try {\n                cbl(null, deflateSync(file, p));\n            }\n            catch (e) {\n                cbl(e, null);\n            }\n        }\n        else\n            term.push(deflate(file, p, cbl));\n    };\n    // Cannot use lft because it can decrease\n    for (var i = 0; i < slft; ++i) {\n        _loop_1(i);\n    }\n    return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n    if (opts === void 0) { opts = {}; }\n    var r = {};\n    var files = [];\n    fltn(data, '', r, opts);\n    var o = 0;\n    var tot = 0;\n    for (var fn in r) {\n        var _a = r[fn], file = _a[0], p = _a[1];\n        var t = p.level == 0 ? 0 : 8;\n        var n = strToU8(fn), s = n.length;\n        if (n.length > 65535)\n            throw 'filename too long';\n        var d = t ? deflateSync(file, p) : file, l = d.length;\n        var c = crc();\n        c.p(file);\n        files.push({\n            t: t,\n            d: d,\n            m: file.length,\n            c: c.d(),\n            u: fn.length != s,\n            n: n,\n            o: o,\n            p: p\n        });\n        o += 30 + s + l;\n        tot += 76 + 2 * s + l;\n    }\n    var out = new u8(tot + 22), oe = o, cdl = tot - o;\n    for (var i = 0; i < files.length; ++i) {\n        var f = files[i];\n        wzh(out, f.o, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n        wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, f.o, f.t), o += 46 + f.n.length;\n    }\n    wzf(out, o, files.length, cdl, oe);\n    return out;\n}\n/**\n * Asynchronously decompresses a ZIP archive\n * @param data The raw compressed ZIP file\n * @param cb The callback to call with the decompressed files\n * @returns A function that can be used to immediately terminate the unzipping\n */\nexport function unzip(data, cb) {\n    if (typeof cb != 'function')\n        throw 'no callback';\n    var term = [];\n    var tAll = function () {\n        for (var i = 0; i < term.length; ++i)\n            term[i]();\n    };\n    var files = {};\n    var e = data.length - 22;\n    for (; b4(data, e) != 0x6054B50; --e) {\n        if (!e || data.length - e > 65558) {\n            cb('invalid zip file', null);\n            return;\n        }\n    }\n    ;\n    var lft = b2(data, e + 8);\n    if (!lft)\n        cb(null, {});\n    var c = lft;\n    var o = b4(data, e + 16);\n    var z = o == 4294967295;\n    if (z) {\n        e = b4(data, e - 12);\n        if (b4(data, e) != 0x6064B50)\n            throw 'invalid zip file';\n        c = lft = b4(data, e + 32);\n        o = b4(data, e + 48);\n    }\n    var _loop_2 = function (i) {\n        var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n        o = no;\n        var cbl = function (e, d) {\n            if (e) {\n                tAll();\n                cb(e, null);\n            }\n            else {\n                files[fn] = d;\n                if (!--lft)\n                    cb(null, files);\n            }\n        };\n        if (!c_1)\n            cbl(null, slc(data, b, b + sc));\n        else if (c_1 == 8) {\n            var infl = data.subarray(b, b + sc);\n            if (sc < 320000) {\n                try {\n                    cbl(null, inflateSync(infl, new u8(su)));\n                }\n                catch (e) {\n                    cbl(e, null);\n                }\n            }\n            else\n                term.push(inflate(infl, { size: su }, cbl));\n        }\n        else\n            cbl('unknown compression type ' + c_1, null);\n    };\n    for (var i = 0; i < c; ++i) {\n        _loop_2(i);\n    }\n    return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @returns The decompressed files\n */\nexport function unzipSync(data) {\n    var files = {};\n    var e = data.length - 22;\n    for (; b4(data, e) != 0x6054B50; --e) {\n        if (!e || data.length - e > 65558)\n            throw 'invalid zip file';\n    }\n    ;\n    var c = b2(data, e + 8);\n    if (!c)\n        return {};\n    var o = b4(data, e + 16);\n    var z = o == 4294967295;\n    if (z) {\n        e = b4(data, e - 12);\n        if (b4(data, e) != 0x6064B50)\n            throw 'invalid zip file';\n        c = b4(data, e + 32);\n        o = b4(data, e + 48);\n    }\n    for (var i = 0; i < c; ++i) {\n        var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n        o = no;\n        if (!c_2)\n            files[fn] = slc(data, b, b + sc);\n        else if (c_2 == 8)\n            files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su));\n        else\n            throw 'unknown compression type ' + c_2;\n    }\n    return files;\n}\n","import { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { ApiBaseResponse, CommonDropdown, PageData } from '../../../models';\r\n\r\n@Injectable()\r\nexport class ImportResultService {\r\n  private apiUrl: string = environment.apiUrl + '/lotResults';\r\n  private ddUrl: string = environment.apiUrl + '/Auction/AuctionsHaveLotNotHostedBiddingDropdownList';\r\n\r\n  constructor(private http: HttpClient) { }\r\n\r\n  uploadLotResults(auctionId: number, file: File): Observable<any> {\r\n    let formData = new FormData();\r\n    formData.append('auctionId', '' + auctionId);\r\n    (typeof file === 'string')?\r\n    formData.append('file', file):\r\n    formData.append('file', file,file?.name);\r\n    return this.http.post<ApiBaseResponse<any>>(this.apiUrl + '/importLotResults', formData)\r\n      .pipe(map(it => it.data));\r\n  }\r\n\r\n  uploadAuctionUsers(auctionId: number, file: File): Observable<any> {\r\n    let formData = new FormData();\r\n    formData.append('auctionId', '' + auctionId);\r\n    (typeof file === 'string')?\r\n    formData.append('file', file):\r\n    formData.append('file', file,file?.name);\r\n    return this.http.post<ApiBaseResponse<any>>(this.apiUrl + '/importAuctionUsers', formData)\r\n      .pipe(map(it => it.data));\r\n  }\r\n\r\n  checkAuctionUsers(auctionId: number): Observable<boolean> {\r\n    return this.http.get<ApiBaseResponse<boolean>>(this.apiUrl + '/importAuctionUsers', {\r\n      params: { 'auctionId': auctionId.toString() }\r\n    })\r\n      .pipe(map(it => it.data));\r\n  }\r\n\r\n  getLotResults(pagingModel: PagingModel): Observable<PageData<any>> {\r\n    let param = new HttpParams();\r\n\r\n    if (pagingModel.searchTerm)\r\n      param = param.append('searchTerm', pagingModel.searchTerm);\r\n    param = param.append('auctionId', pagingModel.auctionId.toString());\r\n    param = param.append('pageNumber', pagingModel.pageNum.toString());\r\n    param = param.append('pageSize', pagingModel.pageSize.toString());\r\n    param = param.append('isPaginated', '' + true);\r\n\r\n    return this.http.get<ApiBaseResponse<any>>(this.apiUrl + '/GetLotResultByAuctionId', {\r\n      params: param\r\n    })\r\n      .pipe(map((it) => ({ data: it.data, totalCount: it.pagingInfo.totalCount })));\r\n  }\r\n\r\n  getAuctionsForDD(): Observable<CommonDropdown[]> {\r\n    return this.http.get<ApiBaseResponse<CommonDropdown[]>>(this.ddUrl).pipe(map(it => it.data));\r\n  }\r\n}\r\n\r\nexport interface PagingModel {\r\n  auctionId: number;\r\n  searchTerm: string;\r\n  pageNum: number;\r\n  pageSize: number;\r\n}\r\n","import {\r\n  Component,\r\n  OnInit,\r\n  TemplateRef,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n} from '@angular/core';\r\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport {\r\n  FormGroup,\r\n  FormControl,\r\n  Validators,\r\n  AbstractControl,\r\n} from '@angular/forms';\r\nimport { AppValidators } from '../../../core/validators/app-validators';\r\nimport constants from '../../../utility/constants';\r\nimport { AuctionContact, AuctionLocation, AuctionStep4 } from '../../../models';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuctionService, CmsService, LoaderService } from '../../../services';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Router } from '@angular/router';\r\nimport messages from '../../../utility/messages';\r\nimport {  Subscription } from 'rxjs';\r\n\r\nexport enum modal {\r\n  Location = 1,\r\n  Contact,\r\n}\r\n\r\n@Component({\r\n  selector: 'app-add-auction-step4',\r\n  templateUrl: './add-auction-step4.component.html',\r\n  styleUrls: ['./add-auction-step4.component.css'],\r\n})\r\nexport class AddAuctionStep4Component implements OnInit {\r\n  @Input('isEditMode') editMode: boolean;\r\n  @Input('auctionId') auctionId: number;\r\n  @Input('auctionStatus') auctionStatus: number;\r\n  @Output('goToStep') step: EventEmitter<number> = new EventEmitter();\r\n  modalRef: BsModalRef;\r\n\r\n  displayedColumns: string[] = ['locationName', 'address', 'lot', 'action'];\r\n\r\n  displayedColumns2: string[] = [\r\n    'contactName',\r\n    'address',\r\n    'email',\r\n    'mobileNumber',\r\n    'action',\r\n  ];\r\n\r\n  fieldMaxLengthShort: number = constants.common.validations.maxLength50;\r\n  fieldMaxLengthMid: number = constants.common.validations.maxLength150;\r\n  minMobileNumberLength: number = constants.common.validations.maxLength10;\r\n  mobileNumberLength: number = constants.common.validations.maxLength30;\r\n  fieldMaxLength: number = constants.common.validations.maxLength100;\r\n  fieldMaxLengthMedium: number = constants.common.validations.maxLength500;\r\n  fieldMaxLengthLong: number = constants.common.validations.maxLength1500;\r\n  fieldMaxLengthLonger: number = constants.common.validations.maxLength2500;\r\n  fieldMaxLengthMuchLonger: number = constants.common.validations.maxLength5000;\r\n  fieldMaxLengthLongest: number = constants.common.validations.maxLength10000;\r\n  fieldMaxLengthMediumMost: number = constants.common.validations.maxLength200;\r\n\r\n  locationForm: FormGroup;\r\n  locations = new MatTableDataSource<AuctionLocation>([]);\r\n  addEditLocationsList: Array<AuctionLocation> = [];\r\n  isLocationEdit: boolean = false;\r\n  currentLocationIndex: number = 0;\r\n\r\n  staticRiggingData: string = '';\r\n  staticSaletaxData: string = '';\r\n  staticRemovalData: string = '';\r\n  staticInspectionData: string = '';\r\n\r\n  riggingData: string = '';\r\n  removalData: string = '';\r\n  saletaxData: string = '';\r\n  inspectionData: string = '';\r\n  addressData: string = '';\r\n\r\n  loading: boolean = false;\r\n  modalType: number;\r\n  contactForm: FormGroup;\r\n  contacts = new MatTableDataSource<AuctionContact>([]);\r\n  addEditContactsList: Array<AuctionContact> = [];\r\n  isContactEdit: boolean = false;\r\n  currentContactIndex: number = 0;\r\n  contactDisable: boolean;\r\n  locationDisable: boolean;\r\n  contactLength: number;\r\n  locationLength: number;\r\n\r\n  isSaleTaxLimitReached: boolean;\r\n  isRemovalLimitReached: boolean;\r\n  isRiggingLimitReached: boolean;\r\n  isInspectionLimitReached: boolean;\r\n\r\n  locationSubmitted: boolean = false;\r\n  contactSubmitted: boolean = false;\r\n\r\n  cmsPageIds = constants.common.cmsPages;\r\n  saveUpdate: string;\r\n  showButtonText: string;\r\n  private subscriptions: Array<Subscription> = [];\r\n\r\n  constructor(\r\n    private modalService: BsModalService,\r\n    private toastr: ToastrService,\r\n    private auctionService: AuctionService,\r\n    private router: Router,\r\n    private loaderService: LoaderService,\r\n    private cmsService: CmsService\r\n  ) { }\r\n\r\n  ngOnInit() {\r\n    this.bindFormData();\r\n    this.initiateLocationForm();\r\n    this.initiateContactForm();\r\n    this.getCmsPageData();\r\n  }\r\n\r\n  private getCmsPageData() {\r\n    const pages = this.cmsService.getCmsPage(this.cmsPageIds.riggingInfo).subscribe((res) => {\r\n      this.staticRiggingData = res.description;\r\n      if (!this.locationForm.value.riggingAndShipping) {\r\n        this.locationForm.patchValue({\r\n          riggingAndShipping: this.staticRiggingData,\r\n        });\r\n        this.locationForm.updateValueAndValidity();\r\n      }\r\n    });\r\n    this.subscriptions.push(pages);\r\n\r\n    const texinfo = this.cmsService.getCmsPage(this.cmsPageIds.saleTaxInfo).subscribe((res) => {\r\n      this.staticSaletaxData = res.description;\r\n      if (!this.locationForm.value.salesTaxDetail) {\r\n        this.locationForm.patchValue({\r\n          salesTaxDetail: this.staticSaletaxData,\r\n        });\r\n        this.locationForm.updateValueAndValidity();\r\n      }\r\n    });\r\n    this.subscriptions.push(texinfo);\r\n\r\n    this.staticInspectionData = constants.admin.initialValues.inspectionPreview;\r\n\r\n    const cmspage = this.cmsService\r\n      .getCmsPage(this.cmsPageIds.defaultRemovalDatesRules)\r\n      .subscribe((res) => {\r\n        this.staticRemovalData = res.description;\r\n        if (!this.locationForm.value.removalDateAndRules) {\r\n          this.locationForm.patchValue({\r\n            removalDateAndRules: this.staticRemovalData,\r\n          });\r\n          this.locationForm.updateValueAndValidity();\r\n        }\r\n      });\r\n      this.subscriptions.push(cmspage);\r\n  }\r\n\r\n  initiateLocationForm() {\r\n\r\n    this.locationForm = new FormGroup({\r\n      id: new FormControl(0),\r\n      name: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n        Validators.maxLength(this.fieldMaxLengthMid),\r\n      ]),\r\n      address: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n      ]),\r\n      locationLink: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        AppValidators.checkWebAddress,\r\n      ]),\r\n      lotNumbers: new FormControl('TBD', [\r\n        AppValidators.noWhitespace,\r\n        AppValidators.locationLotNum,\r\n        Validators.maxLength(this.fieldMaxLength),\r\n      ]),\r\n      salesTaxRate: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        AppValidators.onlyPercentage,\r\n      ]),\r\n      removalDateAndRules: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n      ]),\r\n      salesTaxDetail: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n      ]),\r\n      inspectionPreview: new FormControl(constants.admin.initialValues.inspectionPreview, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n      ]),\r\n      riggingAndShipping: new FormControl(null, [\r\n        AppValidators.noWhitespace,\r\n        Validators.required,\r\n      ]),\r\n      isDeleted: new FormControl(false),\r\n    });\r\n  }\r\n\r\n  editorContent(\r\n    event: { data: string; limitReached: boolean },\r\n    control: AbstractControl\r\n  ) {\r\n    control.patchValue(event.data);\r\n    control.markAsDirty();\r\n    if (event.limitReached) control.setErrors({ invalid: true });\r\n    else control.setErrors(null);\r\n    control.updateValueAndValidity();\r\n  }\r\n\r\n  editLocation(index: number) {\r\n    let data = this.locations.data[index];\r\n    this.addressData = data.address;\r\n    this.removalData = data.removalDateAndRules;\r\n    this.saletaxData = data.salesTaxDetail\r\n      ? data.salesTaxDetail\r\n      : this.staticSaletaxData;\r\n    this.riggingData = data.riggingAndShipping\r\n      ? data.riggingAndShipping\r\n      : this.staticRiggingData;\r\n    this.inspectionData = data.inspectionPreview\r\n    ? data.inspectionPreview\r\n    : this.staticInspectionData;\r\n    this.locationForm.patchValue({\r\n      id: data.id,\r\n      name: data.name,\r\n      address: data.address,\r\n      locationLink: data.locationLink,\r\n      lotNumbers: data.lotNumbers,\r\n      salesTaxRate: data.salesTaxRate,\r\n      removalDateAndRules: data.removalDateAndRules\r\n        ? data.removalDateAndRules\r\n        : this.staticRemovalData,\r\n      salesTaxDetail: data.salesTaxDetail\r\n        ? data.salesTaxDetail\r\n        : this.staticSaletaxData,\r\n      inspectionPreview: data.inspectionPreview,\r\n      riggingAndShipping: data.riggingAndShipping\r\n        ? data.riggingAndShipping\r\n        : this.staticRiggingData,\r\n      isDeleted: data.isDeleted,\r\n    });\r\n    this.locationForm.updateValueAndValidity();\r\n    this.disableButton();\r\n  }\r\n\r\n  onDeleteLocation(index: number) {\r\n    this.addEditLocationsList[index].isDeleted = true;\r\n    this.locations.data = this.addEditLocationsList;\r\n    this.onSendAndApproval(false)\r\n    this.disableButton();\r\n    this.closeModal();\r\n    this.disableButton();\r\n    this.locationForm.updateValueAndValidity();\r\n  }\r\n\r\n  onLocationSave() {\r\n    this.locationSubmitted = true;\r\n    let updatedAddress = this.locationForm.value.address.replace(/<[^>]*>?/gm, '')\r\n    let updatedAddressData = this.addressData ? this.addressData.replace(/<[^>]*>?/gm, '') : '/'\r\n    if (this.locationForm.invalid) {\r\n      return;\r\n    }\r\n    if (updatedAddress.length > 200 || updatedAddressData.length > 200) {\r\n      return;\r\n    }\r\n\r\n    if (this.isLocationEdit) {\r\n      let arr = [...this.addEditLocationsList]\r\n      arr.splice(this.currentLocationIndex, 1)\r\n      if (arr.find((test) => test.name === this.locationForm.value.name && test.address === this.locationForm.value.address && test.lotNumbers === this.locationForm.value.lotNumbers && test.salesTaxDetail === this.locationForm.value.salesTaxDetail) === undefined) {\r\n        this.addEditLocationsList.splice(\r\n          this.currentLocationIndex,\r\n          1,\r\n          this.locationForm.value\r\n        );\r\n        this.locations.data.splice(\r\n          this.currentLocationIndex,\r\n          1,\r\n          this.locationForm.value\r\n        );\r\n        this.onSendAndApproval(false)\r\n        this.locations.data = this.addEditLocationsList;\r\n        this.closeModal();\r\n        this.disableButton();\r\n        this.locationForm.updateValueAndValidity();\r\n      }\r\n      else {\r\n        this.toastr.error('Duplicate entry')\r\n      }\r\n    } else {\r\n      const result = this.addEditLocationsList.filter((thing, index, self) =>\r\n        index === self.findIndex((t) => (\r\n          t.name === this.locationForm.value.name && t.address === this.locationForm.value.address && t.lotNumbers === this.locationForm.value.lotNumbers && t.salesTaxDetail === this.locationForm.value.salesTaxDetail\r\n        ))\r\n      )\r\n      if (result.length) {\r\n        this.toastr.error('Duplicate entry')\r\n      }\r\n      else {\r\n        this.addEditLocationsList.push(this.locationForm.value);\r\n        this.onSendAndApproval(false)\r\n        this.locations.data = this.addEditLocationsList;\r\n        this.closeModal();\r\n        this.disableButton();\r\n        this.locationForm.updateValueAndValidity();\r\n      }\r\n\r\n\r\n    }\r\n\r\n  }\r\n\r\n\r\n  resetLocationForm() {\r\n    this.addressData = '';\r\n    this.removalData = '';\r\n    this.riggingData = this.staticRiggingData;\r\n    this.saletaxData = this.staticSaletaxData;\r\n    this.removalData = this.staticRemovalData;\r\n    this.inspectionData = this.staticInspectionData;\r\n    this.locationForm.reset({ id: 0, isDeleted: false });\r\n    this.locationForm.updateValueAndValidity();\r\n  }\r\n\r\n  initiateContactForm() {\r\n    this.contactForm = new FormGroup(\r\n      {\r\n        id: new FormControl(0),\r\n        contactName: new FormControl(null, [\r\n          AppValidators.noWhitespace,\r\n          Validators.required,\r\n          Validators.maxLength(this.fieldMaxLengthShort),\r\n        ]),\r\n        description: new FormControl(null, [\r\n          AppValidators.noWhitespace,\r\n          Validators.required,\r\n          Validators.maxLength(this.fieldMaxLengthShort),\r\n        ]),\r\n        email: new FormControl(null, [\r\n          AppValidators.checkEmail,\r\n          AppValidators.noWhitespace,\r\n          Validators.maxLength(this.fieldMaxLengthShort),\r\n        ]),\r\n        mobileNumber: new FormControl(null, [\r\n          AppValidators.noWhitespace,\r\n        ]),\r\n        isDeleted: new FormControl(false),\r\n      },\r\n      this.isRequired.bind(this)\r\n    );\r\n  }\r\n\r\n  private isRequired(formGroup: FormGroup) {\r\n    let email = formGroup.value.email;\r\n    let mobileNumber = formGroup.value.mobileNumber;\r\n    if (\r\n      (email == '' || email == null) &&\r\n      (mobileNumber == '' || mobileNumber == null)\r\n    ) {\r\n      return { invalidFields: true };\r\n    } else {\r\n      return null;\r\n    }\r\n  }\r\n\r\n  editContact(index: number) {\r\n    let data = this.contacts.data[index];\r\n    this.contactForm.patchValue({\r\n      id: data.id,\r\n      contactName: data.contactName,\r\n      description: data.description,\r\n      email: data.email,\r\n      mobileNumber: data.mobileNumber,\r\n      isDeleted: data.isDeleted,\r\n    });\r\n    this.disableButton();\r\n  }\r\n\r\n  onDeleteContact(index: number) {\r\n    this.addEditContactsList[index].isDeleted = true;\r\n    this.contacts.data = this.addEditContactsList;\r\n    this.onSendAndApproval(false)\r\n    this.disableButton();\r\n    this.closeModal();\r\n    this.disableButton();\r\n  }\r\n\r\n  onContactSave() {\r\n    this.contactSubmitted = true;\r\n    if (this.contactForm.invalid) {\r\n      return;\r\n    }\r\n    if (this.isContactEdit) {\r\n        this.addEditContactsList[this.currentContactIndex] = this.contactForm.value;\r\n        this.contacts.data = this.addEditContactsList;\r\n        this.onSendAndApproval(false)\r\n        this.closeModal();\r\n        this.disableButton();\r\n    } else {\r\n      this.addEditContactsList.push(this.contactForm.value);\r\n      this.onSendAndApproval(false)\r\n      this.contacts.data = this.addEditContactsList;\r\n      this.closeModal();\r\n      this.disableButton();\r\n    }\r\n  }\r\n\r\n  resetContactForm() {\r\n    this.contactForm.reset({\r\n      id: 0,\r\n      isDeleted: false,\r\n    });\r\n  }\r\n\r\n  arrayLengths() {\r\n    this.contactLength = this.addEditContactsList.filter(\r\n      (obj) => obj.isDeleted != true\r\n    ).length;\r\n    this.locationLength = this.addEditLocationsList.filter(\r\n      (obj) => obj.isDeleted != true\r\n    ).length;\r\n  }\r\n\r\n  disableButton() {\r\n    this.arrayLengths();\r\n    if (this.contactLength <= 0) {\r\n      this.contactDisable = true;\r\n    } else {\r\n      this.contactDisable = false;\r\n    }\r\n    if (this.locationLength <= 0) {\r\n      this.locationDisable = true;\r\n    } else {\r\n      this.locationDisable = false;\r\n    }\r\n  }\r\n\r\n  onSendAndApproval(isUpdated) {\r\n    this.loading = true;\r\n    this.loaderService.showLoader(true);\r\n\r\n    let payLoad = this.constructFormData(isUpdated);\r\n    const step4 = this.auctionService.addEditDeleteAuctionStep4(payLoad).subscribe(\r\n      () => {\r\n        this.loading = false;\r\n        this.loaderService.showLoader(false);\r\n        \r\n        this.toastr.success(\r\n          this.editMode\r\n            ? messages.addAuction4.updated\r\n            : messages.addAuction4.saved,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        if(isUpdated){\r\n          this.goToStep(5);\r\n        }\r\n        //\r\n      },\r\n      (err) => {\r\n        this.loading = false;\r\n        this.loaderService.showLoader(false);\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    );\r\n    this.subscriptions.push(step4);\r\n  }\r\n\r\n  constructFormData(isUpdated) {\r\n    let contactPayload: AuctionContact[] = this.addEditContactsList\r\n      .map((i) => ({ ...i, email: i.email == '' ? null : i.email }))\r\n      .filter((obj) => {\r\n        return obj.id > 0 || (obj.id == 0 && obj.isDeleted != true);\r\n      });\r\n    let locationPayload: AuctionLocation[] = this.addEditLocationsList.filter(\r\n      (obj) => {\r\n        return obj.id > 0 || (obj.id == 0 && obj.isDeleted != true);\r\n      }\r\n    );\r\n    return {\r\n      auctionId: this.auctionId,\r\n      auctionLocations: locationPayload,\r\n      auctionContacts: contactPayload,\r\n      isUpdated: isUpdated\r\n    };\r\n  }\r\n\r\n  bindFormData() {\r\n    const step4data = this.auctionService.getAuctionStep4(this.auctionId).subscribe(\r\n      (res) => {\r\n        this.addEditContactsList = res.auctionContacts;\r\n        this.addEditLocationsList = res.auctionLocations;\r\n        this.bindingData(res);\r\n      },\r\n      (err) => {\r\n        this.goToStep();\r\n      }\r\n    );\r\n    this.subscriptions.push(step4data);\r\n  }\r\n  bindingData(data: AuctionStep4) {\r\n    this.contacts.data = data.auctionContacts;\r\n    this.locations.data = data.auctionLocations;\r\n    this.disableButton();\r\n  }\r\n\r\n  openLocationModal(\r\n    template3: TemplateRef<any>,\r\n    isEdit: boolean = false,\r\n    index: number = 0\r\n  ) {\r\n    this.riggingData = this.staticRiggingData;\r\n    this.saletaxData = this.staticSaletaxData;\r\n    this.removalData = this.staticRemovalData;\r\n    this.inspectionData = this.staticInspectionData;\r\n    if (isEdit) {\r\n      this.editLocation(index);\r\n      this.showButtonText = 'Update'\r\n      this.isLocationEdit = true;\r\n    } else {\r\n      this.showButtonText = 'Save'\r\n      this.isLocationEdit = false;\r\n    }\r\n    this.currentLocationIndex = index;\r\n    let modalOptions: ModalOptions = {\r\n      backdrop: 'static',\r\n      keyboard: false,\r\n      class:\r\n        'custom-popup form-modal add-location modal-dialog modal-dialog-centered max-1135',\r\n    };\r\n    this.modalRef = this.modalService.show(template3, modalOptions);\r\n  }\r\n\r\n  openContactModal(\r\n    template2: TemplateRef<any>,\r\n    isEdit: boolean = false,\r\n    index: number = 0\r\n  ) {\r\n    if (isEdit) {\r\n      this.editContact(index);\r\n      this.isContactEdit = true;\r\n      this.showButtonText = 'Update'\r\n    } else {\r\n      this.isContactEdit = false;\r\n      this.showButtonText = 'Save'\r\n    }\r\n    this.currentContactIndex = index;\r\n    let modalOptions: ModalOptions = {\r\n      backdrop: 'static',\r\n      keyboard: false,\r\n      class:\r\n        'custom-popup form-modal add-location modal-dialog modal-dialog-centered',\r\n    };\r\n    this.modalRef = this.modalService.show(template2, modalOptions);\r\n  }\r\n\r\n  openDeleteModal(\r\n    template2: TemplateRef<any>,\r\n    type: number,\r\n    index: number = 0\r\n  ) {\r\n    if (type == modal.Location) {\r\n      this.modalType = modal.Location;\r\n      this.currentLocationIndex = index;\r\n    } else {\r\n      this.modalType = modal.Contact;\r\n      this.currentContactIndex = index;\r\n    }\r\n    let modalOptions: ModalOptions = {\r\n      backdrop: 'static',\r\n      keyboard: false,\r\n      class: 'custom-popup delete-modal modal-dialog modal-dialog-centered',\r\n    };\r\n    this.modalRef = this.modalService.show(template2, modalOptions);\r\n  }\r\n\r\n  closeModal() {\r\n    this.locationSubmitted = false;\r\n    this.contactSubmitted = false;\r\n    this.resetLocationForm();\r\n    this.resetContactForm();\r\n    if (this.modalRef) this.modalRef.hide();\r\n  }\r\n\r\n  onCancel() {\r\n    if (this.auctionStatus == 1) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'live' },\r\n      });\r\n    } else if (this.auctionStatus == 2) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'upcoming' },\r\n      });\r\n    } else if (this.auctionStatus == 4) {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'recent' },\r\n      });\r\n    } else {\r\n      this.router.navigate(['/admin/dashboard/auction'], {\r\n        queryParams: { type: 'pending' },\r\n      });\r\n    }\r\n  }\r\n\r\n  goToStep(step: number = 3) {\r\n    this.step.emit(step);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<div>\r\n  <div\r\n    class=\"empty-auction-location\"\r\n    *ngIf=\"locationLength <= 0; else showLocations\"\r\n  >\r\n    <div class=\"not-found\">\r\n      <img\r\n        alt=\"not-found-icon\"\r\n        class=\"not-found-icon\"\r\n        src=\"../assets/images/location.svg\"\r\n      />\r\n      <h3 class=\"not-added\">Location not added</h3>\r\n      <p class=\"sub-hdg\">To add a Location first</p>\r\n      <button\r\n        class=\"btn btn-colored\"\r\n        role=\"button\"\r\n        (click)=\"openLocationModal(locationModal)\"\r\n      >\r\n        + Add Location\r\n      </button>\r\n    </div>\r\n  </div>\r\n\r\n  <ng-template #showLocations>\r\n    <div class=\"row location-header-row mb-4\">\r\n      <div class=\"col-12 col-md-8 col-lg-9\">\r\n        <span class=\"heading-20\">Locations</span>\r\n        <span class=\"body-text-14 mt-1 mb-2 mb-md-0\"\r\n          >These locations will be published on the Auction detail page</span\r\n        >\r\n      </div>\r\n\r\n      <div class=\"col-12 col-md-4 col-lg-3 align-self-end\">\r\n        <span class=\"float-right\">\r\n          <button\r\n            type=\"submit\"\r\n            class=\"btn btn-colored\"\r\n            role=\"button\"\r\n            (click)=\"openLocationModal(locationModal)\"\r\n          >\r\n            + Add Location\r\n          </button>\r\n        </span>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12\">\r\n        <section class=\"data-table-wrap w-100\">\r\n          <table\r\n            aria-label=\"locationTable\"\r\n            mat-table\r\n            [dataSource]=\"locations\"\r\n            #locationTable\r\n            class=\"mat-elevation-z8 dark-table add-contact-table\"\r\n          >\r\n            <ng-container matColumnDef=\"locationName\">\r\n              <th\r\n                scope=\"col\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n                class=\"column-1 listing-header-name\"\r\n              >\r\n                Location Name\r\n              </th>\r\n              <td\r\n                class=\"column-1 listing-data-entry name table-grey-row\"\r\n                mat-cell\r\n                *matCellDef=\"let element\"\r\n                data-column=\"Location Name\"\r\n              >\r\n                <span>\r\n                  {{ element.name | isEmpty }}\r\n                </span>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"address\">\r\n              <th\r\n                scope=\"col\"\r\n                class=\"column-2 listing-header-name\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n              >\r\n                Address\r\n              </th>\r\n              <td\r\n                mat-cell\r\n                class=\"column-2 listing-data-entry name\"\r\n                data-column=\"Address\"\r\n                *matCellDef=\"let element\"\r\n              >\r\n                <span\r\n                  [innerHTML]=\"element.address | isEmpty | sanitizedHtml\"\r\n                ></span>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"lot\">\r\n              <th\r\n                scope=\"col\"\r\n                class=\"column-3 listing-header-name\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n              >\r\n                Lot #\r\n              </th>\r\n              <td\r\n                class=\"column-3 listing-data-entry name table-grey-row\"\r\n                data-column=\"Lot #\"\r\n                mat-cell\r\n                *matCellDef=\"let element\"\r\n              >\r\n                <span>{{ element.lotNumbers | isEmpty: \"TBD\" }}</span>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"action\">\r\n              <th\r\n                scope=\"col\"\r\n                class=\"column-4 listing-header-name\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n              ></th>\r\n              <td\r\n                class=\"column-4 listing-data-entry name\"\r\n                mat-cell\r\n                *matCellDef=\"let element; let i = index\"\r\n              >\r\n                <div class=\"for-icons\">\r\n                  <a\r\n                    class=\"hover-icon edit-icon mr-2\"\r\n                    role=\"button\"\r\n                    (click)=\"openLocationModal(locationModal, true, i)\"\r\n                  ></a>\r\n                  <button\r\n                    type=\"button\"\r\n                    class=\"hover-icon delete-icon\"\r\n                    role=\"button\"\r\n                    (click)=\"openDeleteModal(deletePopup, 1, i)\"\r\n                  ></button>\r\n                </div>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n            <tr\r\n              mat-row\r\n              *matRowDef=\"let row; columns: displayedColumns\"\r\n              [hidden]=\"row.isDeleted == true\"\r\n            ></tr>\r\n          </table>\r\n        </section>\r\n      </div>\r\n    </div>\r\n  </ng-template>\r\n\r\n  <div\r\n    class=\"empty-auction-location\"\r\n    *ngIf=\"contactLength <= 0; else showContacts\"\r\n  >\r\n    <div class=\"not-found border-top-only\">\r\n      <img\r\n        alt=\"not-found-icon\"\r\n        class=\"not-found-icon\"\r\n        src=\"../assets/images/contact.svg\"\r\n      />\r\n      <h3 class=\"not-added\">Contact not added</h3>\r\n      <p class=\"sub-hdg\">To add your first contact for your auction</p>\r\n      <button\r\n        class=\"btn btn-colored\"\r\n        role=\"button\"\r\n        (click)=\"openContactModal(contactModal)\"\r\n      >\r\n        + Add Contact\r\n      </button>\r\n    </div>\r\n  </div>\r\n\r\n  <ng-template #showContacts>\r\n    <div class=\"row location-header-row mt-0 mt-md-4 pt-3\">\r\n      <div class=\"col-12 col-md-8 col-lg-9\">\r\n        <span class=\"heading-20\">Contacts</span>\r\n        <span class=\"body-text-14 mt-1 mb-2 mb-md-0\"\r\n          >These contacts will be published on the Auction detail page</span\r\n        >\r\n      </div>\r\n      <div class=\"col-12 col-md-4 col-lg-3 align-self-end\">\r\n        <span class=\"float-right\">\r\n          <button\r\n            type=\"submit\"\r\n            class=\"btn btn-colored\"\r\n            role=\"button\"\r\n            (click)=\"openContactModal(contactModal)\"\r\n          >\r\n            + Add Contacts\r\n          </button>\r\n        </span>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"row\">\r\n      <div class=\"col-12 mt-4\">\r\n        <section class=\"data-table-wrap w-100\">\r\n          <table\r\n            aria-label=\"contactTable\"\r\n            mat-table\r\n            [dataSource]=\"contacts\"\r\n            #contactTable\r\n            class=\"mat-elevation-z8 dark-table add-loaction-table\"\r\n          >\r\n            <ng-container matColumnDef=\"contactName\">\r\n              <th\r\n                scope=\"col\"\r\n                class=\"column-1 listing-header-name\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n              >\r\n                Contact Name\r\n              </th>\r\n              <td\r\n                class=\"column-1 listing-data-entry name table-grey-row\"\r\n                data-column=\"Contact Name\"\r\n                mat-cell\r\n                *matCellDef=\"let element\"\r\n              >\r\n                {{ element.contactName | isEmpty }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"address\">\r\n              <th\r\n                scope=\"col\"\r\n                class=\"column-2 listing-header-name\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n              >\r\n                Designation\r\n              </th>\r\n              <td\r\n                class=\"column-2 listing-data-entry name\"\r\n                data-column=\"Designation\"\r\n                mat-cell\r\n                *matCellDef=\"let element\"\r\n              >\r\n                {{ element.description | isEmpty }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"email\">\r\n              <th\r\n                scope=\"col\"\r\n                class=\"column-3 listing-header-name\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n              >\r\n                Email\r\n              </th>\r\n              <td\r\n                class=\"column-3 listing-data-entry name table-grey-row\"\r\n                data-column=\"Email\"\r\n                mat-cell\r\n                *matCellDef=\"let element\"\r\n              >\r\n                {{ element.email | isEmpty }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"mobileNumber\">\r\n              <th\r\n                scope=\"col\"\r\n                class=\"column-4 listing-header-name\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n              >\r\n                Phone Number\r\n              </th>\r\n              <td\r\n                class=\"column-4 listing-data-entry name\"\r\n                data-column=\"Phone Number\"\r\n                mat-cell\r\n                *matCellDef=\"let element\"\r\n              >\r\n                {{ element.mobileNumber | isEmpty }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"action\">\r\n              <th\r\n                scope=\"col\"\r\n                class=\"column-5 listing-header-name\"\r\n                mat-header-cell\r\n                *matHeaderCellDef\r\n              ></th>\r\n              <td\r\n                class=\"column-5 listing-data-entry name\"\r\n                mat-cell\r\n                *matCellDef=\"let element; let i = index\"\r\n              >\r\n                <div class=\"for-icons\">\r\n                  <a\r\n                    class=\"hover-icon edit-icon mr-2\"\r\n                    role=\"button\"\r\n                    (click)=\"openContactModal(contactModal, true, i)\"\r\n                  ></a>\r\n                  <button\r\n                    type=\"button\"\r\n                    class=\"hover-icon delete-icon\"\r\n                    role=\"button\"\r\n                    (click)=\"openDeleteModal(deletePopup, 2, i)\"\r\n                  ></button>\r\n                </div>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <tr mat-header-row *matHeaderRowDef=\"displayedColumns2\"></tr>\r\n            <tr\r\n              mat-row\r\n              *matRowDef=\"let row; columns: displayedColumns2\"\r\n              [hidden]=\"row.isDeleted == true\"\r\n            ></tr>\r\n          </table>\r\n        </section>\r\n      </div>\r\n    </div>\r\n  </ng-template>\r\n\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <div class=\"steps-btn-wrap pt-4 mt-2\">\r\n        <button\r\n          class=\"btn btn-white-border mr-2 half-mob\"\r\n          role=\"button\"\r\n          (click)=\"onCancel()\"\r\n        >\r\n          Cancel\r\n        </button>\r\n        <button\r\n          class=\"btn btn-white-border mr-2 half-mob\"\r\n          role=\"button\"\r\n          (click)=\"goToStep()\"\r\n        >\r\n          Back\r\n        </button>\r\n        <button\r\n          type=\"submit\"\r\n          class=\"btn btn-colored full-mob\"\r\n          role=\"button\"\r\n          (click)=\"onSendAndApproval(true)\"\r\n          [disabled]=\"locationDisable || contactDisable || loading\">\r\n          {{ editMode ? \"Finish\" : \"Send For Approval\" }}\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #locationModal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Add New Location</h4>\r\n    <button\r\n      type=\"button\"\r\n      class=\"close pull-right p-0 m-0\"\r\n      aria-label=\"Close\"\r\n      role=\"button\"\r\n      (click)=\"closeModal()\"\r\n    >\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <form (ngSubmit)=\"onLocationSave()\" [formGroup]=\"locationForm\">\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6 mat-field-width3\">\r\n          <div class=\"form-group\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Location Name *</mat-label>\r\n              <input\r\n                matInput\r\n                type=\"text\"\r\n                placeholder=\"Add Location Name\"\r\n                formControlName=\"name\"\r\n                [maxlength]=\"fieldMaxLengthMid\"\r\n              />\r\n            </mat-form-field>\r\n            <char-counter\r\n              [control]=\"locationForm.controls.name\"\r\n              [maxlength]=\"fieldMaxLengthMid\"\r\n            >\r\n            </char-counter>\r\n            <control-messages\r\n              [isFormSubmitted]=\"locationSubmitted\"\r\n              [control]=\"locationForm.controls.name\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n        <div class=\"col-md-6 mat-field-width3\">\r\n          <div class=\"form-group input-with-tooltip\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Lot #</mat-label>\r\n              <input\r\n                matInput\r\n                type=\"text\"\r\n                placeholder=\"Add Lot Numbers\"\r\n                formControlName=\"lotNumbers\"\r\n                [maxlength]=\"fieldMaxLength\"\r\n              />\r\n            </mat-form-field>\r\n            <char-counter\r\n              [control]=\"locationForm.controls.lotNumbers\"\r\n              [maxlength]=\"fieldMaxLength\"\r\n            >\r\n            </char-counter>\r\n            <control-messages\r\n              [isFormSubmitted]=\"locationSubmitted\"\r\n              [control]=\"locationForm.controls.lotNumbers\"\r\n            ></control-messages>\r\n\r\n            <span\r\n              class=\"custom-tooltip\"\r\n              #tooltip=\"matTooltip\"\r\n              matTooltipClass=\"custom-tooltip-icon custom-tooltip-max\"\r\n              matTooltip=\"Specify lot numbers for items  at this location\"\r\n              [matTooltipPosition]=\"'above'\"\r\n            >\r\n              <img alt=\"info\" src=\"../assets/images/info.svg\" />\r\n            </span>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-6 mat-field-width3\">\r\n          <div class=\"form-group\">\r\n            <div class=\"min-100\">\r\n              <p class=\"small-label2 mb-2\">Address *</p>\r\n              <editor\r\n                [initialValue]=\"addressData\"\r\n                (editorData)=\"\r\n                  editorContent($event, locationForm.controls.address)\r\n                \"\r\n                [characterLimit]=\"fieldMaxLengthMediumMost\"\r\n              ></editor>\r\n              <control-messages\r\n                [isFormSubmitted]=\"locationSubmitted\"\r\n                [control]=\"locationForm.controls.address\"\r\n              ></control-messages>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <div class=\"col-md-6 mat-field-width3\">\r\n          <div class=\"form-group d-md-block\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Sales Tax Rate(%) </mat-label>\r\n              <input\r\n                matInput\r\n                placeholder=\"Add Rate\"\r\n                formControlName=\"salesTaxRate\"\r\n              />\r\n            </mat-form-field>\r\n            <control-messages\r\n              [isFormSubmitted]=\"locationSubmitted\"\r\n              [control]=\"locationForm.controls.salesTaxRate\"\r\n            ></control-messages>\r\n          </div>\r\n          <div class=\"form-group d-md-block\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Location URL</mat-label>\r\n              <input\r\n                matInput\r\n                placeholder=\"Add Location's Google Map Url\"\r\n                formControlName=\"locationLink\"\r\n              />\r\n            </mat-form-field>\r\n            <control-messages\r\n              [isFormSubmitted]=\"locationSubmitted\"\r\n              [control]=\"locationForm.controls.locationLink\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n      <div class=\"row\">\r\n        <div class=\"col-md-12\">\r\n          <p class=\"small-label2 mb-2\">Removal Dates & Rules *</p>\r\n          <div class=\"mb-3 pb-1 min-250\">\r\n            <editor\r\n              [initialValue]=\"removalData\"\r\n              (editorData)=\"\r\n                editorContent($event, locationForm.controls.removalDateAndRules)\r\n              \"\r\n              [characterLimit]=\"fieldMaxLengthMedium\"\r\n            ></editor>\r\n            <control-messages\r\n              [isFormSubmitted]=\"locationSubmitted\"\r\n              [control]=\"locationForm.controls.removalDateAndRules\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <p class=\"small-label2 mb-2\">Sales Tax Details *</p>\r\n          <div class=\"mb-3 pb-1 min-250\">\r\n            <editor\r\n              [initialValue]=\"saletaxData\"\r\n              (editorData)=\"\r\n                editorContent($event, locationForm.controls.salesTaxDetail)\r\n              \"\r\n              [characterLimit]=\"fieldMaxLengthMuchLonger\"\r\n            ></editor>\r\n            <control-messages\r\n              [isFormSubmitted]=\"locationSubmitted\"\r\n              [control]=\"locationForm.controls.salesTaxDetail\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <p class=\"small-label2 mb-2\">Inspection Preview *</p>\r\n          <div class=\"mb-3 pb-1 min-250\">\r\n            <editor\r\n              [initialValue]=\"inspectionData\"\r\n              (editorData)=\"\r\n                editorContent($event, locationForm.controls.inspectionPreview)\r\n              \"\r\n              [characterLimit]=\"fieldMaxLengthLong\"\r\n            ></editor>\r\n            <control-messages\r\n              [isFormSubmitted]=\"locationSubmitted\"\r\n              [control]=\"locationForm.controls.inspectionPreview\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n        <div class=\"col-md-12\">\r\n          <p class=\"small-label2 mb-2\">Rigging/Shipping *</p>\r\n          <div class=\"mb-0 pb-0 min-250\">\r\n            <editor\r\n              [initialValue]=\"riggingData\"\r\n              (editorData)=\"\r\n                editorContent($event, locationForm.controls.riggingAndShipping)\r\n              \"\r\n              [characterLimit]=\"fieldMaxLengthLongest\"\r\n            ></editor>\r\n            <control-messages\r\n              [isFormSubmitted]=\"locationSubmitted\"\r\n              [control]=\"locationForm.controls.riggingAndShipping\"\r\n            ></control-messages>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <p class=\"error-msg\" *ngIf=\"locationForm.invalid\">\r\n        Please fill all required field(s)\r\n      </p>\r\n\r\n      <div class=\"image-popup-wrap pt-4 mt-2\">\r\n        <p class=\"text-secondary\">\r\n          Kindly click on \"Update Auction\" button to make permanent changes\r\n        </p>\r\n        <button\r\n          type=\"button\"\r\n          class=\"btn btn-white-border mr-2 font-15\"\r\n          role=\"button\"\r\n          (click)=\"closeModal()\"\r\n        >\r\n          Cancel\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-colored font-15\">\r\n          {{showButtonText}} Location\r\n          \r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #contactModal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Add New Contact</h4>\r\n    <button\r\n      type=\"button\"\r\n      class=\"close pull-right p-0 m-0\"\r\n      aria-label=\"Close\"\r\n      role=\"button\"\r\n      (click)=\"closeModal()\"\r\n    >\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <form (ngSubmit)=\"onContactSave()\" [formGroup]=\"contactForm\">\r\n      <div class=\"form-group\">\r\n        <div class=\"mat-field-width\">\r\n          <mat-form-field appearance=\"outline\">\r\n            <mat-label>Contact Name</mat-label>\r\n            <input\r\n              matInput\r\n              type=\"text\"\r\n              placeholder=\"Enter contact name\"\r\n              formControlName=\"contactName\"\r\n              [maxlength]=\"fieldMaxLengthShort\"\r\n            />\r\n          </mat-form-field>\r\n          <char-counter\r\n            [control]=\"contactForm.controls.contactName\"\r\n            [maxlength]=\"fieldMaxLengthShort\"\r\n          >\r\n          </char-counter>\r\n          <control-messages\r\n            [isFormSubmitted]=\"contactSubmitted\"\r\n            [control]=\"contactForm.controls.contactName\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"form-group\">\r\n        <div class=\"mat-field-width min-100\">\r\n          <mat-form-field appearance=\"outline\">\r\n            <mat-label>Designation</mat-label>\r\n            <textarea\r\n              matInput\r\n              placeholder=\"Enter Designation\"\r\n              formControlName=\"description\"\r\n              [maxlength]=\"fieldMaxLengthShort\"\r\n            ></textarea>\r\n          </mat-form-field>\r\n          <char-counter\r\n            [control]=\"contactForm.controls.description\"\r\n            [maxlength]=\"fieldMaxLengthShort\"\r\n          >\r\n          </char-counter>\r\n          <control-messages\r\n            [isFormSubmitted]=\"contactSubmitted\"\r\n            [control]=\"contactForm.controls.description\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"form-group\">\r\n        <div class=\"mat-field-width\">\r\n          <mat-form-field appearance=\"outline\">\r\n            <mat-label>Email</mat-label>\r\n            <input\r\n              matInput\r\n              type=\"text\"\r\n              placeholder=\"Enter email\"\r\n              formControlName=\"email\"\r\n              [maxlength]=\"fieldMaxLengthShort\"\r\n            />\r\n          </mat-form-field>\r\n          <char-counter\r\n            [control]=\"contactForm.controls.email\"\r\n            [maxlength]=\"fieldMaxLengthShort\"\r\n          >\r\n          </char-counter>\r\n          <control-messages\r\n            [isFormSubmitted]=\"contactSubmitted\"\r\n            [control]=\"contactForm.controls.email\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"form-group\">\r\n        <div class=\"mat-field-width\">\r\n          <mat-form-field appearance=\"outline\">\r\n            <mat-label>Phone Number</mat-label>\r\n            <input\r\n              matInput\r\n              type=\"text\"\r\n              placeholder=\"Enter Phone Number\"\r\n              formControlName=\"mobileNumber\"\r\n            />\r\n          </mat-form-field>\r\n          <char-counter\r\n            [control]=\"contactForm.controls.mobileNumber\"\r\n            [maxlength]=\"mobileNumberLength\"\r\n          >\r\n          </char-counter>\r\n          <control-messages\r\n            [isFormSubmitted]=\"contactSubmitted\"\r\n            [control]=\"contactForm.controls.mobileNumber\"\r\n          ></control-messages>\r\n        </div>\r\n      </div>\r\n\r\n      <p *ngIf=\"contactForm.invalid && contactSubmitted\" class=\"error-msg\">\r\n        Please fill all required field(s)\r\n      </p>\r\n\r\n      <div class=\"image-popup-wrap pt-4 mt-2\">\r\n        <button\r\n          type=\"button\"\r\n          class=\"btn btn-white-border mr-2\"\r\n          role=\"button\"\r\n          (click)=\"closeModal()\"\r\n        >\r\n          Cancel\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-colored\">{{showButtonText}} Contact</button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #deletePopup>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button\r\n      type=\"button\"\r\n      class=\"close pull-right p-0 m-0\"\r\n      aria-label=\"Close\"\r\n      role=\"button\"\r\n      (click)=\"closeModal()\"\r\n    >\r\n      <img alt=\"cross-icon\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"delete-data\">\r\n      <img alt=\"delete-icon\" src=\"../assets/images/delete-icon.svg\" />\r\n      <h1 class=\"modal-inner-hdg mt-3\">\r\n        Delete {{ modalType == 1 ? \"Location\" : \"Contact\" }}\r\n      </h1>\r\n      <p class=\"des\">\r\n        Are you sure you want to delete\r\n        <span class=\"for-highlight\">{{\r\n          modalType == 1 ? \"Location\" : \"Contact\"\r\n        }}</span>\r\n        ?\r\n      </p>\r\n      <div class=\"delete-btns\">\r\n        <button\r\n          type=\"button\"\r\n          class=\"btn btn-text mr-2\"\r\n          role=\"button\"\r\n          (click)=\"closeModal()\"\r\n        >\r\n          Cancel\r\n        </button>\r\n        <button\r\n          class=\"btn btn-colored pad-22\"\r\n          role=\"button\"\r\n          (click)=\"\r\n            modalType == 1\r\n              ? onDeleteLocation(currentLocationIndex)\r\n              : onDeleteContact(currentContactIndex)\r\n          \"\r\n        >\r\n          Yes, Delete\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n","/** @license\n *\n * jsPDF - PDF Document creation from JavaScript\n * Version 2.3.1 Built on 2021-03-08T15:44:11.674Z\n *                      CommitID 00000000\n *\n * Copyright (c) 2010-2020 James Hall <james@parall.ax>, https://github.com/MrRio/jsPDF\n *               2015-2020 yWorks GmbH, http://www.yworks.com\n *               2015-2020 Lukas Holländer <lukas.hollaender@yworks.com>, https://github.com/HackbrettXXX\n *               2016-2018 Aras Abbasi <aras.abbasi@gmail.com>\n *               2010 Aaron Spike, https://github.com/acspike\n *               2012 Willow Systems Corporation, willow-systems.com\n *               2012 Pablo Hess, https://github.com/pablohess\n *               2012 Florian Jenett, https://github.com/fjenett\n *               2013 Warren Weckesser, https://github.com/warrenweckesser\n *               2013 Youssef Beddad, https://github.com/lifof\n *               2013 Lee Driscoll, https://github.com/lsdriscoll\n *               2013 Stefan Slonevskiy, https://github.com/stefslon\n *               2013 Jeremy Morel, https://github.com/jmorel\n *               2013 Christoph Hartmann, https://github.com/chris-rock\n *               2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n *               2014 James Makes, https://github.com/dollaruw\n *               2014 Diego Casorran, https://github.com/diegocr\n *               2014 Steven Spungin, https://github.com/Flamenco\n *               2014 Kenneth Glassey, https://github.com/Gavvers\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n * Contributor(s):\n *    siefkenj, ahwolf, rickygu, Midnith, saintclair, eaparango,\n *    kim3er, mfo, alnorth, Flamenco\n */\n\nimport{zlibSync as t,unzlibSync as e}from\"fflate\";var r=function(){return\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this}();function n(){r.console&&\"function\"==typeof r.console.log&&r.console.log.apply(r.console,arguments)}var i={log:n,warn:function(t){r.console&&(\"function\"==typeof r.console.warn?r.console.warn.apply(r.console,arguments):n.call(null,arguments))},error:function(t){r.console&&(\"function\"==typeof r.console.error?r.console.error.apply(r.console,arguments):n(t))}};\n/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source  : http://purl.eligrey.com/github/FileSaver.js\n */function a(t,e,r){var n=new XMLHttpRequest;n.open(\"GET\",t),n.responseType=\"blob\",n.onload=function(){l(n.response,e,r)},n.onerror=function(){i.error(\"could not download file\")},n.send()}function o(t){var e=new XMLHttpRequest;e.open(\"HEAD\",t,!1);try{e.send()}catch(t){}return e.status>=200&&e.status<=299}function s(t){try{t.dispatchEvent(new MouseEvent(\"click\"))}catch(r){var e=document.createEvent(\"MouseEvents\");e.initMouseEvent(\"click\",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var u,c,l=r.saveAs||(\"object\"!=typeof window||window!==r?function(){}:\"undefined\"!=typeof HTMLAnchorElement&&\"download\"in HTMLAnchorElement.prototype?function(t,e,n){var i=r.URL||r.webkitURL,u=document.createElement(\"a\");e=e||t.name||\"download\",u.download=e,u.rel=\"noopener\",\"string\"==typeof t?(u.href=t,u.origin!==location.origin?o(u.href)?a(t,e,n):s(u,u.target=\"_blank\"):s(u)):(u.href=i.createObjectURL(t),setTimeout((function(){i.revokeObjectURL(u.href)}),4e4),setTimeout((function(){s(u)}),0))}:\"msSaveOrOpenBlob\"in navigator?function(t,e,r){if(e=e||t.name||\"download\",\"string\"==typeof t)if(o(t))a(t,e,r);else{var n=document.createElement(\"a\");n.href=t,n.target=\"_blank\",setTimeout((function(){s(n)}))}else navigator.msSaveOrOpenBlob(function(t,e){return void 0===e?e={autoBom:!1}:\"object\"!=typeof e&&(i.warn(\"Deprecated: Expected third argument to be a object\"),e={autoBom:!e}),e.autoBom&&/^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(t.type)?new Blob([String.fromCharCode(65279),t],{type:t.type}):t}(t,r),e)}:function(t,e,n,i){if((i=i||open(\"\",\"_blank\"))&&(i.document.title=i.document.body.innerText=\"downloading...\"),\"string\"==typeof t)return a(t,e,n);var o=\"application/octet-stream\"===t.type,s=/constructor/i.test(r.HTMLElement)||r.safari,u=/CriOS\\/[\\d]+/.test(navigator.userAgent);if((u||o&&s)&&\"object\"==typeof FileReader){var c=new FileReader;c.onloadend=function(){var t=c.result;t=u?t:t.replace(/^data:[^;]*;/,\"data:attachment/file;\"),i?i.location.href=t:location=t,i=null},c.readAsDataURL(t)}else{var l=r.URL||r.webkitURL,h=l.createObjectURL(t);i?i.location=h:location.href=h,i=null,setTimeout((function(){l.revokeObjectURL(h)}),4e4)}});\n/**\n * A class to parse color values\n * @author Stoyan Stefanov <sstoo@gmail.com>\n * {@link   http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */function h(t){var e;t=t||\"\",this.ok=!1,\"#\"==t.charAt(0)&&(t=t.substr(1,6));t={aliceblue:\"f0f8ff\",antiquewhite:\"faebd7\",aqua:\"00ffff\",aquamarine:\"7fffd4\",azure:\"f0ffff\",beige:\"f5f5dc\",bisque:\"ffe4c4\",black:\"000000\",blanchedalmond:\"ffebcd\",blue:\"0000ff\",blueviolet:\"8a2be2\",brown:\"a52a2a\",burlywood:\"deb887\",cadetblue:\"5f9ea0\",chartreuse:\"7fff00\",chocolate:\"d2691e\",coral:\"ff7f50\",cornflowerblue:\"6495ed\",cornsilk:\"fff8dc\",crimson:\"dc143c\",cyan:\"00ffff\",darkblue:\"00008b\",darkcyan:\"008b8b\",darkgoldenrod:\"b8860b\",darkgray:\"a9a9a9\",darkgreen:\"006400\",darkkhaki:\"bdb76b\",darkmagenta:\"8b008b\",darkolivegreen:\"556b2f\",darkorange:\"ff8c00\",darkorchid:\"9932cc\",darkred:\"8b0000\",darksalmon:\"e9967a\",darkseagreen:\"8fbc8f\",darkslateblue:\"483d8b\",darkslategray:\"2f4f4f\",darkturquoise:\"00ced1\",darkviolet:\"9400d3\",deeppink:\"ff1493\",deepskyblue:\"00bfff\",dimgray:\"696969\",dodgerblue:\"1e90ff\",feldspar:\"d19275\",firebrick:\"b22222\",floralwhite:\"fffaf0\",forestgreen:\"228b22\",fuchsia:\"ff00ff\",gainsboro:\"dcdcdc\",ghostwhite:\"f8f8ff\",gold:\"ffd700\",goldenrod:\"daa520\",gray:\"808080\",green:\"008000\",greenyellow:\"adff2f\",honeydew:\"f0fff0\",hotpink:\"ff69b4\",indianred:\"cd5c5c\",indigo:\"4b0082\",ivory:\"fffff0\",khaki:\"f0e68c\",lavender:\"e6e6fa\",lavenderblush:\"fff0f5\",lawngreen:\"7cfc00\",lemonchiffon:\"fffacd\",lightblue:\"add8e6\",lightcoral:\"f08080\",lightcyan:\"e0ffff\",lightgoldenrodyellow:\"fafad2\",lightgrey:\"d3d3d3\",lightgreen:\"90ee90\",lightpink:\"ffb6c1\",lightsalmon:\"ffa07a\",lightseagreen:\"20b2aa\",lightskyblue:\"87cefa\",lightslateblue:\"8470ff\",lightslategray:\"778899\",lightsteelblue:\"b0c4de\",lightyellow:\"ffffe0\",lime:\"00ff00\",limegreen:\"32cd32\",linen:\"faf0e6\",magenta:\"ff00ff\",maroon:\"800000\",mediumaquamarine:\"66cdaa\",mediumblue:\"0000cd\",mediumorchid:\"ba55d3\",mediumpurple:\"9370d8\",mediumseagreen:\"3cb371\",mediumslateblue:\"7b68ee\",mediumspringgreen:\"00fa9a\",mediumturquoise:\"48d1cc\",mediumvioletred:\"c71585\",midnightblue:\"191970\",mintcream:\"f5fffa\",mistyrose:\"ffe4e1\",moccasin:\"ffe4b5\",navajowhite:\"ffdead\",navy:\"000080\",oldlace:\"fdf5e6\",olive:\"808000\",olivedrab:\"6b8e23\",orange:\"ffa500\",orangered:\"ff4500\",orchid:\"da70d6\",palegoldenrod:\"eee8aa\",palegreen:\"98fb98\",paleturquoise:\"afeeee\",palevioletred:\"d87093\",papayawhip:\"ffefd5\",peachpuff:\"ffdab9\",peru:\"cd853f\",pink:\"ffc0cb\",plum:\"dda0dd\",powderblue:\"b0e0e6\",purple:\"800080\",red:\"ff0000\",rosybrown:\"bc8f8f\",royalblue:\"4169e1\",saddlebrown:\"8b4513\",salmon:\"fa8072\",sandybrown:\"f4a460\",seagreen:\"2e8b57\",seashell:\"fff5ee\",sienna:\"a0522d\",silver:\"c0c0c0\",skyblue:\"87ceeb\",slateblue:\"6a5acd\",slategray:\"708090\",snow:\"fffafa\",springgreen:\"00ff7f\",steelblue:\"4682b4\",tan:\"d2b48c\",teal:\"008080\",thistle:\"d8bfd8\",tomato:\"ff6347\",turquoise:\"40e0d0\",violet:\"ee82ee\",violetred:\"d02090\",wheat:\"f5deb3\",white:\"ffffff\",whitesmoke:\"f5f5f5\",yellow:\"ffff00\",yellowgreen:\"9acd32\"}[t=(t=t.replace(/ /g,\"\")).toLowerCase()]||t;for(var r=[{re:/^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,example:[\"rgb(123, 234, 45)\",\"rgb(255,234,245)\"],process:function(t){return[parseInt(t[1]),parseInt(t[2]),parseInt(t[3])]}},{re:/^(\\w{2})(\\w{2})(\\w{2})$/,example:[\"#00ff00\",\"336699\"],process:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/^(\\w{1})(\\w{1})(\\w{1})$/,example:[\"#fb0\",\"f0f\"],process:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}}],n=0;n<r.length;n++){var i=r[n].re,a=r[n].process,o=i.exec(t);o&&(e=a(o),this.r=e[0],this.g=e[1],this.b=e[2],this.ok=!0)}this.r=this.r<0||isNaN(this.r)?0:this.r>255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return\"rgb(\"+this.r+\", \"+this.g+\", \"+this.b+\")\"},this.toHex=function(){var t=this.r.toString(16),e=this.g.toString(16),r=this.b.toString(16);return 1==t.length&&(t=\"0\"+t),1==e.length&&(e=\"0\"+e),1==r.length&&(r=\"0\"+r),\"#\"+t+e+r}}\n/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\nfunction f(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];r=p(r,n,i,a,e[0],7,-680876936),a=p(a,r,n,i,e[1],12,-389564586),i=p(i,a,r,n,e[2],17,606105819),n=p(n,i,a,r,e[3],22,-1044525330),r=p(r,n,i,a,e[4],7,-176418897),a=p(a,r,n,i,e[5],12,1200080426),i=p(i,a,r,n,e[6],17,-1473231341),n=p(n,i,a,r,e[7],22,-45705983),r=p(r,n,i,a,e[8],7,1770035416),a=p(a,r,n,i,e[9],12,-1958414417),i=p(i,a,r,n,e[10],17,-42063),n=p(n,i,a,r,e[11],22,-1990404162),r=p(r,n,i,a,e[12],7,1804603682),a=p(a,r,n,i,e[13],12,-40341101),i=p(i,a,r,n,e[14],17,-1502002290),r=g(r,n=p(n,i,a,r,e[15],22,1236535329),i,a,e[1],5,-165796510),a=g(a,r,n,i,e[6],9,-1069501632),i=g(i,a,r,n,e[11],14,643717713),n=g(n,i,a,r,e[0],20,-373897302),r=g(r,n,i,a,e[5],5,-701558691),a=g(a,r,n,i,e[10],9,38016083),i=g(i,a,r,n,e[15],14,-660478335),n=g(n,i,a,r,e[4],20,-405537848),r=g(r,n,i,a,e[9],5,568446438),a=g(a,r,n,i,e[14],9,-1019803690),i=g(i,a,r,n,e[3],14,-187363961),n=g(n,i,a,r,e[8],20,1163531501),r=g(r,n,i,a,e[13],5,-1444681467),a=g(a,r,n,i,e[2],9,-51403784),i=g(i,a,r,n,e[7],14,1735328473),r=m(r,n=g(n,i,a,r,e[12],20,-1926607734),i,a,e[5],4,-378558),a=m(a,r,n,i,e[8],11,-2022574463),i=m(i,a,r,n,e[11],16,1839030562),n=m(n,i,a,r,e[14],23,-35309556),r=m(r,n,i,a,e[1],4,-1530992060),a=m(a,r,n,i,e[4],11,1272893353),i=m(i,a,r,n,e[7],16,-155497632),n=m(n,i,a,r,e[10],23,-1094730640),r=m(r,n,i,a,e[13],4,681279174),a=m(a,r,n,i,e[0],11,-358537222),i=m(i,a,r,n,e[3],16,-722521979),n=m(n,i,a,r,e[6],23,76029189),r=m(r,n,i,a,e[9],4,-640364487),a=m(a,r,n,i,e[12],11,-421815835),i=m(i,a,r,n,e[15],16,530742520),r=v(r,n=m(n,i,a,r,e[2],23,-995338651),i,a,e[0],6,-198630844),a=v(a,r,n,i,e[7],10,1126891415),i=v(i,a,r,n,e[14],15,-1416354905),n=v(n,i,a,r,e[5],21,-57434055),r=v(r,n,i,a,e[12],6,1700485571),a=v(a,r,n,i,e[3],10,-1894986606),i=v(i,a,r,n,e[10],15,-1051523),n=v(n,i,a,r,e[1],21,-2054922799),r=v(r,n,i,a,e[8],6,1873313359),a=v(a,r,n,i,e[15],10,-30611744),i=v(i,a,r,n,e[6],15,-1560198380),n=v(n,i,a,r,e[13],21,1309151649),r=v(r,n,i,a,e[4],6,-145523070),a=v(a,r,n,i,e[11],10,-1120210379),i=v(i,a,r,n,e[2],15,718787259),n=v(n,i,a,r,e[9],21,-343485551),t[0]=x(r,t[0]),t[1]=x(n,t[1]),t[2]=x(i,t[2]),t[3]=x(a,t[3])}function d(t,e,r,n,i,a){return e=x(x(e,t),x(n,a)),x(e<<i|e>>>32-i,r)}function p(t,e,r,n,i,a,o){return d(e&r|~e&n,t,e,i,a,o)}function g(t,e,r,n,i,a,o){return d(e&n|r&~n,t,e,i,a,o)}function m(t,e,r,n,i,a,o){return d(e^r^n,t,e,i,a,o)}function v(t,e,r,n,i,a,o){return d(r^(e|~n),t,e,i,a,o)}function b(t){var e,r=t.length,n=[1732584193,-271733879,-1732584194,271733878];for(e=64;e<=t.length;e+=64)f(n,y(t.substring(e-64,e)));t=t.substring(e-64);var i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(e=0;e<t.length;e++)i[e>>2]|=t.charCodeAt(e)<<(e%4<<3);if(i[e>>2]|=128<<(e%4<<3),e>55)for(f(n,i),e=0;e<16;e++)i[e]=0;return i[14]=8*r,f(n,i),n}function y(t){var e,r=[];for(e=0;e<64;e+=4)r[e>>2]=t.charCodeAt(e)+(t.charCodeAt(e+1)<<8)+(t.charCodeAt(e+2)<<16)+(t.charCodeAt(e+3)<<24);return r}u=r.atob.bind(r),c=r.btoa.bind(r);var w=\"0123456789abcdef\".split(\"\");function N(t){for(var e=\"\",r=0;r<4;r++)e+=w[t>>8*r+4&15]+w[t>>8*r&15];return e}function L(t){return String.fromCharCode((255&t)>>0,(65280&t)>>8,(16711680&t)>>16,(4278190080&t)>>24)}function A(t){return b(t).map(L).join(\"\")}function x(t,e){return t+e&4294967295}if(\"5d41402abc4b2a76b9719d911017c592\"!=function(t){for(var e=0;e<t.length;e++)t[e]=N(t[e]);return t.join(\"\")}(b(\"hello\"))){function x(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}}\n/**\n * @license\n * FPDF is released under a permissive license: there is no usage restriction.\n * You may embed it freely in your application (commercial or not), with or\n * without modifications.\n *\n * Reference: http://www.fpdf.org/en/script/script37.php\n */function S(t,e){var r,n,i,a;if(t!==r){for(var o=(i=t,a=1+(256/t.length>>0),new Array(a+1).join(i)),s=[],u=0;u<256;u++)s[u]=u;var c=0;for(u=0;u<256;u++){var l=s[u];c=(c+l+o.charCodeAt(u))%256,s[u]=s[c],s[c]=l}r=t,n=s}else s=n;var h=e.length,f=0,d=0,p=\"\";for(u=0;u<h;u++)d=(d+(l=s[f=(f+1)%256]))%256,s[f]=s[d],s[d]=l,o=s[(s[f]+s[d])%256],p+=String.fromCharCode(e.charCodeAt(u)^o);return p}\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n * Author: Owen Leong (@owenl131)\n * Date: 15 Oct 2020\n * References:\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\n * http://www.fpdf.org/en/script/script37.php\n */var _={print:4,modify:8,copy:16,\"annot-forms\":32};function P(t,e,r,n){this.v=1,this.r=2;let i=192;t.forEach((function(t){if(void 0!==_.perm)throw new Error(\"Invalid permission: \"+t);i+=_[t]})),this.padding=\"(¿N^NuŠAd\\0NVÿú\u0001\\b..\\0¶Ðh>€/\\f©þdSiz\";let a=(e+this.padding).substr(0,32),o=(r+this.padding).substr(0,32);this.O=this.processOwnerPassword(a,o),this.P=-(1+(255^i)),this.encryptionKey=A(a+this.O+this.lsbFirstWord(this.P)+this.hexToBytes(n)).substr(0,5),this.U=S(this.encryptionKey,this.padding)}function k(t){if(\"object\"!=typeof t)throw new Error(\"Invalid Context passed to initialize PubSub (jsPDF-module)\");var e={};this.subscribe=function(t,r,n){if(n=n||!1,\"string\"!=typeof t||\"function\"!=typeof r||\"boolean\"!=typeof n)throw new Error(\"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\");e.hasOwnProperty(t)||(e[t]={});var i=Math.random().toString(35);return e[t][i]=[r,!!n],i},this.unsubscribe=function(t){for(var r in e)if(e[r][t])return delete e[r][t],0===Object.keys(e[r]).length&&delete e[r],!0;return!1},this.publish=function(n){if(e.hasOwnProperty(n)){var a=Array.prototype.slice.call(arguments,1),o=[];for(var s in e[n]){var u=e[n][s];try{u[0].apply(t,a)}catch(t){r.console&&i.error(\"jsPDF PubSub Error\",t.message,t)}u[1]&&o.push(s)}o.length&&o.forEach(this.unsubscribe)}},this.getTopics=function(){return e}}function I(t){if(!(this instanceof I))return new I(t);var e=\"opacity,stroke-opacity\".split(\",\");for(var r in t)t.hasOwnProperty(r)&&e.indexOf(r)>=0&&(this[r]=t[r]);this.id=\"\",this.objectNumber=-1}function F(t,e){this.gState=t,this.matrix=e,this.id=\"\",this.objectNumber=-1}function C(t,e,r,n,i){if(!(this instanceof C))return new C(t,e,r,n,i);this.type=\"axial\"===t?2:3,this.coords=e,this.colors=r,F.call(this,n,i)}function j(t,e,r,n,i){if(!(this instanceof j))return new j(t,e,r,n,i);this.boundingBox=t,this.xStep=e,this.yStep=r,this.stream=\"\",this.cloneIndex=0,F.call(this,n,i)}function O(t){var e,n=\"string\"==typeof arguments[0]?arguments[0]:\"p\",a=arguments[1],o=arguments[2],s=arguments[3],u=[],f=1,d=16,p=\"S\",g=null;\"object\"==typeof(t=t||{})&&(n=t.orientation,a=t.unit||a,o=t.format||o,s=t.compress||t.compressPdf||s,null!==(g=t.encryption||null)&&(g.userPassword=g.userPassword||\"\",g.ownerPassword=g.ownerPassword||\"\",g.userPermissions=g.userPermissions||[]),f=\"number\"==typeof t.userUnit?Math.abs(t.userUnit):1,void 0!==t.precision&&(e=t.precision),void 0!==t.floatPrecision&&(d=t.floatPrecision),p=t.defaultPathOperation||\"S\"),u=t.filters||(!0===s?[\"FlateEncode\"]:u),a=a||\"mm\",n=(\"\"+(n||\"P\")).toLowerCase();var m=t.putOnlyUsedFonts||!1,v={},b={internal:{},__private__:{}};b.__private__.PubSub=k;var y=\"1.3\",w=b.__private__.getPdfVersion=function(){return y};b.__private__.setPdfVersion=function(t){y=t};var N={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};b.__private__.getPageFormats=function(){return N};var L=b.__private__.getPageFormat=function(t){return N[t]};o=o||\"a4\";var A={COMPAT:\"compat\",ADVANCED:\"advanced\"},x=A.COMPAT;function S(){this.saveGraphicsState(),ct(new Ht(xt,0,0,-xt,0,Er()*xt).toString()+\" cm\"),this.setFontSize(this.getFontSize()/xt),p=\"n\",x=A.ADVANCED}function _(){this.restoreGraphicsState(),p=\"S\",x=A.COMPAT}var F=function(t,e){if(\"bold\"==t&&\"normal\"==e||\"bold\"==t&&400==e||\"normal\"==t&&\"italic\"==e||\"bold\"==t&&\"italic\"==e)throw new Error(\"Invalid Combination of fontweight and fontstyle\");return e&&t!==e&&(t=400==e?\"italic\"==t?\"italic\":\"normal\":700==e&&\"italic\"!==t?\"bold\":t+\"\"+e),t};b.advancedAPI=function(t){var e=x===A.COMPAT;return e&&S.call(this),\"function\"!=typeof t||(t(this),e&&_.call(this)),this},b.compatAPI=function(t){var e=x===A.ADVANCED;return e&&_.call(this),\"function\"!=typeof t||(t(this),e&&S.call(this)),this},b.isAdvancedAPI=function(){return x===A.ADVANCED};var B,M=function(t){if(x!==A.ADVANCED)throw new Error(t+\" is only available in 'advanced' API mode. You need to call advancedAPI() first.\")},E=b.roundToPrecision=b.__private__.roundToPrecision=function(t,r){var n=e||r;if(isNaN(t)||isNaN(n))throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");return t.toFixed(n).replace(/0+$/,\"\")};B=b.hpf=b.__private__.hpf=\"number\"==typeof d?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return E(t,d)}:\"smart\"===d?function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return E(t,t>-1&&t<1?16:5)}:function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.hpf\");return E(t,16)};var q=b.f2=b.__private__.f2=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f2\");return E(t,2)},R=b.__private__.f3=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.f3\");return E(t,3)},T=b.scale=b.__private__.scale=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.scale\");return x===A.COMPAT?t*xt:x===A.ADVANCED?t:void 0},D=function(t){return x===A.COMPAT?Er()-t:x===A.ADVANCED?t:void 0},U=function(t){return T(D(t))};b.__private__.setPrecision=b.setPrecision=function(t){\"number\"==typeof parseInt(t,10)&&(e=parseInt(t,10))};var z,H=\"00000000000000000000000000000000\",V=b.__private__.getFileId=function(){return H},W=b.__private__.setFileId=function(t){return H=void 0!==t&&/^[a-fA-F0-9]{32}$/.test(t)?t.toUpperCase():H.split(\"\").map((function(){return\"ABCDEF0123456789\".charAt(Math.floor(16*Math.random()))})).join(\"\"),null!==g&&(We=new P(g.userPermissions,g.userPassword,g.ownerPassword,H)),H};b.setFileId=function(t){return W(t),this},b.getFileId=function(){return V()};var G=b.__private__.convertDateToPDFDate=function(t){var e=t.getTimezoneOffset(),r=e<0?\"+\":\"-\",n=Math.floor(Math.abs(e/60)),i=Math.abs(e%60),a=[r,Z(n),\"'\",Z(i),\"'\"].join(\"\");return[\"D:\",t.getFullYear(),Z(t.getMonth()+1),Z(t.getDate()),Z(t.getHours()),Z(t.getMinutes()),Z(t.getSeconds()),a].join(\"\")},Y=b.__private__.convertPDFDateToDate=function(t){var e=parseInt(t.substr(2,4),10),r=parseInt(t.substr(6,2),10)-1,n=parseInt(t.substr(8,2),10),i=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),o=parseInt(t.substr(14,2),10);return new Date(e,r,n,i,a,o,0)},J=b.__private__.setCreationDate=function(t){var e;if(void 0===t&&(t=new Date),t instanceof Date)e=G(t);else{if(!/^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/.test(t))throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");e=t}return z=e},X=b.__private__.getCreationDate=function(t){var e=z;return\"jsDate\"===t&&(e=Y(z)),e};b.setCreationDate=function(t){return J(t),this},b.getCreationDate=function(t){return X(t)};var K,Z=b.__private__.padd2=function(t){return(\"0\"+parseInt(t)).slice(-2)},$=b.__private__.padd2Hex=function(t){return(\"00\"+(t=t.toString())).substr(t.length)},Q=0,tt=[],et=[],rt=0,nt=[],it=[],at=!1,ot=et,st=function(){Q=0,rt=0,et=[],tt=[],nt=[],Zt=Jt(),$t=Jt()};b.__private__.setCustomOutputDestination=function(t){at=!0,ot=t};var ut=function(t){at||(ot=t)};b.__private__.resetCustomOutputDestination=function(){at=!1,ot=et};var ct=b.__private__.out=function(t){return t=t.toString(),rt+=t.length+1,ot.push(t),ot},lt=b.__private__.write=function(t){return ct(1===arguments.length?t.toString():Array.prototype.join.call(arguments,\" \"))},ht=b.__private__.getArrayBuffer=function(t){for(var e=t.length,r=new ArrayBuffer(e),n=new Uint8Array(r);e--;)n[e]=t.charCodeAt(e);return r},ft=[[\"Helvetica\",\"helvetica\",\"normal\",\"WinAnsiEncoding\"],[\"Helvetica-Bold\",\"helvetica\",\"bold\",\"WinAnsiEncoding\"],[\"Helvetica-Oblique\",\"helvetica\",\"italic\",\"WinAnsiEncoding\"],[\"Helvetica-BoldOblique\",\"helvetica\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Courier\",\"courier\",\"normal\",\"WinAnsiEncoding\"],[\"Courier-Bold\",\"courier\",\"bold\",\"WinAnsiEncoding\"],[\"Courier-Oblique\",\"courier\",\"italic\",\"WinAnsiEncoding\"],[\"Courier-BoldOblique\",\"courier\",\"bolditalic\",\"WinAnsiEncoding\"],[\"Times-Roman\",\"times\",\"normal\",\"WinAnsiEncoding\"],[\"Times-Bold\",\"times\",\"bold\",\"WinAnsiEncoding\"],[\"Times-Italic\",\"times\",\"italic\",\"WinAnsiEncoding\"],[\"Times-BoldItalic\",\"times\",\"bolditalic\",\"WinAnsiEncoding\"],[\"ZapfDingbats\",\"zapfdingbats\",\"normal\",null],[\"Symbol\",\"symbol\",\"normal\",null]];b.__private__.getStandardFonts=function(){return ft};var dt=t.fontSize||16;b.__private__.setFontSize=b.setFontSize=function(t){return dt=x===A.ADVANCED?t/xt:t,this};var pt,gt=b.__private__.getFontSize=b.getFontSize=function(){return x===A.COMPAT?dt:dt*xt},mt=t.R2L||!1;b.__private__.setR2L=b.setR2L=function(t){return mt=t,this},b.__private__.getR2L=b.getR2L=function(){return mt};var vt,bt=b.__private__.setZoomMode=function(t){var e=[void 0,null,\"fullwidth\",\"fullheight\",\"fullpage\",\"original\"];if(/^\\d*\\.?\\d*%$/.test(t))pt=t;else if(isNaN(t)){if(-1===e.indexOf(t))throw new Error('zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"'+t+'\" is not recognized.');pt=t}else pt=parseInt(t,10)};b.__private__.getZoomMode=function(){return pt};var yt,wt=b.__private__.setPageMode=function(t){if(-1==[void 0,null,\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"FullScreen\"].indexOf(t))throw new Error('Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"'+t+'\" is not recognized.');vt=t};b.__private__.getPageMode=function(){return vt};var Nt=b.__private__.setLayoutMode=function(t){if(-1==[void 0,null,\"continuous\",\"single\",\"twoleft\",\"tworight\",\"two\"].indexOf(t))throw new Error('Layout mode must be one of continuous, single, twoleft, tworight. \"'+t+'\" is not recognized.');yt=t};b.__private__.getLayoutMode=function(){return yt},b.__private__.setDisplayMode=b.setDisplayMode=function(t,e,r){return bt(t),Nt(e),wt(r),this};var Lt={title:\"\",subject:\"\",author:\"\",keywords:\"\",creator:\"\"};b.__private__.getDocumentProperty=function(t){if(-1===Object.keys(Lt).indexOf(t))throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");return Lt[t]},b.__private__.getDocumentProperties=function(){return Lt},b.__private__.setDocumentProperties=b.setProperties=b.setDocumentProperties=function(t){for(var e in Lt)Lt.hasOwnProperty(e)&&t[e]&&(Lt[e]=t[e]);return this},b.__private__.setDocumentProperty=function(t,e){if(-1===Object.keys(Lt).indexOf(t))throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");return Lt[t]=e};var At,xt,St,_t,Pt,kt={},It={},Ft=[],Ct={},jt={},Ot={},Bt={},Mt=null,Et=0,qt=[],Rt=new k(b),Tt=t.hotfixes||[],Dt={},Ut={},zt=[],Ht=function(t,e,r,n,i,a){if(!(this instanceof Ht))return new Ht(t,e,r,n,i,a);isNaN(t)&&(t=1),isNaN(e)&&(e=0),isNaN(r)&&(r=0),isNaN(n)&&(n=1),isNaN(i)&&(i=0),isNaN(a)&&(a=0),this._matrix=[t,e,r,n,i,a]};Object.defineProperty(Ht.prototype,\"sx\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Ht.prototype,\"shy\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Ht.prototype,\"shx\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Ht.prototype,\"sy\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Ht.prototype,\"tx\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Ht.prototype,\"ty\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Ht.prototype,\"a\",{get:function(){return this._matrix[0]},set:function(t){this._matrix[0]=t}}),Object.defineProperty(Ht.prototype,\"b\",{get:function(){return this._matrix[1]},set:function(t){this._matrix[1]=t}}),Object.defineProperty(Ht.prototype,\"c\",{get:function(){return this._matrix[2]},set:function(t){this._matrix[2]=t}}),Object.defineProperty(Ht.prototype,\"d\",{get:function(){return this._matrix[3]},set:function(t){this._matrix[3]=t}}),Object.defineProperty(Ht.prototype,\"e\",{get:function(){return this._matrix[4]},set:function(t){this._matrix[4]=t}}),Object.defineProperty(Ht.prototype,\"f\",{get:function(){return this._matrix[5]},set:function(t){this._matrix[5]=t}}),Object.defineProperty(Ht.prototype,\"rotation\",{get:function(){return Math.atan2(this.shx,this.sx)}}),Object.defineProperty(Ht.prototype,\"scaleX\",{get:function(){return this.decompose().scale.sx}}),Object.defineProperty(Ht.prototype,\"scaleY\",{get:function(){return this.decompose().scale.sy}}),Object.defineProperty(Ht.prototype,\"isIdentity\",{get:function(){return 1===this.sx&&(0===this.shy&&(0===this.shx&&(1===this.sy&&(0===this.tx&&0===this.ty))))}}),Ht.prototype.join=function(t){return[this.sx,this.shy,this.shx,this.sy,this.tx,this.ty].map(B).join(t)},Ht.prototype.multiply=function(t){var e=t.sx*this.sx+t.shy*this.shx,r=t.sx*this.shy+t.shy*this.sy,n=t.shx*this.sx+t.sy*this.shx,i=t.shx*this.shy+t.sy*this.sy,a=t.tx*this.sx+t.ty*this.shx+this.tx,o=t.tx*this.shy+t.ty*this.sy+this.ty;return new Ht(e,r,n,i,a,o)},Ht.prototype.decompose=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=Math.sqrt(t*t+e*e),s=(t/=o)*r+(e/=o)*n;r-=t*s,n-=e*s;var u=Math.sqrt(r*r+n*n);return s/=u,t*(n/=u)<e*(r/=u)&&(t=-t,e=-e,s=-s,o=-o),{scale:new Ht(o,0,0,u,0,0),translate:new Ht(1,0,0,1,i,a),rotate:new Ht(t,e,-e,t,0,0),skew:new Ht(1,0,s,1,0,0)}},Ht.prototype.toString=function(t){return this.join(\" \")},Ht.prototype.inversed=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty,o=1/(t*n-e*r),s=n*o,u=-e*o,c=-r*o,l=t*o;return new Ht(s,u,c,l,-s*i-c*a,-u*i-l*a)},Ht.prototype.applyToPoint=function(t){var e=t.x*this.sx+t.y*this.shx+this.tx,r=t.x*this.shy+t.y*this.sy+this.ty;return new kr(e,r)},Ht.prototype.applyToRectangle=function(t){var e=this.applyToPoint(t),r=this.applyToPoint(new kr(t.x+t.w,t.y+t.h));return new Ir(e.x,e.y,r.x-e.x,r.y-e.y)},Ht.prototype.clone=function(){var t=this.sx,e=this.shy,r=this.shx,n=this.sy,i=this.tx,a=this.ty;return new Ht(t,e,r,n,i,a)},b.Matrix=Ht;var Vt=b.matrixMult=function(t,e){return e.multiply(t)},Wt=new Ht(1,0,0,1,0,0);b.unitMatrix=b.identityMatrix=Wt;var Gt=function(t,e){if(!jt[t]){var r=(e instanceof C?\"Sh\":\"P\")+(Object.keys(Ct).length+1).toString(10);e.id=r,jt[t]=r,Ct[r]=e,Rt.publish(\"addPattern\",e)}};b.ShadingPattern=C,b.TilingPattern=j,b.addShadingPattern=function(t,e){return M(\"addShadingPattern()\"),Gt(t,e),this},b.beginTilingPattern=function(t){M(\"beginTilingPattern()\"),Cr(t.boundingBox[0],t.boundingBox[1],t.boundingBox[2]-t.boundingBox[0],t.boundingBox[3]-t.boundingBox[1],t.matrix)},b.endTilingPattern=function(t,e){M(\"endTilingPattern()\"),e.stream=it[K].join(\"\\n\"),Gt(t,e),Rt.publish(\"endTilingPattern\",e),zt.pop().restore()};var Yt=b.__private__.newObject=function(){var t=Jt();return Xt(t,!0),t},Jt=b.__private__.newObjectDeferred=function(){return Q++,tt[Q]=function(){return rt},Q},Xt=function(t,e){return e=\"boolean\"==typeof e&&e,tt[t]=rt,e&&ct(t+\" 0 obj\"),t},Kt=b.__private__.newAdditionalObject=function(){var t={objId:Jt(),content:\"\"};return nt.push(t),t},Zt=Jt(),$t=Jt(),Qt=b.__private__.decodeColorString=function(t){var e=t.split(\" \");if(2!==e.length||\"g\"!==e[1]&&\"G\"!==e[1]){if(5===e.length&&(\"k\"===e[4]||\"K\"===e[4])){e=[(1-e[0])*(1-e[3]),(1-e[1])*(1-e[3]),(1-e[2])*(1-e[3]),\"r\"]}}else{var r=parseFloat(e[0]);e=[r,r,r,\"r\"]}for(var n=\"#\",i=0;i<3;i++)n+=(\"0\"+Math.floor(255*parseFloat(e[i])).toString(16)).slice(-2);return n},te=b.__private__.encodeColorString=function(t){var e;\"string\"==typeof t&&(t={ch1:t});var r=t.ch1,n=t.ch2,i=t.ch3,a=t.ch4,o=\"draw\"===t.pdfColorType?[\"G\",\"RG\",\"K\"]:[\"g\",\"rg\",\"k\"];if(\"string\"==typeof r&&\"#\"!==r.charAt(0)){var s=new h(r);if(s.ok)r=s.toHex();else if(!/^\\d*\\.?\\d*$/.test(r))throw new Error('Invalid color \"'+r+'\" passed to jsPDF.encodeColorString.')}if(\"string\"==typeof r&&/^#[0-9A-Fa-f]{3}$/.test(r)&&(r=\"#\"+r[1]+r[1]+r[2]+r[2]+r[3]+r[3]),\"string\"==typeof r&&/^#[0-9A-Fa-f]{6}$/.test(r)){var u=parseInt(r.substr(1),16);r=u>>16&255,n=u>>8&255,i=255&u}if(void 0===n||void 0===a&&r===n&&n===i)if(\"string\"==typeof r)e=r+\" \"+o[0];else switch(t.precision){case 2:e=q(r/255)+\" \"+o[0];break;case 3:default:e=R(r/255)+\" \"+o[0]}else if(void 0===a||\"object\"==typeof a){if(a&&!isNaN(a.a)&&0===a.a)return e=[\"1.\",\"1.\",\"1.\",o[1]].join(\" \");if(\"string\"==typeof r)e=[r,n,i,o[1]].join(\" \");else switch(t.precision){case 2:e=[q(r/255),q(n/255),q(i/255),o[1]].join(\" \");break;default:case 3:e=[R(r/255),R(n/255),R(i/255),o[1]].join(\" \")}}else if(\"string\"==typeof r)e=[r,n,i,a,o[2]].join(\" \");else switch(t.precision){case 2:e=[q(r),q(n),q(i),q(a),o[2]].join(\" \");break;case 3:default:e=[R(r),R(n),R(i),R(a),o[2]].join(\" \")}return e},ee=b.__private__.getFilters=function(){return u},re=b.__private__.putStream=function(t){var e=(t=t||{}).data||\"\",r=t.filters||ee(),n=t.alreadyAppliedFilters||[],i=t.addLength1||!1,a=e.length,o=t.objectId,s=function(t){return t};if(null!==g&&void 0===o)throw new Error(\"ObjectId must be passed to putStream for file encryption\");null!==g&&(s=We.encryptor(o,0));var u={};!0===r&&(r=[\"FlateEncode\"]);var c=t.additionalKeyValues||[],l=(u=void 0!==O.API.processDataByFilters?O.API.processDataByFilters(e,r):{data:e,reverseChain:[]}).reverseChain+(Array.isArray(n)?n.join(\" \"):n.toString());if(0!==u.data.length&&(c.push({key:\"Length\",value:u.data.length}),!0===i&&c.push({key:\"Length1\",value:a})),0!=l.length)if(l.split(\"/\").length-1==1)c.push({key:\"Filter\",value:l});else{c.push({key:\"Filter\",value:\"[\"+l+\"]\"});for(var h=0;h<c.length;h+=1)if(\"DecodeParms\"===c[h].key){for(var f=[],d=0;d<u.reverseChain.split(\"/\").length-1;d+=1)f.push(\"null\");f.push(c[h].value),c[h].value=\"[\"+f.join(\" \")+\"]\"}}ct(\"<<\");for(var p=0;p<c.length;p++)ct(\"/\"+c[p].key+\" \"+c[p].value);ct(\">>\"),0!==u.data.length&&(ct(\"stream\"),ct(s(u.data)),ct(\"endstream\"))},ne=b.__private__.putPage=function(t){var e=t.number,r=t.data,n=t.objId,i=t.contentsObjId;Xt(n,!0),ct(\"<</Type /Page\"),ct(\"/Parent \"+t.rootDictionaryObjId+\" 0 R\"),ct(\"/Resources \"+t.resourceDictionaryObjId+\" 0 R\"),ct(\"/MediaBox [\"+parseFloat(B(t.mediaBox.bottomLeftX))+\" \"+parseFloat(B(t.mediaBox.bottomLeftY))+\" \"+B(t.mediaBox.topRightX)+\" \"+B(t.mediaBox.topRightY)+\"]\"),null!==t.cropBox&&ct(\"/CropBox [\"+B(t.cropBox.bottomLeftX)+\" \"+B(t.cropBox.bottomLeftY)+\" \"+B(t.cropBox.topRightX)+\" \"+B(t.cropBox.topRightY)+\"]\"),null!==t.bleedBox&&ct(\"/BleedBox [\"+B(t.bleedBox.bottomLeftX)+\" \"+B(t.bleedBox.bottomLeftY)+\" \"+B(t.bleedBox.topRightX)+\" \"+B(t.bleedBox.topRightY)+\"]\"),null!==t.trimBox&&ct(\"/TrimBox [\"+B(t.trimBox.bottomLeftX)+\" \"+B(t.trimBox.bottomLeftY)+\" \"+B(t.trimBox.topRightX)+\" \"+B(t.trimBox.topRightY)+\"]\"),null!==t.artBox&&ct(\"/ArtBox [\"+B(t.artBox.bottomLeftX)+\" \"+B(t.artBox.bottomLeftY)+\" \"+B(t.artBox.topRightX)+\" \"+B(t.artBox.topRightY)+\"]\"),\"number\"==typeof t.userUnit&&1!==t.userUnit&&ct(\"/UserUnit \"+t.userUnit),Rt.publish(\"putPage\",{objId:n,pageContext:qt[e],pageNumber:e,page:r}),ct(\"/Contents \"+i+\" 0 R\"),ct(\">>\"),ct(\"endobj\");var a=r.join(\"\\n\");return x===A.ADVANCED&&(a+=\"\\nQ\"),Xt(i,!0),re({data:a,filters:ee(),objectId:i}),ct(\"endobj\"),n},ie=b.__private__.putPages=function(){var t,e,r=[];for(t=1;t<=Et;t++)qt[t].objId=Jt(),qt[t].contentsObjId=Jt();for(t=1;t<=Et;t++)r.push(ne({number:t,data:it[t],objId:qt[t].objId,contentsObjId:qt[t].contentsObjId,mediaBox:qt[t].mediaBox,cropBox:qt[t].cropBox,bleedBox:qt[t].bleedBox,trimBox:qt[t].trimBox,artBox:qt[t].artBox,userUnit:qt[t].userUnit,rootDictionaryObjId:Zt,resourceDictionaryObjId:$t}));Xt(Zt,!0),ct(\"<</Type /Pages\");var n=\"/Kids [\";for(e=0;e<Et;e++)n+=r[e]+\" 0 R \";ct(n+\"]\"),ct(\"/Count \"+Et),ct(\">>\"),ct(\"endobj\"),Rt.publish(\"postPutPages\")},ae=function(t){var e=function(t,e){return-1!==t.indexOf(\" \")?\"(\"+Ie(t,e)+\")\":Ie(t,e)};Rt.publish(\"putFont\",{font:t,out:ct,newObject:Yt,putStream:re,pdfEscapeWithNeededParanthesis:e}),!0!==t.isAlreadyPutted&&(t.objectNumber=Yt(),ct(\"<<\"),ct(\"/Type /Font\"),ct(\"/BaseFont /\"+e(t.postScriptName)),ct(\"/Subtype /Type1\"),\"string\"==typeof t.encoding&&ct(\"/Encoding /\"+t.encoding),ct(\"/FirstChar 32\"),ct(\"/LastChar 255\"),ct(\">>\"),ct(\"endobj\"))},oe=function(){for(var t in kt)kt.hasOwnProperty(t)&&(!1===m||!0===m&&v.hasOwnProperty(t))&&ae(kt[t])},se=function(t){t.objectNumber=Yt();var e=[];e.push({key:\"Type\",value:\"/XObject\"}),e.push({key:\"Subtype\",value:\"/Form\"}),e.push({key:\"BBox\",value:\"[\"+[B(t.x),B(t.y),B(t.x+t.width),B(t.y+t.height)].join(\" \")+\"]\"}),e.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"});var r=t.pages[1].join(\"\\n\");re({data:r,additionalKeyValues:e,objectId:t.objectNumber}),ct(\"endobj\")},ue=function(){for(var t in Dt)Dt.hasOwnProperty(t)&&se(Dt[t])},ce=function(t,e){var r,n=[],i=1/(e-1);for(r=0;r<1;r+=i)n.push(r);if(n.push(1),0!=t[0].offset){var a={offset:0,color:t[0].color};t.unshift(a)}if(1!=t[t.length-1].offset){var o={offset:1,color:t[t.length-1].color};t.push(o)}for(var s=\"\",u=0,c=0;c<n.length;c++){for(r=n[c];r>t[u+1].offset;)u++;var l=t[u].offset,h=(r-l)/(t[u+1].offset-l),f=t[u].color,d=t[u+1].color;s+=$(Math.round((1-h)*f[0]+h*d[0]).toString(16))+$(Math.round((1-h)*f[1]+h*d[1]).toString(16))+$(Math.round((1-h)*f[2]+h*d[2]).toString(16))}return s.trim()},le=function(t,e){e||(e=21);var r=Yt(),n=ce(t.colors,e),i=[];i.push({key:\"FunctionType\",value:\"0\"}),i.push({key:\"Domain\",value:\"[0.0 1.0]\"}),i.push({key:\"Size\",value:\"[\"+e+\"]\"}),i.push({key:\"BitsPerSample\",value:\"8\"}),i.push({key:\"Range\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),i.push({key:\"Decode\",value:\"[0.0 1.0 0.0 1.0 0.0 1.0]\"}),re({data:n,additionalKeyValues:i,alreadyAppliedFilters:[\"/ASCIIHexDecode\"],objectId:r}),ct(\"endobj\"),t.objectNumber=Yt(),ct(\"<< /ShadingType \"+t.type),ct(\"/ColorSpace /DeviceRGB\");var a=\"/Coords [\"+B(parseFloat(t.coords[0]))+\" \"+B(parseFloat(t.coords[1]))+\" \";2===t.type?a+=B(parseFloat(t.coords[2]))+\" \"+B(parseFloat(t.coords[3])):a+=B(parseFloat(t.coords[2]))+\" \"+B(parseFloat(t.coords[3]))+\" \"+B(parseFloat(t.coords[4]))+\" \"+B(parseFloat(t.coords[5])),ct(a+=\"]\"),t.matrix&&ct(\"/Matrix [\"+t.matrix.toString()+\"]\"),ct(\"/Function \"+r+\" 0 R\"),ct(\"/Extend [true true]\"),ct(\">>\"),ct(\"endobj\")},he=function(t,e){var r=Jt(),n=Yt();e.push({resourcesOid:r,objectOid:n}),t.objectNumber=n;var i=[];i.push({key:\"Type\",value:\"/Pattern\"}),i.push({key:\"PatternType\",value:\"1\"}),i.push({key:\"PaintType\",value:\"1\"}),i.push({key:\"TilingType\",value:\"1\"}),i.push({key:\"BBox\",value:\"[\"+t.boundingBox.map(B).join(\" \")+\"]\"}),i.push({key:\"XStep\",value:B(t.xStep)}),i.push({key:\"YStep\",value:B(t.yStep)}),i.push({key:\"Resources\",value:r+\" 0 R\"}),t.matrix&&i.push({key:\"Matrix\",value:\"[\"+t.matrix.toString()+\"]\"}),re({data:t.stream,additionalKeyValues:i,objectId:t.objectNumber}),ct(\"endobj\")},fe=function(t){var e;for(e in Ct)Ct.hasOwnProperty(e)&&(Ct[e]instanceof C?le(Ct[e]):Ct[e]instanceof j&&he(Ct[e],t))},de=function(t){for(var e in t.objectNumber=Yt(),ct(\"<<\"),t)switch(e){case\"opacity\":ct(\"/ca \"+q(t[e]));break;case\"stroke-opacity\":ct(\"/CA \"+q(t[e]))}ct(\">>\"),ct(\"endobj\")},pe=function(){var t;for(t in Ot)Ot.hasOwnProperty(t)&&de(Ot[t])},ge=function(){for(var t in ct(\"/XObject <<\"),Dt)Dt.hasOwnProperty(t)&&Dt[t].objectNumber>=0&&ct(\"/\"+t+\" \"+Dt[t].objectNumber+\" 0 R\");Rt.publish(\"putXobjectDict\"),ct(\">>\")},me=function(){We.oid=Yt(),ct(\"<<\"),ct(\"/Filter /Standard\"),ct(\"/V \"+We.v),ct(\"/R \"+We.r),ct(\"/U <\"+We.toHexString(We.U)+\">\"),ct(\"/O <\"+We.toHexString(We.O)+\">\"),ct(\"/P \"+We.P),ct(\">>\"),ct(\"endobj\")},ve=function(){for(var t in ct(\"/Font <<\"),kt)kt.hasOwnProperty(t)&&(!1===m||!0===m&&v.hasOwnProperty(t))&&ct(\"/\"+t+\" \"+kt[t].objectNumber+\" 0 R\");ct(\">>\")},be=function(){if(Object.keys(Ct).length>0){for(var t in ct(\"/Shading <<\"),Ct)Ct.hasOwnProperty(t)&&Ct[t]instanceof C&&Ct[t].objectNumber>=0&&ct(\"/\"+t+\" \"+Ct[t].objectNumber+\" 0 R\");Rt.publish(\"putShadingPatternDict\"),ct(\">>\")}},ye=function(t){if(Object.keys(Ct).length>0){for(var e in ct(\"/Pattern <<\"),Ct)Ct.hasOwnProperty(e)&&Ct[e]instanceof b.TilingPattern&&Ct[e].objectNumber>=0&&Ct[e].objectNumber<t&&ct(\"/\"+e+\" \"+Ct[e].objectNumber+\" 0 R\");Rt.publish(\"putTilingPatternDict\"),ct(\">>\")}},we=function(){if(Object.keys(Ot).length>0){var t;for(t in ct(\"/ExtGState <<\"),Ot)Ot.hasOwnProperty(t)&&Ot[t].objectNumber>=0&&ct(\"/\"+t+\" \"+Ot[t].objectNumber+\" 0 R\");Rt.publish(\"putGStateDict\"),ct(\">>\")}},Ne=function(t){Xt(t.resourcesOid,!0),ct(\"<<\"),ct(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\"),ve(),be(),ye(t.objectOid),we(),ge(),ct(\">>\"),ct(\"endobj\")},Le=function(){var t=[];oe(),pe(),ue(),fe(t),Rt.publish(\"putResources\"),t.forEach(Ne),Ne({resourcesOid:$t,objectOid:Number.MAX_SAFE_INTEGER}),Rt.publish(\"postPutResources\")},Ae=function(){Rt.publish(\"putAdditionalObjects\");for(var t=0;t<nt.length;t++){var e=nt[t];Xt(e.objId,!0),ct(e.content),ct(\"endobj\")}Rt.publish(\"postPutAdditionalObjects\")},xe=function(t){It[t.fontName]=It[t.fontName]||{},It[t.fontName][t.fontStyle]=t.id},Se=function(t,e,r,n,i){var a={id:\"F\"+(Object.keys(kt).length+1).toString(10),postScriptName:t,fontName:e,fontStyle:r,encoding:n,isStandardFont:i||!1,metadata:{}};return Rt.publish(\"addFont\",{font:a,instance:this}),kt[a.id]=a,xe(a),a.id},_e=function(t){for(var e=0,r=ft.length;e<r;e++){var n=Se.call(this,t[e][0],t[e][1],t[e][2],ft[e][3],!0);!1===m&&(v[n]=!0);var i=t[e][0].split(\"-\");xe({id:n,fontName:i[0],fontStyle:i[1]||\"\"})}Rt.publish(\"addFonts\",{fonts:kt,dictionary:It})},Pe=function(t){return t.foo=function(){try{return t.apply(this,arguments)}catch(t){var e=t.stack||\"\";~e.indexOf(\" at \")&&(e=e.split(\" at \")[1]);var n=\"Error in function \"+e.split(\"\\n\")[0].split(\"<\")[0]+\": \"+t.message;if(!r.console)throw new Error(n);r.console.error(n,t),r.alert&&alert(n)}},t.foo.bar=t,t.foo},ke=function(t,e){var r,n,i,a,o,s,u,c,l;if(i=(e=e||{}).sourceEncoding||\"Unicode\",o=e.outputEncoding,(e.autoencode||o)&&kt[At].metadata&&kt[At].metadata[i]&&kt[At].metadata[i].encoding&&(a=kt[At].metadata[i].encoding,!o&&kt[At].encoding&&(o=kt[At].encoding),!o&&a.codePages&&(o=a.codePages[0]),\"string\"==typeof o&&(o=a[o]),o)){for(u=!1,s=[],r=0,n=t.length;r<n;r++)(c=o[t.charCodeAt(r)])?s.push(String.fromCharCode(c)):s.push(t[r]),s[r].charCodeAt(0)>>8&&(u=!0);t=s.join(\"\")}for(r=t.length;void 0===u&&0!==r;)t.charCodeAt(r-1)>>8&&(u=!0),r--;if(!u)return t;for(s=e.noBOM?[]:[254,255],r=0,n=t.length;r<n;r++){if((l=(c=t.charCodeAt(r))>>8)>>8)throw new Error(\"Character at position \"+r+\" of string '\"+t+\"' exceeds 16bits. Cannot be encoded into UCS-2 BE\");s.push(l),s.push(c-(l<<8))}return String.fromCharCode.apply(void 0,s)},Ie=b.__private__.pdfEscape=b.pdfEscape=function(t,e){return ke(t,e).replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},Fe=b.__private__.beginPage=function(t){it[++Et]=[],qt[Et]={objId:0,contentsObjId:0,userUnit:Number(f),artBox:null,bleedBox:null,cropBox:null,trimBox:null,mediaBox:{bottomLeftX:0,bottomLeftY:0,topRightX:Number(t[0]),topRightY:Number(t[1])}},Oe(Et),ut(it[K])},Ce=function(t,e){var r,a,s;switch(n=e||n,\"string\"==typeof t&&(r=L(t.toLowerCase()),Array.isArray(r)&&(a=r[0],s=r[1])),Array.isArray(t)&&(a=t[0]*xt,s=t[1]*xt),isNaN(a)&&(a=o[0],s=o[1]),(a>14400||s>14400)&&(i.warn(\"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"),a=Math.min(14400,a),s=Math.min(14400,s)),o=[a,s],n.substr(0,1)){case\"l\":s>a&&(o=[s,a]);break;case\"p\":a>s&&(o=[s,a])}Fe(o),hr(lr),ct(yr),0!==Sr&&ct(Sr+\" J\"),0!==_r&&ct(_r+\" j\"),Rt.publish(\"addPage\",{pageNumber:Et})},je=function(t){t>0&&t<=Et&&(it.splice(t,1),qt.splice(t,1),Et--,K>Et&&(K=Et),this.setPage(K))},Oe=function(t){t>0&&t<=Et&&(K=t)},Be=b.__private__.getNumberOfPages=b.getNumberOfPages=function(){return it.length-1},Me=function(t,e,r){var n,a=void 0;return r=r||{},t=void 0!==t?t:kt[At].fontName,e=void 0!==e?e:kt[At].fontStyle,n=t.toLowerCase(),void 0!==It[n]&&void 0!==It[n][e]?a=It[n][e]:void 0!==It[t]&&void 0!==It[t][e]?a=It[t][e]:!1===r.disableWarning&&i.warn(\"Unable to look up font label for font '\"+t+\"', '\"+e+\"'. Refer to getFontList() for available fonts.\"),a||r.noFallback||null==(a=It.times[e])&&(a=It.times.normal),a},Ee=b.__private__.putInfo=function(){var t=Yt(),e=function(t){return t};for(var r in null!==g&&(e=We.encryptor(t,0)),ct(\"<<\"),ct(\"/Producer (\"+Ie(e(\"jsPDF \"+O.version))+\")\"),Lt)Lt.hasOwnProperty(r)&&Lt[r]&&ct(\"/\"+r.substr(0,1).toUpperCase()+r.substr(1)+\" (\"+Ie(e(Lt[r]))+\")\");ct(\"/CreationDate (\"+Ie(e(z))+\")\"),ct(\">>\"),ct(\"endobj\")},qe=b.__private__.putCatalog=function(t){var e=(t=t||{}).rootDictionaryObjId||Zt;switch(Yt(),ct(\"<<\"),ct(\"/Type /Catalog\"),ct(\"/Pages \"+e+\" 0 R\"),pt||(pt=\"fullwidth\"),pt){case\"fullwidth\":ct(\"/OpenAction [3 0 R /FitH null]\");break;case\"fullheight\":ct(\"/OpenAction [3 0 R /FitV null]\");break;case\"fullpage\":ct(\"/OpenAction [3 0 R /Fit]\");break;case\"original\":ct(\"/OpenAction [3 0 R /XYZ null null 1]\");break;default:var r=\"\"+pt;\"%\"===r.substr(r.length-1)&&(pt=parseInt(pt)/100),\"number\"==typeof pt&&ct(\"/OpenAction [3 0 R /XYZ null null \"+q(pt)+\"]\")}switch(yt||(yt=\"continuous\"),yt){case\"continuous\":ct(\"/PageLayout /OneColumn\");break;case\"single\":ct(\"/PageLayout /SinglePage\");break;case\"two\":case\"twoleft\":ct(\"/PageLayout /TwoColumnLeft\");break;case\"tworight\":ct(\"/PageLayout /TwoColumnRight\")}vt&&ct(\"/PageMode /\"+vt),Rt.publish(\"putCatalog\"),ct(\">>\"),ct(\"endobj\")},Re=b.__private__.putTrailer=function(){ct(\"trailer\"),ct(\"<<\"),ct(\"/Size \"+(Q+1)),ct(\"/Root \"+Q+\" 0 R\"),ct(\"/Info \"+(Q-1)+\" 0 R\"),null!==g&&ct(\"/Encrypt \"+We.oid+\" 0 R\"),ct(\"/ID [ <\"+H+\"> <\"+H+\"> ]\"),ct(\">>\")},Te=b.__private__.putHeader=function(){ct(\"%PDF-\"+y),ct(\"%ºß¬à\")},De=b.__private__.putXRef=function(){var t=\"0000000000\";ct(\"xref\"),ct(\"0 \"+(Q+1)),ct(\"0000000000 65535 f \");for(var e=1;e<=Q;e++){\"function\"==typeof tt[e]?ct((t+tt[e]()).slice(-10)+\" 00000 n \"):void 0!==tt[e]?ct((t+tt[e]).slice(-10)+\" 00000 n \"):ct(\"0000000000 00000 n \")}},Ue=b.__private__.buildDocument=function(){st(),ut(et),Rt.publish(\"buildDocument\"),Te(),ie(),Ae(),Le(),null!==g&&me(),Ee(),qe();var t=rt;return De(),Re(),ct(\"startxref\"),ct(\"\"+t),ct(\"%%EOF\"),ut(it[K]),et.join(\"\\n\")},ze=b.__private__.getBlob=function(t){return new Blob([ht(t)],{type:\"application/pdf\"})},He=b.output=b.__private__.output=Pe((function(t,e){switch(\"string\"==typeof(e=e||{})?e={filename:e}:e.filename=e.filename||\"generated.pdf\",t){case void 0:return Ue();case\"save\":b.save(e.filename);break;case\"arraybuffer\":return ht(Ue());case\"blob\":return ze(Ue());case\"bloburi\":case\"bloburl\":if(void 0!==r.URL&&\"function\"==typeof r.URL.createObjectURL)return r.URL&&r.URL.createObjectURL(ze(Ue()))||void 0;i.warn(\"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\");break;case\"datauristring\":case\"dataurlstring\":var n=\"\",a=Ue();try{n=c(a)}catch(t){n=c(unescape(encodeURIComponent(a)))}return\"data:application/pdf;filename=\"+e.filename+\";base64,\"+n;case\"pdfobjectnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(r)){var o='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><script src=\"'+(e.pdfObjectUrl||\"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\")+'\"><\\/script><script >PDFObject.embed(\"'+this.output(\"dataurlstring\")+'\", '+JSON.stringify(e)+\");<\\/script></body></html>\",s=r.open();return null!==s&&s.document.write(o),s}throw new Error(\"The option pdfobjectnewwindow just works in a browser-environment.\");case\"pdfjsnewwindow\":if(\"[object Window]\"===Object.prototype.toString.call(r)){var u='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe id=\"pdfViewer\" src=\"'+(e.pdfJsUrl||\"examples/PDF.js/web/viewer.html\")+\"?file=&downloadName=\"+e.filename+'\" width=\"500px\" height=\"400px\" /></body></html>',l=r.open();if(null!==l){l.document.write(u);var h=this;l.document.documentElement.querySelector(\"#pdfViewer\").onload=function(){l.document.title=e.filename,l.document.documentElement.querySelector(\"#pdfViewer\").contentWindow.PDFViewerApplication.open(h.output(\"bloburl\"))}}return l}throw new Error(\"The option pdfjsnewwindow just works in a browser-environment.\");case\"dataurlnewwindow\":if(\"[object Window]\"!==Object.prototype.toString.call(r))throw new Error(\"The option dataurlnewwindow just works in a browser-environment.\");var f='<html><style>html, body { padding: 0; margin: 0; } iframe { width: 100%; height: 100%; border: 0;}  </style><body><iframe src=\"'+this.output(\"datauristring\",e)+'\"></iframe></body></html>',d=r.open();if(null!==d&&(d.document.write(f),d.document.title=e.filename),d||\"undefined\"==typeof safari)return d;break;case\"datauri\":case\"dataurl\":return r.document.location.href=this.output(\"datauristring\",e);default:return null}})),Ve=function(t){return!0===Array.isArray(Tt)&&Tt.indexOf(t)>-1};switch(a){case\"pt\":xt=1;break;case\"mm\":xt=72/25.4;break;case\"cm\":xt=72/2.54;break;case\"in\":xt=72;break;case\"px\":xt=1==Ve(\"px_scaling\")?.75:96/72;break;case\"pc\":case\"em\":xt=12;break;case\"ex\":xt=6;break;default:throw new Error(\"Invalid unit: \"+a)}var We=null;J(),W();var Ge=function(t){return null!==g?We.encryptor(t,0):function(t){return t}},Ye=b.__private__.getPageInfo=b.getPageInfo=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");return{objId:qt[t].objId,pageNumber:t,pageContext:qt[t]}},Je=b.__private__.getPageInfoByObjId=function(t){if(isNaN(t)||t%1!=0)throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");for(var e in qt)if(qt[e].objId===t)break;return Ye(e)},Xe=b.__private__.getCurrentPageInfo=b.getCurrentPageInfo=function(){return{objId:qt[K].objId,pageNumber:K,pageContext:qt[K]}};b.addPage=function(){return Ce.apply(this,arguments),this},b.setPage=function(){return Oe.apply(this,arguments),ut.call(this,it[K]),this},b.insertPage=function(t){return this.addPage(),this.movePage(K,t),this},b.movePage=function(t,e){var r,n;if(t>e){r=it[t],n=qt[t];for(var i=t;i>e;i--)it[i]=it[i-1],qt[i]=qt[i-1];it[e]=r,qt[e]=n,this.setPage(e)}else if(t<e){r=it[t],n=qt[t];for(var a=t;a<e;a++)it[a]=it[a+1],qt[a]=qt[a+1];it[e]=r,qt[e]=n,this.setPage(e)}return this},b.deletePage=function(){return je.apply(this,arguments),this},b.__private__.text=b.text=function(t,e,r,n,i){var a,o,s,u,c,l,h,f,d=(n=n||{}).scope||this;if(\"number\"==typeof t&&\"number\"==typeof e&&(\"string\"==typeof r||Array.isArray(r))){var p=r;r=e,e=t,t=p}if(arguments[3]instanceof Ht==!1?(s=arguments[4],u=arguments[5],\"object\"==typeof(h=arguments[3])&&null!==h||(\"string\"==typeof s&&(u=s,s=null),\"string\"==typeof h&&(u=h,h=null),\"number\"==typeof h&&(s=h,h=null),n={flags:h,angle:s,align:u})):(M(\"The transform parameter of text() with a Matrix value\"),f=i),isNaN(e)||isNaN(r)||null==t)throw new Error(\"Invalid arguments passed to jsPDF.text\");if(0===t.length)return d;var g=\"\",m=!1,b=\"number\"==typeof n.lineHeightFactor?n.lineHeightFactor:cr,y=d.internal.scaleFactor;function w(t){return t=t.split(\"\\t\").join(Array(n.TabLen||9).join(\" \")),Ie(t,h)}function N(t){for(var e,r=t.concat(),n=[],i=r.length;i--;)\"string\"==typeof(e=r.shift())?n.push(e):Array.isArray(t)&&(1===e.length||void 0===e[1]&&void 0===e[2])?n.push(e[0]):n.push([e[0],e[1],e[2]]);return n}function L(t,e){var r;if(\"string\"==typeof t)r=e(t)[0];else if(Array.isArray(t)){for(var n,i,a=t.concat(),o=[],s=a.length;s--;)\"string\"==typeof(n=a.shift())?o.push(e(n)[0]):Array.isArray(n)&&\"string\"==typeof n[0]&&(i=e(n[0],n[1],n[2]),o.push([i[0],i[1],i[2]]));r=o}return r}var S=!1,_=!0;if(\"string\"==typeof t)S=!0;else if(Array.isArray(t)){var P=t.concat();o=[];for(var k,I=P.length;I--;)(\"string\"!=typeof(k=P.shift())||Array.isArray(k)&&\"string\"!=typeof k[0])&&(_=!1);S=_}if(!1===S)throw new Error('Type of text must be string or Array. \"'+t+'\" is not recognized.');\"string\"==typeof t&&(t=t.match(/[\\r?\\n]/)?t.split(/\\r\\n|\\r|\\n/g):[t]);var F=dt/d.internal.scaleFactor,C=F*(cr-1);switch(n.baseline){case\"bottom\":r-=C;break;case\"top\":r+=F-C;break;case\"hanging\":r+=F-2*C;break;case\"middle\":r+=F/2-C}if((l=n.maxWidth||0)>0&&(\"string\"==typeof t?t=d.splitTextToSize(t,l):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(d.splitTextToSize(e,l))}),[]))),a={text:t,x:e,y:r,options:n,mutex:{pdfEscape:Ie,activeFontKey:At,fonts:kt,activeFontSize:dt}},Rt.publish(\"preProcessText\",a),t=a.text,s=(n=a.options).angle,f instanceof Ht==!1&&s&&\"number\"==typeof s){s*=Math.PI/180,0===n.rotationDirection&&(s=-s),x===A.ADVANCED&&(s=-s);var j=Math.cos(s),O=Math.sin(s);f=new Ht(j,O,-O,j,0,0)}else s&&s instanceof Ht&&(f=s);x!==A.ADVANCED||f||(f=Wt),void 0!==(c=n.charSpace||Ar)&&(g+=B(T(c))+\" Tc\\n\",this.setCharSpace(this.getCharSpace()||0));n.lang;var E=-1,q=void 0!==n.renderingMode?n.renderingMode:n.stroke,R=d.internal.getCurrentPageInfo().pageContext;switch(q){case 0:case!1:case\"fill\":E=0;break;case 1:case!0:case\"stroke\":E=1;break;case 2:case\"fillThenStroke\":E=2;break;case 3:case\"invisible\":E=3;break;case 4:case\"fillAndAddForClipping\":E=4;break;case 5:case\"strokeAndAddPathForClipping\":E=5;break;case 6:case\"fillThenStrokeAndAddToPathForClipping\":E=6;break;case 7:case\"addToPathForClipping\":E=7}var D=void 0!==R.usedRenderingMode?R.usedRenderingMode:-1;-1!==E?g+=E+\" Tr\\n\":-1!==D&&(g+=\"0 Tr\\n\"),-1!==E&&(R.usedRenderingMode=E),u=n.align||\"left\";var U,z=dt*b,H=d.internal.pageSize.getWidth(),V=kt[At];c=n.charSpace||Ar,l=n.maxWidth||0,h=Object.assign({autoencode:!0,noBOM:!0},n.flags);var W=[];if(\"[object Array]\"===Object.prototype.toString.call(t)){var G;o=N(t),\"left\"!==u&&(U=o.map((function(t){return d.getStringUnitWidth(t,{font:V,charSpace:c,fontSize:dt,doKerning:!1})*dt/y})));var Y,J=0;if(\"right\"===u){e-=U[0],t=[],I=o.length;for(var X=0;X<I;X++)0===X?(Y=gr(e),G=mr(r)):(Y=T(J-U[X]),G=-z),t.push([o[X],Y,G]),J=U[X]}else if(\"center\"===u){e-=U[0]/2,t=[],I=o.length;for(var K=0;K<I;K++)0===K?(Y=gr(e),G=mr(r)):(Y=T((J-U[K])/2),G=-z),t.push([o[K],Y,G]),J=U[K]}else if(\"left\"===u){t=[],I=o.length;for(var Z=0;Z<I;Z++)t.push(o[Z])}else{if(\"justify\"!==u)throw new Error('Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".');t=[],I=o.length,l=0!==l?l:H;for(var $=0;$<I;$++)G=0===$?mr(r):-z,Y=0===$?gr(e):0,$<I-1&&W.push(B(T((l-U[$])/(o[$].split(\" \").length-1)))),t.push([o[$],Y,G])}}var Q=\"boolean\"==typeof n.R2L?n.R2L:mt;!0===Q&&(t=L(t,(function(t,e,r){return[t.split(\"\").reverse().join(\"\"),e,r]}))),a={text:t,x:e,y:r,options:n,mutex:{pdfEscape:Ie,activeFontKey:At,fonts:kt,activeFontSize:dt}},Rt.publish(\"postProcessText\",a),t=a.text,m=a.mutex.isHex||!1;var tt=kt[At].encoding;\"WinAnsiEncoding\"!==tt&&\"StandardEncoding\"!==tt||(t=L(t,(function(t,e,r){return[w(t),e,r]}))),o=N(t),t=[];for(var et,rt,nt,it=0,at=1,ot=Array.isArray(o[0])?at:it,st=\"\",ut=function(t,e,r){var i=\"\";return r instanceof Ht?(r=\"number\"==typeof n.angle?Vt(r,new Ht(1,0,0,1,t,e)):Vt(new Ht(1,0,0,1,t,e),r),x===A.ADVANCED&&(r=Vt(new Ht(1,0,0,-1,0,0),r)),i=r.join(\" \")+\" Tm\\n\"):i=B(t)+\" \"+B(e)+\" Td\\n\",i},lt=0;lt<o.length;lt++){switch(st=\"\",ot){case at:nt=(m?\"<\":\"(\")+o[lt][0]+(m?\">\":\")\"),et=parseFloat(o[lt][1]),rt=parseFloat(o[lt][2]);break;case it:nt=(m?\"<\":\"(\")+o[lt]+(m?\">\":\")\"),et=gr(e),rt=mr(r)}void 0!==W&&void 0!==W[lt]&&(st=W[lt]+\" Tw\\n\"),0===lt?t.push(st+ut(et,rt,f)+nt):ot===it?t.push(st+nt):ot===at&&t.push(st+ut(et,rt,f)+nt)}t=ot===it?t.join(\" Tj\\nT* \"):t.join(\" Tj\\n\"),t+=\" Tj\\n\";var ht=\"BT\\n/\";return ht+=At+\" \"+dt+\" Tf\\n\",ht+=B(dt*b)+\" TL\\n\",ht+=Nr+\"\\n\",ht+=g,ht+=t,ct(ht+=\"ET\"),v[At]=!0,d};var Ke=b.__private__.clip=b.clip=function(t){return ct(\"evenodd\"===t?\"W*\":\"W\"),this};b.clipEvenOdd=function(){return Ke(\"evenodd\")},b.__private__.discardPath=b.discardPath=function(){return ct(\"n\"),this};var Ze=b.__private__.isValidStyle=function(t){var e=!1;return-1!==[void 0,null,\"S\",\"D\",\"F\",\"DF\",\"FD\",\"f\",\"f*\",\"B\",\"B*\",\"n\"].indexOf(t)&&(e=!0),e};b.__private__.setDefaultPathOperation=b.setDefaultPathOperation=function(t){return Ze(t)&&(p=t),this};var $e=b.__private__.getStyle=b.getStyle=function(t){var e=p;switch(t){case\"D\":case\"S\":e=\"S\";break;case\"F\":e=\"f\";break;case\"FD\":case\"DF\":e=\"B\";break;case\"f\":case\"f*\":case\"B\":case\"B*\":e=t}return e},Qe=b.close=function(){return ct(\"h\"),this};b.stroke=function(){return ct(\"S\"),this},b.fill=function(t){return tr(\"f\",t),this},b.fillEvenOdd=function(t){return tr(\"f*\",t),this},b.fillStroke=function(t){return tr(\"B\",t),this},b.fillStrokeEvenOdd=function(t){return tr(\"B*\",t),this};var tr=function(t,e){\"object\"==typeof e?nr(e,t):ct(t)},er=function(t){null===t||x===A.ADVANCED&&void 0===t||(t=$e(t),ct(t))};function rr(t,e,r,n,i){var a=new j(e||this.boundingBox,r||this.xStep,n||this.yStep,this.gState,i||this.matrix);a.stream=this.stream;var o=t+\"$$\"+this.cloneIndex+++\"$$\";return Gt(o,a),a}var nr=function(t,e){var r=jt[t.key],n=Ct[r];if(n instanceof C)ct(\"q\"),ct(ir(e)),n.gState&&b.setGState(n.gState),ct(t.matrix.toString()+\" cm\"),ct(\"/\"+r+\" sh\"),ct(\"Q\");else if(n instanceof j){var i=new Ht(1,0,0,-1,0,Er());t.matrix&&(i=i.multiply(t.matrix||Wt),r=rr.call(n,t.key,t.boundingBox,t.xStep,t.yStep,i).id),ct(\"q\"),ct(\"/Pattern cs\"),ct(\"/\"+r+\" scn\"),n.gState&&b.setGState(n.gState),ct(e),ct(\"Q\")}},ir=function(t){switch(t){case\"f\":case\"F\":return\"W n\";case\"f*\":return\"W* n\";case\"B\":return\"W S\";case\"B*\":return\"W* S\";case\"S\":return\"W S\";case\"n\":return\"W n\"}},ar=b.moveTo=function(t,e){return ct(B(T(t))+\" \"+B(U(e))+\" m\"),this},or=b.lineTo=function(t,e){return ct(B(T(t))+\" \"+B(U(e))+\" l\"),this},sr=b.curveTo=function(t,e,r,n,i,a){return ct([B(T(t)),B(U(e)),B(T(r)),B(U(n)),B(T(i)),B(U(a)),\"c\"].join(\" \")),this};b.__private__.line=b.line=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Ze(i))throw new Error(\"Invalid arguments passed to jsPDF.line\");return x===A.COMPAT?this.lines([[r-t,n-e]],t,e,[1,1],i||\"S\"):this.lines([[r-t,n-e]],t,e,[1,1]).stroke()},b.__private__.lines=b.lines=function(t,e,r,n,i,a){var o,s,u,c,l,h,f,d,p,g,m,v;if(\"number\"==typeof t&&(v=r,r=e,e=t,t=v),n=n||[1,1],a=a||!1,isNaN(e)||isNaN(r)||!Array.isArray(t)||!Array.isArray(n)||!Ze(i)||\"boolean\"!=typeof a)throw new Error(\"Invalid arguments passed to jsPDF.lines\");for(ar(e,r),o=n[0],s=n[1],c=t.length,g=e,m=r,u=0;u<c;u++)2===(l=t[u]).length?(g=l[0]*o+g,m=l[1]*s+m,or(g,m)):(h=l[0]*o+g,f=l[1]*s+m,d=l[2]*o+g,p=l[3]*s+m,g=l[4]*o+g,m=l[5]*s+m,sr(h,f,d,p,g,m));return a&&Qe(),er(i),this},b.path=function(t){for(var e=0;e<t.length;e++){var r=t[e],n=r.c;switch(r.op){case\"m\":ar(n[0],n[1]);break;case\"l\":or(n[0],n[1]);break;case\"c\":sr.apply(this,n);break;case\"h\":Qe()}}return this},b.__private__.rect=b.rect=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Ze(i))throw new Error(\"Invalid arguments passed to jsPDF.rect\");return x===A.COMPAT&&(n=-n),ct([B(T(t)),B(U(e)),B(T(r)),B(T(n)),\"re\"].join(\" \")),er(i),this},b.__private__.triangle=b.triangle=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Ze(o))throw new Error(\"Invalid arguments passed to jsPDF.triangle\");return this.lines([[r-t,n-e],[i-r,a-n],[t-i,e-a]],t,e,[1,1],o,!0),this},b.__private__.roundedRect=b.roundedRect=function(t,e,r,n,i,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(i)||isNaN(a)||!Ze(o))throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");var s=4/3*(Math.SQRT2-1);return i=Math.min(i,.5*r),a=Math.min(a,.5*n),this.lines([[r-2*i,0],[i*s,0,i,a-a*s,i,a],[0,n-2*a],[0,a*s,-i*s,a,-i,a],[2*i-r,0],[-i*s,0,-i,-a*s,-i,-a],[0,2*a-n],[0,-a*s,i*s,-a,i,-a]],t+i,e,[1,1],o,!0),this},b.__private__.ellipse=b.ellipse=function(t,e,r,n,i){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||!Ze(i))throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");var a=4/3*(Math.SQRT2-1)*r,o=4/3*(Math.SQRT2-1)*n;return ar(t+r,e),sr(t+r,e-o,t+a,e-n,t,e-n),sr(t-a,e-n,t-r,e-o,t-r,e),sr(t-r,e+o,t-a,e+n,t,e+n),sr(t+a,e+n,t+r,e+o,t+r,e),er(i),this},b.__private__.circle=b.circle=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||!Ze(n))throw new Error(\"Invalid arguments passed to jsPDF.circle\");return this.ellipse(t,e,r,r,n)},b.setFont=function(t,e,r){return r&&(e=F(e,r)),At=Me(t,e,{disableWarning:!1}),this};var ur=b.__private__.getFont=b.getFont=function(){return kt[Me.apply(b,arguments)]};b.__private__.getFontList=b.getFontList=function(){var t,e,r={};for(t in It)if(It.hasOwnProperty(t))for(e in r[t]=[],It[t])It[t].hasOwnProperty(e)&&r[t].push(e);return r},b.addFont=function(t,e,r,n,i){var a=[\"StandardEncoding\",\"MacRomanEncoding\",\"Identity-H\",\"WinAnsiEncoding\"];return arguments[3]&&-1!==a.indexOf(arguments[3])?i=arguments[3]:arguments[3]&&-1==a.indexOf(arguments[3])&&(r=F(r,n)),i=i||\"Identity-H\",Se.call(this,t,e,r,i)};var cr,lr=t.lineWidth||.200025,hr=b.__private__.setLineWidth=b.setLineWidth=function(t){return ct(B(T(t))+\" w\"),this};b.__private__.setLineDash=O.API.setLineDash=O.API.setLineDashPattern=function(t,e){if(t=t||[],e=e||0,isNaN(e)||!Array.isArray(t))throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");return t=t.map((function(t){return B(T(t))})).join(\" \"),e=B(T(e)),ct(\"[\"+t+\"] \"+e+\" d\"),this};var fr=b.__private__.getLineHeight=b.getLineHeight=function(){return dt*cr};b.__private__.getLineHeight=b.getLineHeight=function(){return dt*cr};var dr=b.__private__.setLineHeightFactor=b.setLineHeightFactor=function(t){return\"number\"==typeof(t=t||1.15)&&(cr=t),this},pr=b.__private__.getLineHeightFactor=b.getLineHeightFactor=function(){return cr};dr(t.lineHeight);var gr=b.__private__.getHorizontalCoordinate=function(t){return T(t)},mr=b.__private__.getVerticalCoordinate=function(t){return x===A.ADVANCED?t:qt[K].mediaBox.topRightY-qt[K].mediaBox.bottomLeftY-T(t)},vr=b.__private__.getHorizontalCoordinateString=b.getHorizontalCoordinateString=function(t){return B(gr(t))},br=b.__private__.getVerticalCoordinateString=b.getVerticalCoordinateString=function(t){return B(mr(t))},yr=t.strokeColor||\"0 G\";b.__private__.getStrokeColor=b.getDrawColor=function(){return Qt(yr)},b.__private__.setStrokeColor=b.setDrawColor=function(t,e,r,n){return yr=te({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"draw\",precision:2}),ct(yr),this};var wr=t.fillColor||\"0 g\";b.__private__.getFillColor=b.getFillColor=function(){return Qt(wr)},b.__private__.setFillColor=b.setFillColor=function(t,e,r,n){return wr=te({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"fill\",precision:2}),ct(wr),this};var Nr=t.textColor||\"0 g\",Lr=b.__private__.getTextColor=b.getTextColor=function(){return Qt(Nr)};b.__private__.setTextColor=b.setTextColor=function(t,e,r,n){return Nr=te({ch1:t,ch2:e,ch3:r,ch4:n,pdfColorType:\"text\",precision:3}),this};var Ar=t.charSpace,xr=b.__private__.getCharSpace=b.getCharSpace=function(){return parseFloat(Ar||0)};b.__private__.setCharSpace=b.setCharSpace=function(t){if(isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");return Ar=t,this};var Sr=0;b.CapJoinStyles={0:0,butt:0,but:0,miter:0,1:1,round:1,rounded:1,circle:1,2:2,projecting:2,project:2,square:2,bevel:2},b.__private__.setLineCap=b.setLineCap=function(t){var e=b.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line cap style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return Sr=e,ct(e+\" J\"),this};var _r=0;b.__private__.setLineJoin=b.setLineJoin=function(t){var e=b.CapJoinStyles[t];if(void 0===e)throw new Error(\"Line join style of '\"+t+\"' is not recognized. See or extend .CapJoinStyles property for valid styles\");return _r=e,ct(e+\" j\"),this},b.__private__.setLineMiterLimit=b.__private__.setMiterLimit=b.setLineMiterLimit=b.setMiterLimit=function(t){if(t=t||0,isNaN(t))throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");return ct(B(T(t))+\" M\"),this},b.GState=I,b.setGState=function(t){(t=\"string\"==typeof t?Ot[Bt[t]]:Pr(null,t)).equals(Mt)||(ct(\"/\"+t.id+\" gs\"),Mt=t)};var Pr=function(t,e){if(!t||!Bt[t]){var r=!1;for(var n in Ot)if(Ot.hasOwnProperty(n)&&Ot[n].equals(e)){r=!0;break}if(r)e=Ot[n];else{var i=\"GS\"+(Object.keys(Ot).length+1).toString(10);Ot[i]=e,e.id=i}return t&&(Bt[t]=e.id),Rt.publish(\"addGState\",e),e}};b.addGState=function(t,e){return Pr(t,e),this},b.saveGraphicsState=function(){return ct(\"q\"),Ft.push({key:At,size:dt,color:Nr}),this},b.restoreGraphicsState=function(){ct(\"Q\");var t=Ft.pop();return At=t.key,dt=t.size,Nr=t.color,Mt=null,this},b.setCurrentTransformationMatrix=function(t){return ct(t.toString()+\" cm\"),this},b.comment=function(t){return ct(\"#\"+t),this};var kr=function(t,e){var r=t||0;Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return r},set:function(t){isNaN(t)||(r=parseFloat(t))}});var n=e||0;Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return n},set:function(t){isNaN(t)||(n=parseFloat(t))}});var i=\"pt\";return Object.defineProperty(this,\"type\",{enumerable:!0,get:function(){return i},set:function(t){i=t.toString()}}),this},Ir=function(t,e,r,n){kr.call(this,t,e),this.type=\"rect\";var i=r||0;Object.defineProperty(this,\"w\",{enumerable:!0,get:function(){return i},set:function(t){isNaN(t)||(i=parseFloat(t))}});var a=n||0;return Object.defineProperty(this,\"h\",{enumerable:!0,get:function(){return a},set:function(t){isNaN(t)||(a=parseFloat(t))}}),this},Fr=function(){this.page=Et,this.currentPage=K,this.pages=it.slice(0),this.pagesContext=qt.slice(0),this.x=St,this.y=_t,this.matrix=Pt,this.width=Br(K),this.height=Er(K),this.outputDestination=ot,this.id=\"\",this.objectNumber=-1};Fr.prototype.restore=function(){Et=this.page,K=this.currentPage,qt=this.pagesContext,it=this.pages,St=this.x,_t=this.y,Pt=this.matrix,Mr(K,this.width),qr(K,this.height),ot=this.outputDestination};var Cr=function(t,e,r,n,i){zt.push(new Fr),Et=K=0,it=[],St=t,_t=e,Pt=i,Fe([r,n])},jr=function(t){if(!Ut[t]){var e=new Fr,r=\"Xo\"+(Object.keys(Dt).length+1).toString(10);e.id=r,Ut[t]=r,Dt[r]=e,Rt.publish(\"addFormObject\",e),zt.pop().restore()}};for(var Or in b.beginFormObject=function(t,e,r,n,i){return Cr(t,e,r,n,i),this},b.endFormObject=function(t){return jr(t),this},b.doFormObject=function(t,e){var r=Dt[Ut[t]];return ct(\"q\"),ct(e.toString()+\" cm\"),ct(\"/\"+r.id+\" Do\"),ct(\"Q\"),this},b.getFormObject=function(t){var e=Dt[Ut[t]];return{x:e.x,y:e.y,width:e.width,height:e.height,matrix:e.matrix}},b.save=function(t,e){return t=t||\"generated.pdf\",(e=e||{}).returnPromise=e.returnPromise||!1,!1===e.returnPromise?(l(ze(Ue()),t),\"function\"==typeof l.unload&&r.setTimeout&&setTimeout(l.unload,911),this):new Promise((function(e,n){try{var i=l(ze(Ue()),t);\"function\"==typeof l.unload&&r.setTimeout&&setTimeout(l.unload,911),e(i)}catch(t){n(t.message)}}))},O.API)O.API.hasOwnProperty(Or)&&(\"events\"===Or&&O.API.events.length?function(t,e){var r,n,i;for(i=e.length-1;-1!==i;i--)r=e[i][0],n=e[i][1],t.subscribe.apply(t,[r].concat(\"function\"==typeof n?[n]:n))}(Rt,O.API.events):b[Or]=O.API[Or]);var Br=b.getPageWidth=function(t){return(qt[t=t||K].mediaBox.topRightX-qt[t].mediaBox.bottomLeftX)/xt},Mr=b.setPageWidth=function(t,e){qt[t].mediaBox.topRightX=e*xt+qt[t].mediaBox.bottomLeftX},Er=b.getPageHeight=function(t){return(qt[t=t||K].mediaBox.topRightY-qt[t].mediaBox.bottomLeftY)/xt},qr=b.setPageHeight=function(t,e){qt[t].mediaBox.topRightY=e*xt+qt[t].mediaBox.bottomLeftY};return b.internal={pdfEscape:Ie,getStyle:$e,getFont:ur,getFontSize:gt,getCharSpace:xr,getTextColor:Lr,getLineHeight:fr,getLineHeightFactor:pr,write:lt,getHorizontalCoordinate:gr,getVerticalCoordinate:mr,getCoordinateString:vr,getVerticalCoordinateString:br,collections:{},newObject:Yt,newAdditionalObject:Kt,newObjectDeferred:Jt,newObjectDeferredBegin:Xt,getFilters:ee,putStream:re,events:Rt,scaleFactor:xt,pageSize:{getWidth:function(){return Br(K)},setWidth:function(t){Mr(K,t)},getHeight:function(){return Er(K)},setHeight:function(t){qr(K,t)}},encryptionOptions:g,encryption:We,getEncryptor:Ge,output:He,getNumberOfPages:Be,pages:it,out:ct,f2:q,f3:R,getPageInfo:Ye,getPageInfoByObjId:Je,getCurrentPageInfo:Xe,getPDFVersion:w,Point:kr,Rectangle:Ir,Matrix:Ht,hasHotfix:Ve},Object.defineProperty(b.internal.pageSize,\"width\",{get:function(){return Br(K)},set:function(t){Mr(K,t)},enumerable:!0,configurable:!0}),Object.defineProperty(b.internal.pageSize,\"height\",{get:function(){return Er(K)},set:function(t){qr(K,t)},enumerable:!0,configurable:!0}),_e.call(b,ft),At=\"F1\",Ce(o,n),Rt.publish(\"initialized\"),b}P.prototype.lsbFirstWord=function(t){return String.fromCharCode(t>>0&255,t>>8&255,t>>16&255,t>>24&255)},P.prototype.toHexString=function(t){return t.split(\"\").map((function(t){return(\"0\"+(255&t.charCodeAt(0)).toString(16)).slice(-2)})).join(\"\")},P.prototype.hexToBytes=function(t){for(var e=[],r=0;r<t.length;r+=2)e.push(String.fromCharCode(parseInt(t.substr(r,2),16)));return e.join(\"\")},P.prototype.processOwnerPassword=function(t,e){return S(A(e).substr(0,5),t)},P.prototype.encryptor=function(t,e){let r=A(this.encryptionKey+String.fromCharCode(255&t,t>>8&255,t>>16&255,255&e,e>>8&255)).substr(0,10);return function(t){return S(r,t)}},I.prototype.equals=function(t){var e,r=\"id,objectNumber,equals\";if(!t||typeof t!=typeof this)return!1;var n=0;for(e in this)if(!(r.indexOf(e)>=0)){if(this.hasOwnProperty(e)&&!t.hasOwnProperty(e))return!1;if(this[e]!==t[e])return!1;n++}for(e in t)t.hasOwnProperty(e)&&r.indexOf(e)<0&&n--;return 0===n},O.API={events:[]},O.version=\"2.3.1\";var B=O.API,M=1,E=function(t){return t.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\(/g,\"\\\\(\").replace(/\\)/g,\"\\\\)\")},q=function(t){return t.replace(/\\\\\\\\/g,\"\\\\\").replace(/\\\\\\(/g,\"(\").replace(/\\\\\\)/g,\")\")},R=function(t){return t.toFixed(2)},T=function(t){return t.toFixed(5)};B.__acroform__={};var D=function(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t},U=function(t){return t*M},z=function(t){var e=new ot,r=wt.internal.getHeight(t)||0,n=wt.internal.getWidth(t)||0;return e.BBox=[0,0,Number(R(n)),Number(R(r))],e},H=B.__acroform__.setBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBit\");return t|=1<<e},V=B.__acroform__.clearBit=function(t,e){if(t=t||0,e=e||0,isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\");return t&=~(1<<e)},W=B.__acroform__.getBit=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBit\");return 0==(t&1<<e)?0:1},G=B.__acroform__.getBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\");return W(t,e-1)},Y=B.__acroform__.setBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\");return H(t,e-1)},J=B.__acroform__.clearBitForPdf=function(t,e){if(isNaN(t)||isNaN(e))throw new Error(\"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\");return V(t,e-1)},X=B.__acroform__.calculateCoordinates=function(t,e){var r=e.internal.getHorizontalCoordinate,n=e.internal.getVerticalCoordinate,i=t[0],a=t[1],o=t[2],s=t[3],u={};return u.lowerLeft_X=r(i)||0,u.lowerLeft_Y=n(a+s)||0,u.upperRight_X=r(i+o)||0,u.upperRight_Y=n(a)||0,[Number(R(u.lowerLeft_X)),Number(R(u.lowerLeft_Y)),Number(R(u.upperRight_X)),Number(R(u.upperRight_Y))]},K=function(t){if(t.appearanceStreamContent)return t.appearanceStreamContent;if(t.V||t.DV){var e=[],r=t._V||t.DV,n=Z(t,r),i=t.scope.internal.getFont(t.fontName,t.fontStyle).id;e.push(\"/Tx BMC\"),e.push(\"q\"),e.push(\"BT\"),e.push(t.scope.__private__.encodeColorString(t.color)),e.push(\"/\"+i+\" \"+R(n.fontSize)+\" Tf\"),e.push(\"1 0 0 1 0 0 Tm\"),e.push(n.text),e.push(\"ET\"),e.push(\"Q\"),e.push(\"EMC\");var a=z(t);return a.scope=t.scope,a.stream=e.join(\"\\n\"),a}},Z=function(t,e){var r=0===t.fontSize?t.maxFontSize:t.fontSize,n={text:\"\",fontSize:\"\"},i=(e=\")\"==(e=\"(\"==e.substr(0,1)?e.substr(1):e).substr(e.length-1)?e.substr(0,e.length-1):e).split(\" \"),a=r,o=wt.internal.getHeight(t)||0;o=o<0?-o:o;var s=wt.internal.getWidth(t)||0;s=s<0?-s:s;var u=function(e,r,n){if(e+1<i.length){var a=r+\" \"+i[e+1];return $(a,t,n).width<=s-4}return!1};a++;t:for(;a>0;){e=\"\",a--;var c,l,h=$(\"3\",t,a).height,f=t.multiline?o-a:(o-h)/2,d=f+=2,p=0,g=0;if(a<=0){e=\"(...) Tj\\n\",e+=\"% Width of Text: \"+$(e,t,a=12).width+\", FieldWidth:\"+s+\"\\n\";break}var m=\"\",v=0;for(var b in i)if(i.hasOwnProperty(b)){m=\" \"==(m+=i[b]+\" \").substr(m.length-1)?m.substr(0,m.length-1):m;var y=parseInt(b),w=u(y,m,a),N=b>=i.length-1;if(w&&!N){m+=\" \";continue}if(w||N){if(N)g=y;else if(t.multiline&&(h+2)*(v+2)+2>o)continue t}else{if(!t.multiline)continue t;if((h+2)*(v+2)+2>o)continue t;g=y}for(var L=\"\",A=p;A<=g;A++)L+=i[A]+\" \";switch(L=\" \"==L.substr(L.length-1)?L.substr(0,L.length-1):L,l=$(L,t,a).width,t.textAlign){case\"right\":c=s-l-2;break;case\"center\":c=(s-l)/2;break;case\"left\":default:c=2}e+=R(c)+\" \"+R(d)+\" Td\\n\",e+=\"(\"+E(L)+\") Tj\\n\",e+=-R(c)+\" 0 Td\\n\",d=-(a+2),l=0,p=g+1,v++,m=\"\"}else;break}return n.text=e,n.fontSize=a,n},$=function(t,e,r){var n=e.scope.internal.getFont(e.fontName,e.fontStyle),i=e.scope.getStringUnitWidth(t,{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r);return{height:e.scope.getStringUnitWidth(\"3\",{font:n,fontSize:parseFloat(r),charSpace:0})*parseFloat(r)*1.5,width:i}},Q={fields:[],xForms:[],acroFormDictionaryRoot:null,printedOut:!1,internal:null,isInitialized:!1},tt=function(t,e){var r={type:\"reference\",object:t};void 0===e.internal.getPageInfo(t.page).pageContext.annotations.find((function(t){return t.type===r.type&&t.object===r.object}))&&e.internal.getPageInfo(t.page).pageContext.annotations.push(r)},et=function(t,e){for(var r in t)if(t.hasOwnProperty(r)){var n=r,i=t[r];e.internal.newObjectDeferredBegin(i.objId,!0),\"object\"==typeof i&&\"function\"==typeof i.putStream&&i.putStream(),delete t[n]}},rt=function(t,e){if(e.scope=t,void 0!==t.internal&&(void 0===t.internal.acroformPlugin||!1===t.internal.acroformPlugin.isInitialized)){if(ut.FieldNum=0,t.internal.acroformPlugin=JSON.parse(JSON.stringify(Q)),t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"Exception while creating AcroformDictionary\");M=t.internal.scaleFactor,t.internal.acroformPlugin.acroFormDictionaryRoot=new st,t.internal.acroformPlugin.acroFormDictionaryRoot.scope=t,t.internal.acroformPlugin.acroFormDictionaryRoot._eventID=t.internal.events.subscribe(\"postPutResources\",(function(){!function(t){t.internal.events.unsubscribe(t.internal.acroformPlugin.acroFormDictionaryRoot._eventID),delete t.internal.acroformPlugin.acroFormDictionaryRoot._eventID,t.internal.acroformPlugin.printedOut=!0}(t)})),t.internal.events.subscribe(\"buildDocument\",(function(){!function(t){t.internal.acroformPlugin.acroFormDictionaryRoot.objId=void 0;var e=t.internal.acroformPlugin.acroFormDictionaryRoot.Fields;for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];n.objId=void 0,n.hasAnnotation&&tt(n,t)}}(t)})),t.internal.events.subscribe(\"putCatalog\",(function(){!function(t){if(void 0===t.internal.acroformPlugin.acroFormDictionaryRoot)throw new Error(\"putCatalogCallback: Root missing.\");t.internal.write(\"/AcroForm \"+t.internal.acroformPlugin.acroFormDictionaryRoot.objId+\" 0 R\")}(t)})),t.internal.events.subscribe(\"postPutPages\",(function(e){!function(t,e){var r=!t;for(var n in t||(e.internal.newObjectDeferredBegin(e.internal.acroformPlugin.acroFormDictionaryRoot.objId,!0),e.internal.acroformPlugin.acroFormDictionaryRoot.putStream()),t=t||e.internal.acroformPlugin.acroFormDictionaryRoot.Kids)if(t.hasOwnProperty(n)){var i=t[n],a=[],o=i.Rect;if(i.Rect&&(i.Rect=X(i.Rect,e)),e.internal.newObjectDeferredBegin(i.objId,!0),i.DA=wt.createDefaultAppearanceStream(i),\"object\"==typeof i&&\"function\"==typeof i.getKeyValueListForStream&&(a=i.getKeyValueListForStream()),i.Rect=o,i.hasAppearanceStream&&!i.appearanceStreamContent){var s=K(i);a.push({key:\"AP\",value:\"<</N \"+s+\">>\"}),e.internal.acroformPlugin.xForms.push(s)}if(i.appearanceStreamContent){var u=\"\";for(var c in i.appearanceStreamContent)if(i.appearanceStreamContent.hasOwnProperty(c)){var l=i.appearanceStreamContent[c];if(u+=\"/\"+c+\" \",u+=\"<<\",Object.keys(l).length>=1||Array.isArray(l)){for(var n in l)if(l.hasOwnProperty(n)){var h=l[n];\"function\"==typeof h&&(h=h.call(e,i)),u+=\"/\"+n+\" \"+h+\" \",e.internal.acroformPlugin.xForms.indexOf(h)>=0||e.internal.acroformPlugin.xForms.push(h)}}else\"function\"==typeof(h=l)&&(h=h.call(e,i)),u+=\"/\"+n+\" \"+h,e.internal.acroformPlugin.xForms.indexOf(h)>=0||e.internal.acroformPlugin.xForms.push(h);u+=\">>\"}a.push({key:\"AP\",value:\"<<\\n\"+u+\">>\"})}e.internal.putStream({additionalKeyValues:a,objectId:i.objId}),e.internal.out(\"endobj\")}r&&et(e.internal.acroformPlugin.xForms,e)}(e,t)})),t.internal.acroformPlugin.isInitialized=!0}},nt=B.__acroform__.arrayToPdfArray=function(t,e,r){var n=function(t){return t};if(Array.isArray(t)){for(var i=\"[\",a=0;a<t.length;a++)switch(0!==a&&(i+=\" \"),typeof t[a]){case\"boolean\":case\"number\":case\"object\":i+=t[a].toString();break;case\"string\":\"/\"!==t[a].substr(0,1)?(void 0!==e&&r&&(n=r.internal.getEncryptor(e)),i+=\"(\"+E(n(t[a].toString()))+\")\"):i+=t[a].toString()}return i+=\"]\"}throw new Error(\"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\")};var it=function(t,e,r){var n=function(t){return t};return void 0!==e&&r&&(n=r.internal.getEncryptor(e)),(t=t||\"\").toString(),t=\"(\"+E(n(t))+\")\"},at=function(){this._objId=void 0,this._scope=void 0,Object.defineProperty(this,\"objId\",{get:function(){if(void 0===this._objId){if(void 0===this.scope)return;this._objId=this.scope.internal.newObjectDeferred()}return this._objId},set:function(t){this._objId=t}}),Object.defineProperty(this,\"scope\",{value:this._scope,writable:!0})};at.prototype.toString=function(){return this.objId+\" 0 R\"},at.prototype.putStream=function(){var t=this.getKeyValueListForStream();this.scope.internal.putStream({data:this.stream,additionalKeyValues:t,objectId:this.objId}),this.scope.internal.out(\"endobj\")},at.prototype.getKeyValueListForStream=function(){var t=[],e=Object.getOwnPropertyNames(this).filter((function(t){return\"content\"!=t&&\"appearanceStreamContent\"!=t&&\"scope\"!=t&&\"objId\"!=t&&\"_\"!=t.substring(0,1)}));for(var r in e)if(!1===Object.getOwnPropertyDescriptor(this,e[r]).configurable){var n=e[r],i=this[n];i&&(Array.isArray(i)?t.push({key:n,value:nt(i,this.objId,this.scope)}):i instanceof at?(i.scope=this.scope,t.push({key:n,value:i.objId+\" 0 R\"})):\"function\"!=typeof i&&t.push({key:n,value:i}))}return t};var ot=function(){at.call(this),Object.defineProperty(this,\"Type\",{value:\"/XObject\",configurable:!1,writable:!0}),Object.defineProperty(this,\"Subtype\",{value:\"/Form\",configurable:!1,writable:!0}),Object.defineProperty(this,\"FormType\",{value:1,configurable:!1,writable:!0});var t,e=[];Object.defineProperty(this,\"BBox\",{configurable:!1,get:function(){return e},set:function(t){e=t}}),Object.defineProperty(this,\"Resources\",{value:\"2 0 R\",configurable:!1,writable:!0}),Object.defineProperty(this,\"stream\",{enumerable:!1,configurable:!0,set:function(e){t=e.trim()},get:function(){return t||null}})};D(ot,at);var st=function(){at.call(this);var t,e=[];Object.defineProperty(this,\"Kids\",{enumerable:!1,configurable:!0,get:function(){return e.length>0?e:void 0}}),Object.defineProperty(this,\"Fields\",{enumerable:!1,configurable:!1,get:function(){return e}}),Object.defineProperty(this,\"DA\",{enumerable:!1,configurable:!1,get:function(){if(t){var e=function(t){return t};return this.scope&&(e=this.scope.internal.getEncryptor(this.objId)),\"(\"+E(e(t))+\")\"}},set:function(e){t=e}})};D(st,at);var ut=function(){at.call(this);var t=4;Object.defineProperty(this,\"F\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){if(isNaN(e))throw new Error('Invalid value \"'+e+'\" for attribute F supplied.');t=e}}),Object.defineProperty(this,\"showWhenPrinted\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(t,3))},set:function(e){!0===Boolean(e)?this.F=Y(t,3):this.F=J(t,3)}});var e=0;Object.defineProperty(this,\"Ff\",{enumerable:!1,configurable:!1,get:function(){return e},set:function(t){if(isNaN(t))throw new Error('Invalid value \"'+t+'\" for attribute Ff supplied.');e=t}});var r=[];Object.defineProperty(this,\"Rect\",{enumerable:!1,configurable:!1,get:function(){if(0!==r.length)return r},set:function(t){r=void 0!==t?t:[]}}),Object.defineProperty(this,\"x\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[0])?0:r[0]},set:function(t){r[0]=t}}),Object.defineProperty(this,\"y\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[1])?0:r[1]},set:function(t){r[1]=t}}),Object.defineProperty(this,\"width\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[2])?0:r[2]},set:function(t){r[2]=t}}),Object.defineProperty(this,\"height\",{enumerable:!0,configurable:!0,get:function(){return!r||isNaN(r[3])?0:r[3]},set:function(t){r[3]=t}});var n=\"\";Object.defineProperty(this,\"FT\",{enumerable:!0,configurable:!1,get:function(){return n},set:function(t){switch(t){case\"/Btn\":case\"/Tx\":case\"/Ch\":case\"/Sig\":n=t;break;default:throw new Error('Invalid value \"'+t+'\" for attribute FT supplied.')}}});var i=null;Object.defineProperty(this,\"T\",{enumerable:!0,configurable:!1,get:function(){if(!i||i.length<1){if(this instanceof mt)return;i=\"FieldObject\"+ut.FieldNum++}var t=function(t){return t};return this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),\"(\"+E(t(i))+\")\"},set:function(t){i=t.toString()}}),Object.defineProperty(this,\"fieldName\",{configurable:!0,enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=\"helvetica\";Object.defineProperty(this,\"fontName\",{enumerable:!0,configurable:!0,get:function(){return a},set:function(t){a=t}});var o=\"normal\";Object.defineProperty(this,\"fontStyle\",{enumerable:!0,configurable:!0,get:function(){return o},set:function(t){o=t}});var s=0;Object.defineProperty(this,\"fontSize\",{enumerable:!0,configurable:!0,get:function(){return s},set:function(t){s=t}});var u=void 0;Object.defineProperty(this,\"maxFontSize\",{enumerable:!0,configurable:!0,get:function(){return void 0===u?50/M:u},set:function(t){u=t}});var c=\"black\";Object.defineProperty(this,\"color\",{enumerable:!0,configurable:!0,get:function(){return c},set:function(t){c=t}});var l=\"/F1 0 Tf 0 g\";Object.defineProperty(this,\"DA\",{enumerable:!0,configurable:!1,get:function(){if(!(!l||this instanceof mt||this instanceof bt))return it(l,this.objId,this.scope)},set:function(t){t=t.toString(),l=t}});var h=null;Object.defineProperty(this,\"DV\",{enumerable:!1,configurable:!1,get:function(){if(h)return this instanceof dt==!1?it(h,this.objId,this.scope):h},set:function(t){t=t.toString(),h=this instanceof dt==!1?\"(\"===t.substr(0,1)?q(t.substr(1,t.length-2)):q(t):t}}),Object.defineProperty(this,\"defaultValue\",{enumerable:!0,configurable:!0,get:function(){return this instanceof dt==!0?q(h.substr(1,h.length-1)):h},set:function(t){t=t.toString(),h=this instanceof dt==!0?\"/\"+t:t}});var f=null;Object.defineProperty(this,\"_V\",{enumerable:!1,configurable:!1,get:function(){if(f)return f},set:function(t){this.V=t}}),Object.defineProperty(this,\"V\",{enumerable:!1,configurable:!1,get:function(){if(f)return this instanceof dt==!1?it(f,this.objId,this.scope):f},set:function(t){t=t.toString(),f=this instanceof dt==!1?\"(\"===t.substr(0,1)?q(t.substr(1,t.length-2)):q(t):t}}),Object.defineProperty(this,\"value\",{enumerable:!0,configurable:!0,get:function(){return this instanceof dt==!0?q(f.substr(1,f.length-1)):f},set:function(t){t=t.toString(),f=this instanceof dt==!0?\"/\"+t:t}}),Object.defineProperty(this,\"hasAnnotation\",{enumerable:!0,configurable:!0,get:function(){return this.Rect}}),Object.defineProperty(this,\"Type\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Annot\":null}}),Object.defineProperty(this,\"Subtype\",{enumerable:!0,configurable:!1,get:function(){return this.hasAnnotation?\"/Widget\":null}});var d,p=!1;Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return p},set:function(t){t=Boolean(t),p=t}}),Object.defineProperty(this,\"page\",{enumerable:!0,configurable:!0,get:function(){if(d)return d},set:function(t){d=t}}),Object.defineProperty(this,\"readOnly\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,1))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,1):this.Ff=J(this.Ff,1)}}),Object.defineProperty(this,\"required\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,2))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,2):this.Ff=J(this.Ff,2)}}),Object.defineProperty(this,\"noExport\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,3))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,3):this.Ff=J(this.Ff,3)}});var g=null;Object.defineProperty(this,\"Q\",{enumerable:!0,configurable:!1,get:function(){if(null!==g)return g},set:function(t){if(-1===[0,1,2].indexOf(t))throw new Error('Invalid value \"'+t+'\" for attribute Q supplied.');g=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){var t;switch(g){case 0:default:t=\"left\";break;case 1:t=\"center\";break;case 2:t=\"right\"}return t},configurable:!0,enumerable:!0,set:function(t){switch(t){case\"right\":case 2:g=2;break;case\"center\":case 1:g=1;break;case\"left\":case 0:default:g=0}}})};D(ut,at);var ct=function(){ut.call(this),this.FT=\"/Ch\",this.V=\"()\",this.fontName=\"zapfdingbats\";var t=0;Object.defineProperty(this,\"TI\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"topIndex\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){t=e}});var e=[];Object.defineProperty(this,\"Opt\",{enumerable:!0,configurable:!1,get:function(){return nt(e,this.objId,this.scope)},set:function(t){var r,n;n=[],\"string\"==typeof(r=t)&&(n=function(t,e,r){r||(r=1);for(var n,i=[];n=e.exec(t);)i.push(n[r]);return i}(r,/\\((.*?)\\)/g)),e=n}}),this.getOptions=function(){return e},this.setOptions=function(t){e=t,this.sort&&e.sort()},this.addOption=function(t){t=(t=t||\"\").toString(),e.push(t),this.sort&&e.sort()},this.removeOption=function(t,r){for(r=r||!1,t=(t=t||\"\").toString();-1!==e.indexOf(t)&&(e.splice(e.indexOf(t),1),!1!==r););},Object.defineProperty(this,\"combo\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,18))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,18):this.Ff=J(this.Ff,18)}}),Object.defineProperty(this,\"edit\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,19))},set:function(t){!0===this.combo&&(!0===Boolean(t)?this.Ff=Y(this.Ff,19):this.Ff=J(this.Ff,19))}}),Object.defineProperty(this,\"sort\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,20))},set:function(t){!0===Boolean(t)?(this.Ff=Y(this.Ff,20),e.sort()):this.Ff=J(this.Ff,20)}}),Object.defineProperty(this,\"multiSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,22))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,22):this.Ff=J(this.Ff,22)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,23):this.Ff=J(this.Ff,23)}}),Object.defineProperty(this,\"commitOnSelChange\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,27))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,27):this.Ff=J(this.Ff,27)}}),this.hasAppearanceStream=!1};D(ct,ut);var lt=function(){ct.call(this),this.fontName=\"helvetica\",this.combo=!1};D(lt,ct);var ht=function(){lt.call(this),this.combo=!0};D(ht,lt);var ft=function(){ht.call(this),this.edit=!0};D(ft,ht);var dt=function(){ut.call(this),this.FT=\"/Btn\",Object.defineProperty(this,\"noToggleToOff\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,15))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,15):this.Ff=J(this.Ff,15)}}),Object.defineProperty(this,\"radio\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,16))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,16):this.Ff=J(this.Ff,16)}}),Object.defineProperty(this,\"pushButton\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,17))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,17):this.Ff=J(this.Ff,17)}}),Object.defineProperty(this,\"radioIsUnison\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,26):this.Ff=J(this.Ff,26)}});var t,e={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};if(this.scope&&(t=this.scope.internal.getEncryptor(this.objId)),0!==Object.keys(e).length){var r,n=[];for(r in n.push(\"<<\"),e)n.push(\"/\"+r+\" (\"+E(t(e[r]))+\")\");return n.push(\">>\"),n.join(\"\\n\")}},set:function(t){\"object\"==typeof t&&(e=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return e.CA||\"\"},set:function(t){\"string\"==typeof t&&(e.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return t.substr(1,t.length-1)},set:function(e){t=\"/\"+e}})};D(dt,ut);var pt=function(){dt.call(this),this.pushButton=!0};D(pt,dt);var gt=function(){dt.call(this),this.radio=!0,this.pushButton=!1;var t=[];Object.defineProperty(this,\"Kids\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=void 0!==e?e:[]}})};D(gt,dt);var mt=function(){var t,e;ut.call(this),Object.defineProperty(this,\"Parent\",{enumerable:!1,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"optionName\",{enumerable:!1,configurable:!0,get:function(){return e},set:function(t){e=t}});var r,n={};Object.defineProperty(this,\"MK\",{enumerable:!1,configurable:!1,get:function(){var t=function(t){return t};this.scope&&(t=this.scope.internal.getEncryptor(this.objId));var e,r=[];for(e in r.push(\"<<\"),n)r.push(\"/\"+e+\" (\"+E(t(n[e]))+\")\");return r.push(\">>\"),r.join(\"\\n\")},set:function(t){\"object\"==typeof t&&(n=t)}}),Object.defineProperty(this,\"caption\",{enumerable:!0,configurable:!0,get:function(){return n.CA||\"\"},set:function(t){\"string\"==typeof t&&(n.CA=t)}}),Object.defineProperty(this,\"AS\",{enumerable:!1,configurable:!1,get:function(){return r},set:function(t){r=t}}),Object.defineProperty(this,\"appearanceState\",{enumerable:!0,configurable:!0,get:function(){return r.substr(1,r.length-1)},set:function(t){r=\"/\"+t}}),this.caption=\"l\",this.appearanceState=\"Off\",this._AppearanceType=wt.RadioButton.Circle,this.appearanceStreamContent=this._AppearanceType.createAppearanceStream(this.optionName)};D(mt,ut),gt.prototype.setAppearance=function(t){if(!(\"createAppearanceStream\"in t)||!(\"getCA\"in t))throw new Error(\"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\");for(var e in this.Kids)if(this.Kids.hasOwnProperty(e)){var r=this.Kids[e];r.appearanceStreamContent=t.createAppearanceStream(r.optionName),r.caption=t.getCA()}},gt.prototype.createOption=function(t){var e=new mt;return e.Parent=this,e.optionName=t,this.Kids.push(e),Nt.call(this.scope,e),e};var vt=function(){dt.call(this),this.fontName=\"zapfdingbats\",this.caption=\"3\",this.appearanceState=\"On\",this.value=\"On\",this.textAlign=\"center\",this.appearanceStreamContent=wt.CheckBox.createAppearanceStream()};D(vt,dt);var bt=function(){ut.call(this),this.FT=\"/Tx\",Object.defineProperty(this,\"multiline\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,13))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,13):this.Ff=J(this.Ff,13)}}),Object.defineProperty(this,\"fileSelect\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,21))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,21):this.Ff=J(this.Ff,21)}}),Object.defineProperty(this,\"doNotSpellCheck\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,23))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,23):this.Ff=J(this.Ff,23)}}),Object.defineProperty(this,\"doNotScroll\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,24))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,24):this.Ff=J(this.Ff,24)}}),Object.defineProperty(this,\"comb\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,25))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,25):this.Ff=J(this.Ff,25)}}),Object.defineProperty(this,\"richText\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,26))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,26):this.Ff=J(this.Ff,26)}});var t=null;Object.defineProperty(this,\"MaxLen\",{enumerable:!0,configurable:!1,get:function(){return t},set:function(e){t=e}}),Object.defineProperty(this,\"maxLength\",{enumerable:!0,configurable:!0,get:function(){return t},set:function(e){Number.isInteger(e)&&(t=e)}}),Object.defineProperty(this,\"hasAppearanceStream\",{enumerable:!0,configurable:!0,get:function(){return this.V||this.DV}})};D(bt,ut);var yt=function(){bt.call(this),Object.defineProperty(this,\"password\",{enumerable:!0,configurable:!0,get:function(){return Boolean(G(this.Ff,14))},set:function(t){!0===Boolean(t)?this.Ff=Y(this.Ff,14):this.Ff=J(this.Ff,14)}}),this.password=!0};D(yt,bt);var wt={CheckBox:{createAppearanceStream:function(){return{N:{On:wt.CheckBox.YesNormal},D:{On:wt.CheckBox.YesPushDown,Off:wt.CheckBox.OffPushDown}}},YesPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[],n=t.scope.internal.getFont(t.fontName,t.fontStyle).id,i=t.scope.__private__.encodeColorString(t.color),a=Z(t,t.caption);return r.push(\"0.749023 g\"),r.push(\"0 0 \"+R(wt.internal.getWidth(t))+\" \"+R(wt.internal.getHeight(t))+\" re\"),r.push(\"f\"),r.push(\"BMC\"),r.push(\"q\"),r.push(\"0 0 1 rg\"),r.push(\"/\"+n+\" \"+R(a.fontSize)+\" Tf \"+i),r.push(\"BT\"),r.push(a.text),r.push(\"ET\"),r.push(\"Q\"),r.push(\"EMC\"),e.stream=r.join(\"\\n\"),e},YesNormal:function(t){var e=z(t);e.scope=t.scope;var r=t.scope.internal.getFont(t.fontName,t.fontStyle).id,n=t.scope.__private__.encodeColorString(t.color),i=[],a=wt.internal.getHeight(t),o=wt.internal.getWidth(t),s=Z(t,t.caption);return i.push(\"1 g\"),i.push(\"0 0 \"+R(o)+\" \"+R(a)+\" re\"),i.push(\"f\"),i.push(\"q\"),i.push(\"0 0 1 rg\"),i.push(\"0 0 \"+R(o-1)+\" \"+R(a-1)+\" re\"),i.push(\"W\"),i.push(\"n\"),i.push(\"0 g\"),i.push(\"BT\"),i.push(\"/\"+r+\" \"+R(s.fontSize)+\" Tf \"+n),i.push(s.text),i.push(\"ET\"),i.push(\"Q\"),e.stream=i.join(\"\\n\"),e},OffPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+R(wt.internal.getWidth(t))+\" \"+R(wt.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}},RadioButton:{Circle:{createAppearanceStream:function(t){var e={D:{Off:wt.RadioButton.Circle.OffPushDown},N:{}};return e.N[t]=wt.RadioButton.Circle.YesNormal,e.D[t]=wt.RadioButton.Circle.YesPushDown,e},getCA:function(){return\"l\"},YesNormal:function(t){var e=z(t);e.scope=t.scope;var r=[],n=wt.internal.getWidth(t)<=wt.internal.getHeight(t)?wt.internal.getWidth(t)/4:wt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=wt.internal.Bezier_C,a=Number((n*i).toFixed(5));return r.push(\"q\"),r.push(\"1 0 0 1 \"+T(wt.internal.getWidth(t)/2)+\" \"+T(wt.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+a+\" \"+a+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+a+\" \"+n+\" -\"+n+\" \"+a+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+a+\" -\"+a+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(a+\" -\"+n+\" \"+n+\" -\"+a+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[],n=wt.internal.getWidth(t)<=wt.internal.getHeight(t)?wt.internal.getWidth(t)/4:wt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*wt.internal.Bezier_C).toFixed(5)),o=Number((n*wt.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+T(wt.internal.getWidth(t)/2)+\" \"+T(wt.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),r.push(\"0 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+T(wt.internal.getWidth(t)/2)+\" \"+T(wt.internal.getHeight(t)/2)+\" cm\"),r.push(n+\" 0 m\"),r.push(n+\" \"+o+\" \"+o+\" \"+n+\" 0 \"+n+\" c\"),r.push(\"-\"+o+\" \"+n+\" -\"+n+\" \"+o+\" -\"+n+\" 0 c\"),r.push(\"-\"+n+\" -\"+o+\" -\"+o+\" -\"+n+\" 0 -\"+n+\" c\"),r.push(o+\" -\"+n+\" \"+n+\" -\"+o+\" \"+n+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},OffPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[],n=wt.internal.getWidth(t)<=wt.internal.getHeight(t)?wt.internal.getWidth(t)/4:wt.internal.getHeight(t)/4;n=Number((.9*n).toFixed(5));var i=Number((2*n).toFixed(5)),a=Number((i*wt.internal.Bezier_C).toFixed(5));return r.push(\"0.749023 g\"),r.push(\"q\"),r.push(\"1 0 0 1 \"+T(wt.internal.getWidth(t)/2)+\" \"+T(wt.internal.getHeight(t)/2)+\" cm\"),r.push(i+\" 0 m\"),r.push(i+\" \"+a+\" \"+a+\" \"+i+\" 0 \"+i+\" c\"),r.push(\"-\"+a+\" \"+i+\" -\"+i+\" \"+a+\" -\"+i+\" 0 c\"),r.push(\"-\"+i+\" -\"+a+\" -\"+a+\" -\"+i+\" 0 -\"+i+\" c\"),r.push(a+\" -\"+i+\" \"+i+\" -\"+a+\" \"+i+\" 0 c\"),r.push(\"f\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e}},Cross:{createAppearanceStream:function(t){var e={D:{Off:wt.RadioButton.Cross.OffPushDown},N:{}};return e.N[t]=wt.RadioButton.Cross.YesNormal,e.D[t]=wt.RadioButton.Cross.YesPushDown,e},getCA:function(){return\"8\"},YesNormal:function(t){var e=z(t);e.scope=t.scope;var r=[],n=wt.internal.calculateCross(t);return r.push(\"q\"),r.push(\"1 1 \"+R(wt.internal.getWidth(t)-2)+\" \"+R(wt.internal.getHeight(t)-2)+\" re\"),r.push(\"W\"),r.push(\"n\"),r.push(R(n.x1.x)+\" \"+R(n.x1.y)+\" m\"),r.push(R(n.x2.x)+\" \"+R(n.x2.y)+\" l\"),r.push(R(n.x4.x)+\" \"+R(n.x4.y)+\" m\"),r.push(R(n.x3.x)+\" \"+R(n.x3.y)+\" l\"),r.push(\"s\"),r.push(\"Q\"),e.stream=r.join(\"\\n\"),e},YesPushDown:function(t){var e=z(t);e.scope=t.scope;var r=wt.internal.calculateCross(t),n=[];return n.push(\"0.749023 g\"),n.push(\"0 0 \"+R(wt.internal.getWidth(t))+\" \"+R(wt.internal.getHeight(t))+\" re\"),n.push(\"f\"),n.push(\"q\"),n.push(\"1 1 \"+R(wt.internal.getWidth(t)-2)+\" \"+R(wt.internal.getHeight(t)-2)+\" re\"),n.push(\"W\"),n.push(\"n\"),n.push(R(r.x1.x)+\" \"+R(r.x1.y)+\" m\"),n.push(R(r.x2.x)+\" \"+R(r.x2.y)+\" l\"),n.push(R(r.x4.x)+\" \"+R(r.x4.y)+\" m\"),n.push(R(r.x3.x)+\" \"+R(r.x3.y)+\" l\"),n.push(\"s\"),n.push(\"Q\"),e.stream=n.join(\"\\n\"),e},OffPushDown:function(t){var e=z(t);e.scope=t.scope;var r=[];return r.push(\"0.749023 g\"),r.push(\"0 0 \"+R(wt.internal.getWidth(t))+\" \"+R(wt.internal.getHeight(t))+\" re\"),r.push(\"f\"),e.stream=r.join(\"\\n\"),e}}},createDefaultAppearanceStream:function(t){var e=t.scope.internal.getFont(t.fontName,t.fontStyle).id,r=t.scope.__private__.encodeColorString(t.color);return\"/\"+e+\" \"+t.fontSize+\" Tf \"+r}};wt.internal={Bezier_C:.551915024494,calculateCross:function(t){var e=wt.internal.getWidth(t),r=wt.internal.getHeight(t),n=Math.min(e,r);return{x1:{x:(e-n)/2,y:(r-n)/2+n},x2:{x:(e-n)/2+n,y:(r-n)/2},x3:{x:(e-n)/2,y:(r-n)/2},x4:{x:(e-n)/2+n,y:(r-n)/2+n}}}},wt.internal.getWidth=function(t){var e=0;return\"object\"==typeof t&&(e=U(t.Rect[2])),e},wt.internal.getHeight=function(t){var e=0;return\"object\"==typeof t&&(e=U(t.Rect[3])),e};var Nt=B.addField=function(t){if(rt(this,t),!(t instanceof ut))throw new Error(\"Invalid argument passed to jsPDF.addField.\");var e;return(e=t).scope.internal.acroformPlugin.printedOut&&(e.scope.internal.acroformPlugin.printedOut=!1,e.scope.internal.acroformPlugin.acroFormDictionaryRoot=null),e.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(e),t.page=t.scope.internal.getCurrentPageInfo().pageNumber,this};B.AcroFormChoiceField=ct,B.AcroFormListBox=lt,B.AcroFormComboBox=ht,B.AcroFormEditBox=ft,B.AcroFormButton=dt,B.AcroFormPushButton=pt,B.AcroFormRadioButton=gt,B.AcroFormCheckBox=vt,B.AcroFormTextField=bt,B.AcroFormPasswordField=yt,B.AcroFormAppearance=wt,B.AcroForm={ChoiceField:ct,ListBox:lt,ComboBox:ht,EditBox:ft,Button:dt,PushButton:pt,RadioButton:gt,CheckBox:vt,TextField:bt,PasswordField:yt,Appearance:wt},O.AcroForm={ChoiceField:ct,ListBox:lt,ComboBox:ht,EditBox:ft,Button:dt,PushButton:pt,RadioButton:gt,CheckBox:vt,TextField:bt,PasswordField:yt,Appearance:wt};var Lt=O.AcroForm;\n/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n *               2013 Chris Dowling, https://github.com/gingerchris\n *               2013 Trinh Ho, https://github.com/ineedfat\n *               2013 Edwin Alejandro Perez, https://github.com/eaparango\n *               2013 Norah Smith, https://github.com/burnburnrocket\n *               2014 Diego Casorran, https://github.com/diegocr\n *               2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */function At(t){return t.reduce((function(t,e,r){return t[e]=r,t}),{})}!function(t){t.__addimage__={};var e=\"UNKNOWN\",r={PNG:[[137,80,78,71]],TIFF:[[77,77,0,42],[73,73,42,0]],JPEG:[[255,216,255,224,void 0,void 0,74,70,73,70,0],[255,216,255,225,void 0,void 0,69,120,105,102,0,0],[255,216,255,219],[255,216,255,238]],JPEG2000:[[0,0,0,12,106,80,32,32]],GIF87a:[[71,73,70,56,55,97]],GIF89a:[[71,73,70,56,57,97]],WEBP:[[82,73,70,70,void 0,void 0,void 0,void 0,87,69,66,80]],BMP:[[66,77],[66,65],[67,73],[67,80],[73,67],[80,84]]},n=t.__addimage__.getImageFileTypeByImageData=function(t,n){var i,a;n=n||e;var o,s,u,c=e;if(x(t))for(u in r)for(o=r[u],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t[a]){s=!1;break}if(!0===s){c=u;break}}else for(u in r)for(o=r[u],i=0;i<o.length;i+=1){for(s=!0,a=0;a<o[i].length;a+=1)if(void 0!==o[i][a]&&o[i][a]!==t.charCodeAt(a)){s=!1;break}if(!0===s){c=u;break}}return c===e&&n!==e&&(c=n),c},i=function(t){for(var e=this.internal.write,r=this.internal.putStream,n=(0,this.internal.getFilters)();-1!==n.indexOf(\"FlateEncode\");)n.splice(n.indexOf(\"FlateEncode\"),1);t.objectId=this.internal.newObject();var a=[];if(a.push({key:\"Type\",value:\"/XObject\"}),a.push({key:\"Subtype\",value:\"/Image\"}),a.push({key:\"Width\",value:t.width}),a.push({key:\"Height\",value:t.height}),t.colorSpace===b.INDEXED?a.push({key:\"ColorSpace\",value:\"[/Indexed /DeviceRGB \"+(t.palette.length/3-1)+\" \"+(\"sMask\"in t&&void 0!==t.sMask?t.objectId+2:t.objectId+1)+\" 0 R]\"}):(a.push({key:\"ColorSpace\",value:\"/\"+t.colorSpace}),t.colorSpace===b.DEVICE_CMYK&&a.push({key:\"Decode\",value:\"[1 0 1 0 1 0 1 0]\"})),a.push({key:\"BitsPerComponent\",value:t.bitsPerComponent}),\"decodeParameters\"in t&&void 0!==t.decodeParameters&&a.push({key:\"DecodeParms\",value:\"<<\"+t.decodeParameters+\">>\"}),\"transparency\"in t&&Array.isArray(t.transparency)){for(var o=\"\",s=0,u=t.transparency.length;s<u;s++)o+=t.transparency[s]+\" \"+t.transparency[s]+\" \";a.push({key:\"Mask\",value:\"[\"+o+\"]\"})}void 0!==t.sMask&&a.push({key:\"SMask\",value:t.objectId+1+\" 0 R\"});var c=void 0!==t.filter?[\"/\"+t.filter]:void 0;if(r({data:t.data,additionalKeyValues:a,alreadyAppliedFilters:c,objectId:t.objectId}),e(\"endobj\"),\"sMask\"in t&&void 0!==t.sMask){var l=\"/Predictor \"+t.predictor+\" /Colors 1 /BitsPerComponent \"+t.bitsPerComponent+\" /Columns \"+t.width,h={width:t.width,height:t.height,colorSpace:\"DeviceGray\",bitsPerComponent:t.bitsPerComponent,decodeParameters:l,data:t.sMask};\"filter\"in t&&(h.filter=t.filter),i.call(this,h)}if(t.colorSpace===b.INDEXED){var f=this.internal.newObject();r({data:_(new Uint8Array(t.palette)),objectId:f}),e(\"endobj\")}},a=function(){var t=this.internal.collections.addImage_images;for(var e in t)i.call(this,t[e])},o=function(){var t,e=this.internal.collections.addImage_images,r=this.internal.write;for(var n in e)r(\"/I\"+(t=e[n]).index,t.objectId,\"0\",\"R\")},s=function(){this.internal.collections.addImage_images||(this.internal.collections.addImage_images={},this.internal.events.subscribe(\"putResources\",a),this.internal.events.subscribe(\"putXobjectDict\",o))},l=function(){var t=this.internal.collections.addImage_images;return s.call(this),t},h=function(){return Object.keys(this.internal.collections.addImage_images).length},f=function(e){return\"function\"==typeof t[\"process\"+e.toUpperCase()]},d=function(t){return\"object\"==typeof t&&1===t.nodeType},p=function(e,r){if(\"IMG\"===e.nodeName&&e.hasAttribute(\"src\")){var n=\"\"+e.getAttribute(\"src\");if(0===n.indexOf(\"data:image/\"))return u(unescape(n).split(\"base64,\").pop());var i=t.loadFile(n,!0);if(void 0!==i)return i}if(\"CANVAS\"===e.nodeName){var a;switch(r){case\"PNG\":a=\"image/png\";break;case\"WEBP\":a=\"image/webp\";break;case\"JPEG\":case\"JPG\":default:a=\"image/jpeg\"}return u(e.toDataURL(a,1).split(\"base64,\").pop())}},g=function(t){var e=this.internal.collections.addImage_images;if(e)for(var r in e)if(t===e[r].alias)return e[r]},m=function(t,e,r){return t||e||(t=-96,e=-96),t<0&&(t=-1*r.width*72/t/this.internal.scaleFactor),e<0&&(e=-1*r.height*72/e/this.internal.scaleFactor),0===t&&(t=e*r.width/r.height),0===e&&(e=t*r.height/r.width),[t,e]},v=function(t,e,r,n,i,a){var o=m.call(this,r,n,i),s=this.internal.getCoordinateString,u=this.internal.getVerticalCoordinateString,c=l.call(this);if(r=o[0],n=o[1],c[i.index]=i,a){a*=Math.PI/180;var h=Math.cos(a),f=Math.sin(a),d=function(t){return t.toFixed(4)},p=[d(h),d(f),d(-1*f),d(h),0,0,\"cm\"]}this.internal.write(\"q\"),a?(this.internal.write([1,\"0\",\"0\",1,s(t),u(e+n),\"cm\"].join(\" \")),this.internal.write(p.join(\" \")),this.internal.write([s(r),\"0\",\"0\",s(n),\"0\",\"0\",\"cm\"].join(\" \"))):this.internal.write([s(r),\"0\",\"0\",s(n),s(t),u(e+n),\"cm\"].join(\" \")),this.isAdvancedAPI()&&this.internal.write([1,0,0,-1,0,0,\"cm\"].join(\" \")),this.internal.write(\"/I\"+i.index+\" Do\"),this.internal.write(\"Q\")},b=t.color_spaces={DEVICE_RGB:\"DeviceRGB\",DEVICE_GRAY:\"DeviceGray\",DEVICE_CMYK:\"DeviceCMYK\",CAL_GREY:\"CalGray\",CAL_RGB:\"CalRGB\",LAB:\"Lab\",ICC_BASED:\"ICCBased\",INDEXED:\"Indexed\",PATTERN:\"Pattern\",SEPARATION:\"Separation\",DEVICE_N:\"DeviceN\"};t.decode={DCT_DECODE:\"DCTDecode\",FLATE_DECODE:\"FlateDecode\",LZW_DECODE:\"LZWDecode\",JPX_DECODE:\"JPXDecode\",JBIG2_DECODE:\"JBIG2Decode\",ASCII85_DECODE:\"ASCII85Decode\",ASCII_HEX_DECODE:\"ASCIIHexDecode\",RUN_LENGTH_DECODE:\"RunLengthDecode\",CCITT_FAX_DECODE:\"CCITTFaxDecode\"};var y=t.image_compression={NONE:\"NONE\",FAST:\"FAST\",MEDIUM:\"MEDIUM\",SLOW:\"SLOW\"},w=t.__addimage__.sHashCode=function(t){var e,r,n=0;if(\"string\"==typeof t)for(r=t.length,e=0;e<r;e++)n=(n<<5)-n+t.charCodeAt(e),n|=0;else if(x(t))for(r=t.byteLength/2,e=0;e<r;e++)n=(n<<5)-n+t[e],n|=0;return n},N=t.__addimage__.validateStringAsBase64=function(t){(t=t||\"\").toString().trim();var e=!0;return 0===t.length&&(e=!1),t.length%4!=0&&(e=!1),!1===/^[A-Za-z0-9+/]+$/.test(t.substr(0,t.length-2))&&(e=!1),!1===/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(t.substr(-2))&&(e=!1),e},L=t.__addimage__.extractImageFromDataUrl=function(t){var e=(t=t||\"\").split(\"base64,\"),r=null;if(2===e.length){var n=/^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(e[0]);Array.isArray(n)&&(r={mimeType:n[1],charset:n[2],data:e[1]})}return r},A=t.__addimage__.supportsArrayBuffer=function(){return\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array};t.__addimage__.isArrayBuffer=function(t){return A()&&t instanceof ArrayBuffer};var x=t.__addimage__.isArrayBufferView=function(t){return A()&&\"undefined\"!=typeof Uint32Array&&(t instanceof Int8Array||t instanceof Uint8Array||\"undefined\"!=typeof Uint8ClampedArray&&t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array||t instanceof Float64Array)},S=t.__addimage__.binaryStringToUint8Array=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r},_=t.__addimage__.arrayBufferToBinaryString=function(t){try{return u(c(String.fromCharCode.apply(null,t)))}catch(e){if(\"undefined\"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.reduce)return new Uint8Array(t).reduce((function(t,e){return t.push(String.fromCharCode(e)),t}),[]).join(\"\")}};t.addImage=function(){var t,r,n,i,a,o,u,c,l;if(\"number\"==typeof arguments[1]?(r=e,n=arguments[1],i=arguments[2],a=arguments[3],o=arguments[4],u=arguments[5],c=arguments[6],l=arguments[7]):(r=arguments[1],n=arguments[2],i=arguments[3],a=arguments[4],o=arguments[5],u=arguments[6],c=arguments[7],l=arguments[8]),\"object\"==typeof(t=arguments[0])&&!d(t)&&\"imageData\"in t){var h=t;t=h.imageData,r=h.format||r||e,n=h.x||n||0,i=h.y||i||0,a=h.w||h.width||a,o=h.h||h.height||o,u=h.alias||u,c=h.compression||c,l=h.rotation||h.angle||l}var f=this.internal.getFilters();if(void 0===c&&-1!==f.indexOf(\"FlateEncode\")&&(c=\"SLOW\"),isNaN(n)||isNaN(i))throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");s.call(this);var p=P.call(this,t,r,u,c);return v.call(this,n,i,a,o,p,l),this};var P=function(r,i,a,o){var s,u,c;if(\"string\"==typeof r&&n(r)===e){r=unescape(r);var l=k(r,!1);(\"\"!==l||void 0!==(l=t.loadFile(r,!0)))&&(r=l)}if(d(r)&&(r=p(r,i)),i=n(r,i),!f(i))throw new Error(\"addImage does not support files of type '\"+i+\"', please ensure that a plugin for '\"+i+\"' support is added.\");if((null==(c=a)||0===c.length)&&(a=function(t){return\"string\"==typeof t||x(t)?w(t):null}(r)),(s=g.call(this,a))||(A()&&(r instanceof Uint8Array||(u=r,r=S(r))),s=this[\"process\"+i.toUpperCase()](r,h.call(this),a,function(e){return e&&\"string\"==typeof e&&(e=e.toUpperCase()),e in t.image_compression?e:y.NONE}(o),u)),!s)throw new Error(\"An unknown error occurred whilst processing the image.\");return s},k=t.__addimage__.convertBase64ToBinaryString=function(t,e){var r;e=\"boolean\"!=typeof e||e;var n,i=\"\";if(\"string\"==typeof t){n=null!==(r=L(t))?r.data:t;try{i=u(n)}catch(t){if(e)throw N(n)?new Error(\"atob-Error in jsPDF.convertBase64ToBinaryString \"+t.message):new Error(\"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \")}}return i};t.getImageProperties=function(r){var i,a,o=\"\";if(d(r)&&(r=p(r)),\"string\"==typeof r&&n(r)===e&&(\"\"===(o=k(r,!1))&&(o=t.loadFile(r)||\"\"),r=o),a=n(r),!f(a))throw new Error(\"addImage does not support files of type '\"+a+\"', please ensure that a plugin for '\"+a+\"' support is added.\");if(!A()||r instanceof Uint8Array||(r=S(r)),!(i=this[\"process\"+a.toUpperCase()](r)))throw new Error(\"An unknown error occurred whilst processing the image\");return i.fileType=a,i}}(O.API),\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){if(void 0!==t&&\"\"!=t)return!0};O.API.events.push([\"addPage\",function(t){this.internal.getPageInfo(t.pageNumber).pageContext.annotations=[]}]),t.events.push([\"putPage\",function(t){for(var r,n,i,a=this.internal.getCoordinateString,o=this.internal.getVerticalCoordinateString,s=this.internal.getPageInfoByObjId(t.objId),u=t.pageContext.annotations,c=!1,l=0;l<u.length&&!c;l++)switch((r=u[l]).type){case\"link\":(e(r.options.url)||e(r.options.pageNumber))&&(c=!0);break;case\"reference\":case\"text\":case\"freetext\":c=!0}if(0!=c){this.internal.write(\"/Annots [\");for(var h=0;h<u.length;h++){r=u[h];var f=this.internal.pdfEscape,d=this.internal.getEncryptor(t.objId);switch(r.type){case\"reference\":this.internal.write(\" \"+r.object.objId+\" 0 R \");break;case\"text\":var p=this.internal.newAdditionalObject(),g=this.internal.newAdditionalObject(),m=this.internal.getEncryptor(p.objId),v=r.title||\"Note\";i=\"<</Type /Annot /Subtype /Text \"+(n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y)+\"] \")+\"/Contents (\"+f(m(r.contents))+\")\",i+=\" /Popup \"+g.objId+\" 0 R\",i+=\" /P \"+s.objId+\" 0 R\",i+=\" /T (\"+f(m(v))+\") >>\",p.content=i;var b=p.objId+\" 0 R\";i=\"<</Type /Annot /Subtype /Popup \"+(n=\"/Rect [\"+a(r.bounds.x+30)+\" \"+o(r.bounds.y+r.bounds.h)+\" \"+a(r.bounds.x+r.bounds.w+30)+\" \"+o(r.bounds.y)+\"] \")+\" /Parent \"+b,r.open&&(i+=\" /Open true\"),i+=\" >>\",g.content=i,this.internal.write(p.objId,\"0 R\",g.objId,\"0 R\");break;case\"freetext\":n=\"/Rect [\"+a(r.bounds.x)+\" \"+o(r.bounds.y)+\" \"+a(r.bounds.x+r.bounds.w)+\" \"+o(r.bounds.y+r.bounds.h)+\"] \";var y=r.color||\"#000000\";i=\"<</Type /Annot /Subtype /FreeText \"+n+\"/Contents (\"+f(d(r.contents))+\")\",i+=\" /DS(font: Helvetica,sans-serif 12.0pt; text-align:left; color:#\"+y+\")\",i+=\" /Border [0 0 0]\",i+=\" >>\",this.internal.write(i);break;case\"link\":if(r.options.name){var w=this.annotations._nameMap[r.options.name];r.options.pageNumber=w.page,r.options.top=w.y}else r.options.top||(r.options.top=0);if(n=\"/Rect [\"+r.finalBounds.x+\" \"+r.finalBounds.y+\" \"+r.finalBounds.w+\" \"+r.finalBounds.h+\"] \",i=\"\",r.options.url)i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /A <</S /URI /URI (\"+f(d(r.options.url))+\") >>\";else if(r.options.pageNumber){switch(i=\"<</Type /Annot /Subtype /Link \"+n+\"/Border [0 0 0] /Dest [\"+this.internal.getPageInfo(r.options.pageNumber).objId+\" 0 R\",r.options.magFactor=r.options.magFactor||\"XYZ\",r.options.magFactor){case\"Fit\":i+=\" /Fit]\";break;case\"FitH\":i+=\" /FitH \"+r.options.top+\"]\";break;case\"FitV\":r.options.left=r.options.left||0,i+=\" /FitV \"+r.options.left+\"]\";break;case\"XYZ\":default:var N=o(r.options.top);r.options.left=r.options.left||0,void 0===r.options.zoom&&(r.options.zoom=0),i+=\" /XYZ \"+r.options.left+\" \"+N+\" \"+r.options.zoom+\"]\"}}\"\"!=i&&(i+=\" >>\",this.internal.write(i))}}this.internal.write(\"]\")}}]),t.createAnnotation=function(t){var e=this.internal.getCurrentPageInfo();switch(t.type){case\"link\":this.link(t.bounds.x,t.bounds.y,t.bounds.w,t.bounds.h,t);break;case\"text\":case\"freetext\":e.pageContext.annotations.push(t)}},t.link=function(t,e,r,n,i){var a=this.internal.getCurrentPageInfo(),o=this.internal.getCoordinateString,s=this.internal.getVerticalCoordinateString;a.pageContext.annotations.push({finalBounds:{x:o(t),y:s(e),w:o(t+r),h:s(e+n)},options:i,type:\"link\"})},t.textWithLink=function(t,e,r,n){var i=this.getTextWidth(t),a=this.internal.getLineHeight()/this.internal.scaleFactor;return this.text(t,e,r,n),r+=.2*a,\"center\"===n.align&&(e-=i/2),\"right\"===n.align&&(e-=i),this.link(e,r-a,i,a,n),i},t.getTextWidth=function(t){var e=this.internal.getFontSize();return this.getStringUnitWidth(t)*e/this.internal.scaleFactor}}(O.API),\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e={1569:[65152],1570:[65153,65154],1571:[65155,65156],1572:[65157,65158],1573:[65159,65160],1574:[65161,65162,65163,65164],1575:[65165,65166],1576:[65167,65168,65169,65170],1577:[65171,65172],1578:[65173,65174,65175,65176],1579:[65177,65178,65179,65180],1580:[65181,65182,65183,65184],1581:[65185,65186,65187,65188],1582:[65189,65190,65191,65192],1583:[65193,65194],1584:[65195,65196],1585:[65197,65198],1586:[65199,65200],1587:[65201,65202,65203,65204],1588:[65205,65206,65207,65208],1589:[65209,65210,65211,65212],1590:[65213,65214,65215,65216],1591:[65217,65218,65219,65220],1592:[65221,65222,65223,65224],1593:[65225,65226,65227,65228],1594:[65229,65230,65231,65232],1601:[65233,65234,65235,65236],1602:[65237,65238,65239,65240],1603:[65241,65242,65243,65244],1604:[65245,65246,65247,65248],1605:[65249,65250,65251,65252],1606:[65253,65254,65255,65256],1607:[65257,65258,65259,65260],1608:[65261,65262],1609:[65263,65264,64488,64489],1610:[65265,65266,65267,65268],1649:[64336,64337],1655:[64477],1657:[64358,64359,64360,64361],1658:[64350,64351,64352,64353],1659:[64338,64339,64340,64341],1662:[64342,64343,64344,64345],1663:[64354,64355,64356,64357],1664:[64346,64347,64348,64349],1667:[64374,64375,64376,64377],1668:[64370,64371,64372,64373],1670:[64378,64379,64380,64381],1671:[64382,64383,64384,64385],1672:[64392,64393],1676:[64388,64389],1677:[64386,64387],1678:[64390,64391],1681:[64396,64397],1688:[64394,64395],1700:[64362,64363,64364,64365],1702:[64366,64367,64368,64369],1705:[64398,64399,64400,64401],1709:[64467,64468,64469,64470],1711:[64402,64403,64404,64405],1713:[64410,64411,64412,64413],1715:[64406,64407,64408,64409],1722:[64414,64415],1723:[64416,64417,64418,64419],1726:[64426,64427,64428,64429],1728:[64420,64421],1729:[64422,64423,64424,64425],1733:[64480,64481],1734:[64473,64474],1735:[64471,64472],1736:[64475,64476],1737:[64482,64483],1739:[64478,64479],1740:[64508,64509,64510,64511],1744:[64484,64485,64486,64487],1746:[64430,64431],1747:[64432,64433]},r={65247:{65154:65269,65156:65271,65160:65273,65166:65275},65248:{65154:65270,65156:65272,65160:65274,65166:65276},65165:{65247:{65248:{65258:65010}}},1617:{1612:64606,1613:64607,1614:64608,1615:64609,1616:64610}},n={1612:64606,1613:64607,1614:64608,1615:64609,1616:64610},i=[1570,1571,1573,1575];t.__arabicParser__={};var a=t.__arabicParser__.isInArabicSubstitutionA=function(t){return void 0!==e[t.charCodeAt(0)]},o=t.__arabicParser__.isArabicLetter=function(t){return\"string\"==typeof t&&/^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(t)},s=t.__arabicParser__.isArabicEndLetter=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length<=2},u=t.__arabicParser__.isArabicAlfLetter=function(t){return o(t)&&i.indexOf(t.charCodeAt(0))>=0};t.__arabicParser__.arabicLetterHasIsolatedForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=1};var c=t.__arabicParser__.arabicLetterHasFinalForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=2};t.__arabicParser__.arabicLetterHasInitialForm=function(t){return o(t)&&a(t)&&e[t.charCodeAt(0)].length>=3};var l=t.__arabicParser__.arabicLetterHasMedialForm=function(t){return o(t)&&a(t)&&4==e[t.charCodeAt(0)].length},h=t.__arabicParser__.resolveLigatures=function(t){var e=0,n=r,i=\"\",a=0;for(e=0;e<t.length;e+=1)void 0!==n[t.charCodeAt(e)]?(a++,\"number\"==typeof(n=n[t.charCodeAt(e)])&&(i+=String.fromCharCode(n),n=r,a=0),e===t.length-1&&(n=r,i+=t.charAt(e-(a-1)),e-=a-1,a=0)):(n=r,i+=t.charAt(e-a),e-=a,a=0);return i};t.__arabicParser__.isArabicDiacritic=function(t){return void 0!==t&&void 0!==n[t.charCodeAt(0)]};var f=t.__arabicParser__.getCorrectForm=function(t,e,r){return o(t)?!1===a(t)?-1:!c(t)||!o(e)&&!o(r)||!o(r)&&s(e)||s(t)&&!o(e)||s(t)&&u(e)||s(t)&&s(e)?0:l(t)&&o(e)&&!s(e)&&o(r)&&c(r)?3:s(t)||!o(r)?1:2:-1},d=function(t){var r=0,n=0,i=0,a=\"\",s=\"\",u=\"\",c=(t=t||\"\").split(\"\\\\s+\"),l=[];for(r=0;r<c.length;r+=1){for(l.push(\"\"),n=0;n<c[r].length;n+=1)a=c[r][n],s=c[r][n-1],u=c[r][n+1],o(a)?(i=f(a,s,u),l[r]+=-1!==i?String.fromCharCode(e[a.charCodeAt(0)][i]):a):l[r]+=a;l[r]=h(l[r])}return l.join(\" \")},p=t.__arabicParser__.processArabic=t.processArabic=function(){var t,e=\"string\"==typeof arguments[0]?arguments[0]:arguments[0].text,r=[];if(Array.isArray(e)){var n=0;for(r=[],n=0;n<e.length;n+=1)Array.isArray(e[n])?r.push([d(e[n][0]),e[n][1],e[n][2]]):r.push([d(e[n])]);t=r}else t=d(e);return\"string\"==typeof arguments[0]?t:(arguments[0].text=t,arguments[0])};t.events.push([\"preProcessText\",p])}(O.API),O.API.autoPrint=function(t){var e;switch((t=t||{}).variant=t.variant||\"non-conform\",t.variant){case\"javascript\":this.addJS(\"print({});\");break;case\"non-conform\":default:this.internal.events.subscribe(\"postPutResources\",(function(){e=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /Named\"),this.internal.out(\"/Type /Action\"),this.internal.out(\"/N /Print\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.out(\"/OpenAction \"+e+\" 0 R\")}))}return this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){var t=void 0;Object.defineProperty(this,\"pdf\",{get:function(){return t},set:function(e){t=e}});var e=150;Object.defineProperty(this,\"width\",{get:function(){return e},set:function(t){e=isNaN(t)||!1===Number.isInteger(t)||t<0?150:t,this.getContext(\"2d\").pageWrapXEnabled&&(this.getContext(\"2d\").pageWrapX=e+1)}});var r=300;Object.defineProperty(this,\"height\",{get:function(){return r},set:function(t){r=isNaN(t)||!1===Number.isInteger(t)||t<0?300:t,this.getContext(\"2d\").pageWrapYEnabled&&(this.getContext(\"2d\").pageWrapY=r+1)}});var n=[];Object.defineProperty(this,\"childNodes\",{get:function(){return n},set:function(t){n=t}});var i={};Object.defineProperty(this,\"style\",{get:function(){return i},set:function(t){i=t}}),Object.defineProperty(this,\"parentNode\",{})};e.prototype.getContext=function(t,e){var r;if(\"2d\"!==(t=t||\"2d\"))return null;for(r in e)this.pdf.context2d.hasOwnProperty(r)&&(this.pdf.context2d[r]=e[r]);return this.pdf.context2d._canvas=this,this.pdf.context2d},e.prototype.toDataURL=function(){throw new Error(\"toDataURL is not implemented.\")},t.events.push([\"initialized\",function(){this.canvas=new e,this.canvas.pdf=this}])}(O.API),\n/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *               2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *               2013 Lee Driscoll, https://github.com/lsdriscoll\n *               2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n *               2014 James Hall, james@parall.ax\n *               2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e={left:0,top:0,bottom:0,right:0},r=!1,n=function(){void 0===this.internal.__cell__&&(this.internal.__cell__={},this.internal.__cell__.padding=3,this.internal.__cell__.headerFunction=void 0,this.internal.__cell__.margins=Object.assign({},e),this.internal.__cell__.margins.width=this.getPageWidth(),i.call(this))},i=function(){this.internal.__cell__.lastCell=new a,this.internal.__cell__.pages=1},a=function(){var t=arguments[0];Object.defineProperty(this,\"x\",{enumerable:!0,get:function(){return t},set:function(e){t=e}});var e=arguments[1];Object.defineProperty(this,\"y\",{enumerable:!0,get:function(){return e},set:function(t){e=t}});var r=arguments[2];Object.defineProperty(this,\"width\",{enumerable:!0,get:function(){return r},set:function(t){r=t}});var n=arguments[3];Object.defineProperty(this,\"height\",{enumerable:!0,get:function(){return n},set:function(t){n=t}});var i=arguments[4];Object.defineProperty(this,\"text\",{enumerable:!0,get:function(){return i},set:function(t){i=t}});var a=arguments[5];Object.defineProperty(this,\"lineNumber\",{enumerable:!0,get:function(){return a},set:function(t){a=t}});var o=arguments[6];return Object.defineProperty(this,\"align\",{enumerable:!0,get:function(){return o},set:function(t){o=t}}),this};a.prototype.clone=function(){return new a(this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align)},a.prototype.toArray=function(){return[this.x,this.y,this.width,this.height,this.text,this.lineNumber,this.align]},t.setHeaderFunction=function(t){return n.call(this),this.internal.__cell__.headerFunction=\"function\"==typeof t?t:void 0,this},t.getTextDimensions=function(t,e){n.call(this);var r=(e=e||{}).fontSize||this.getFontSize(),i=e.font||this.getFont(),a=e.scaleFactor||this.internal.scaleFactor,o=0,s=0,u=0,c=this;if(!Array.isArray(t)&&\"string\"!=typeof t){if(\"number\"!=typeof t)throw new Error(\"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\");t=String(t)}const l=e.maxWidth;l>0?\"string\"==typeof t?t=this.splitTextToSize(t,l):\"[object Array]\"===Object.prototype.toString.call(t)&&(t=t.reduce((function(t,e){return t.concat(c.splitTextToSize(e,l))}),[])):t=Array.isArray(t)?t:[t];for(var h=0;h<t.length;h++)o<(u=this.getStringUnitWidth(t[h],{font:i})*r)&&(o=u);return 0!==o&&(s=t.length),{w:o/=a,h:Math.max((s*r*this.getLineHeightFactor()-r*(this.getLineHeightFactor()-1))/a,0)}},t.cellAddPage=function(){n.call(this),this.addPage();var t=this.internal.__cell__.margins||e;return this.internal.__cell__.lastCell=new a(t.left,t.top,void 0,void 0),this.internal.__cell__.pages+=1,this};var o=t.cell=function(){var t;t=arguments[0]instanceof a?arguments[0]:new a(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5]),n.call(this);var i=this.internal.__cell__.lastCell,o=this.internal.__cell__.padding,s=this.internal.__cell__.margins||e,u=this.internal.__cell__.tableHeaderRow,c=this.internal.__cell__.printHeaders;return void 0!==i.lineNumber&&(i.lineNumber===t.lineNumber?(t.x=(i.x||0)+(i.width||0),t.y=i.y||0):i.y+i.height+t.height+s.bottom>this.getPageHeight()?(this.cellAddPage(),t.y=s.top,c&&u&&(this.printHeaderRow(t.lineNumber,!0),t.y+=u[0].height)):t.y=i.y+i.height||t.y),void 0!==t.text[0]&&(this.rect(t.x,t.y,t.width,t.height,!0===r?\"FD\":void 0),\"right\"===t.align?this.text(t.text,t.x+t.width-o,t.y+o,{align:\"right\",baseline:\"top\"}):\"center\"===t.align?this.text(t.text,t.x+t.width/2,t.y+o,{align:\"center\",baseline:\"top\",maxWidth:t.width-o-o}):this.text(t.text,t.x+o,t.y+o,{align:\"left\",baseline:\"top\",maxWidth:t.width-o-o})),this.internal.__cell__.lastCell=t,this};t.table=function(t,r,u,c,l){if(n.call(this),!u)throw new Error(\"No data for PDF table.\");var h,f,d,p,g=[],m=[],v=[],b={},y={},w=[],N=[],L=(l=l||{}).autoSize||!1,A=!1!==l.printHeaders,x=l.css&&void 0!==l.css[\"font-size\"]?16*l.css[\"font-size\"]:l.fontSize||12,S=l.margins||Object.assign({width:this.getPageWidth()},e),_=\"number\"==typeof l.padding?l.padding:3,P=l.headerBackgroundColor||\"#c8c8c8\";if(i.call(this),this.internal.__cell__.printHeaders=A,this.internal.__cell__.margins=S,this.internal.__cell__.table_font_size=x,this.internal.__cell__.padding=_,this.internal.__cell__.headerBackgroundColor=P,this.setFontSize(x),null==c)m=g=Object.keys(u[0]),v=g.map((function(){return\"left\"}));else if(Array.isArray(c)&&\"object\"==typeof c[0])for(g=c.map((function(t){return t.name})),m=c.map((function(t){return t.prompt||t.name||\"\"})),v=c.map((function(t){return t.align||\"left\"})),h=0;h<c.length;h+=1)y[c[h].name]=c[h].width*(19.049976/25.4);else Array.isArray(c)&&\"string\"==typeof c[0]&&(m=g=c,v=g.map((function(){return\"left\"})));if(L||Array.isArray(c)&&\"string\"==typeof c[0])for(h=0;h<g.length;h+=1){for(b[p=g[h]]=u.map((function(t){return t[p]})),this.setFont(void 0,\"bold\"),w.push(this.getTextDimensions(m[h],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w),f=b[p],this.setFont(void 0,\"normal\"),d=0;d<f.length;d+=1)w.push(this.getTextDimensions(f[d],{fontSize:this.internal.__cell__.table_font_size,scaleFactor:this.internal.scaleFactor}).w);y[p]=Math.max.apply(null,w)+_+_,w=[]}if(A){var k={};for(h=0;h<g.length;h+=1)k[g[h]]={},k[g[h]].text=m[h],k[g[h]].align=v[h];var I=s.call(this,k,y);N=g.map((function(e){return new a(t,r,y[e],I,k[e].text,void 0,k[e].align)})),this.setTableHeaderRow(N),this.printHeaderRow(1,!1)}var F=c.reduce((function(t,e){return t[e.name]=e.align,t}),{});for(h=0;h<u.length;h+=1){var C=s.call(this,u[h],y);for(d=0;d<g.length;d+=1)o.call(this,new a(t,r,y[g[d]],C,u[h][g[d]],h+2,F[g[d]]))}return this.internal.__cell__.table_x=t,this.internal.__cell__.table_y=r,this};var s=function(t,e){var r=this.internal.__cell__.padding,n=this.internal.__cell__.table_font_size,i=this.internal.scaleFactor;return Object.keys(t).map((function(n){var i=t[n];return this.splitTextToSize(i.hasOwnProperty(\"text\")?i.text:i,e[n]-r-r)}),this).map((function(t){return this.getLineHeightFactor()*t.length*n/i+r+r}),this).reduce((function(t,e){return Math.max(t,e)}),0)};t.setTableHeaderRow=function(t){n.call(this),this.internal.__cell__.tableHeaderRow=t},t.printHeaderRow=function(t,e){if(n.call(this),!this.internal.__cell__.tableHeaderRow)throw new Error(\"Property tableHeaderRow does not exist.\");var i;if(r=!0,\"function\"==typeof this.internal.__cell__.headerFunction){var s=this.internal.__cell__.headerFunction(this,this.internal.__cell__.pages);this.internal.__cell__.lastCell=new a(s[0],s[1],s[2],s[3],void 0,-1)}this.setFont(void 0,\"bold\");for(var u=[],c=0;c<this.internal.__cell__.tableHeaderRow.length;c+=1)i=this.internal.__cell__.tableHeaderRow[c].clone(),e&&(i.y=this.internal.__cell__.margins.top||0,u.push(i)),i.lineNumber=t,this.setFillColor(this.internal.__cell__.headerBackgroundColor),o.call(this,i);u.length>0&&this.setTableHeaderRow(u),this.setFont(void 0,\"normal\"),r=!1}}(O.API);var xt={italic:[\"italic\",\"oblique\",\"normal\"],oblique:[\"oblique\",\"italic\",\"normal\"],normal:[\"normal\",\"oblique\",\"italic\"]},St=[\"ultra-condensed\",\"extra-condensed\",\"condensed\",\"semi-condensed\",\"normal\",\"semi-expanded\",\"expanded\",\"extra-expanded\",\"ultra-expanded\"],_t=At(St),Pt=[100,200,300,400,500,600,700,800,900],kt=At(Pt);function It(t){var e=t.family.replace(/\"|'/g,\"\").toLowerCase(),r=function(t){return xt[t=t||\"normal\"]?t:\"normal\"}(t.style),n=function(t){if(!t)return 400;if(\"number\"==typeof t)return t>=100&&t<=900&&t%100==0?t:400;if(/^\\d00$/.test(t))return parseInt(t);switch(t){case\"bold\":return 700;case\"normal\":default:return 400}}(t.weight),i=function(t){return\"number\"==typeof _t[t=t||\"normal\"]?t:\"normal\"}(t.stretch);return{family:e,style:r,weight:n,stretch:i,src:t.src||[],ref:t.ref||{name:e,style:[i,r,n].join(\" \")}}}function Ft(t,e,r,n){var i;for(i=r;i>=0&&i<e.length;i+=n)if(t[e[i]])return t[e[i]];for(i=r;i>=0&&i<e.length;i-=n)if(t[e[i]])return t[e[i]]}var Ct={\"sans-serif\":\"helvetica\",fixed:\"courier\",monospace:\"courier\",terminal:\"courier\",cursive:\"times\",fantasy:\"times\",serif:\"times\"},jt={caption:\"times\",icon:\"times\",menu:\"times\",\"message-box\":\"times\",\"small-caption\":\"times\",\"status-bar\":\"times\"};function Ot(t){return[t.stretch,t.style,t.weight,t.family].join(\" \")}function Bt(t,e,r){for(var n=(r=r||{}).defaultFontFamily||\"times\",i=Object.assign({},Ct,r.genericFontFamilies||{}),a=null,o=null,s=0;s<e.length;++s)if(i[(a=It(e[s])).family]&&(a.family=i[a.family]),t.hasOwnProperty(a.family)){o=t[a.family];break}if(!(o=o||t[n]))throw new Error(\"Could not find a font-family for the rule '\"+Ot(a)+\"' and default family '\"+n+\"'.\");if(o=function(t,e){if(e[t])return e[t];var r=_t[t],n=r<=_t.normal?-1:1,i=Ft(e,St,r,n);if(!i)throw new Error(\"Could not find a matching font-stretch value for \"+t);return i}(a.stretch,o),o=function(t,e){if(e[t])return e[t];for(var r=xt[t],n=0;n<r.length;++n)if(e[r[n]])return e[r[n]];throw new Error(\"Could not find a matching font-style for \"+t)}(a.style,o),!(o=function(t,e){if(e[t])return e[t];if(400===t&&e[500])return e[500];if(500===t&&e[400])return e[400];var r=kt[t],n=Ft(e,Pt,r,t<400?-1:1);if(!n)throw new Error(\"Could not find a matching font-weight for value \"+t);return n}(a.weight,o)))throw new Error(\"Failed to resolve a font for the rule '\"+Ot(a)+\"'.\");return o}function Mt(t){return t.trimLeft()}function Et(t,e){for(var r=0;r<t.length;){if(t.charAt(r)===e)return[t.substring(0,r),t.substring(r+1)];r+=1}return null}function qt(t){var e=t.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);return null===e?null:[e[0],t.substring(e[0].length)]}var Rt,Tt,Dt,Ut=[\"times\"];!function(t){var e,r,n,a,o,s,u,c,l,f=function(t){return t=t||{},this.isStrokeTransparent=t.isStrokeTransparent||!1,this.strokeOpacity=t.strokeOpacity||1,this.strokeStyle=t.strokeStyle||\"#000000\",this.fillStyle=t.fillStyle||\"#000000\",this.isFillTransparent=t.isFillTransparent||!1,this.fillOpacity=t.fillOpacity||1,this.font=t.font||\"10px sans-serif\",this.textBaseline=t.textBaseline||\"alphabetic\",this.textAlign=t.textAlign||\"left\",this.lineWidth=t.lineWidth||1,this.lineJoin=t.lineJoin||\"miter\",this.lineCap=t.lineCap||\"butt\",this.path=t.path||[],this.transform=void 0!==t.transform?t.transform.clone():new c,this.globalCompositeOperation=t.globalCompositeOperation||\"normal\",this.globalAlpha=t.globalAlpha||1,this.clip_path=t.clip_path||[],this.currentPoint=t.currentPoint||new s,this.miterLimit=t.miterLimit||10,this.lastPoint=t.lastPoint||new s,this.ignoreClearRect=\"boolean\"!=typeof t.ignoreClearRect||t.ignoreClearRect,this};t.events.push([\"initialized\",function(){this.context2d=new d(this),e=this.internal.f2,r=this.internal.getCoordinateString,n=this.internal.getVerticalCoordinateString,a=this.internal.getHorizontalCoordinate,o=this.internal.getVerticalCoordinate,s=this.internal.Point,u=this.internal.Rectangle,c=this.internal.Matrix,l=new f}]);var d=function(t){Object.defineProperty(this,\"canvas\",{get:function(){return{parentNode:!1,style:!1}}});var e=t;Object.defineProperty(this,\"pdf\",{get:function(){return e}});var r=!1;Object.defineProperty(this,\"pageWrapXEnabled\",{get:function(){return r},set:function(t){r=Boolean(t)}});var n=!1;Object.defineProperty(this,\"pageWrapYEnabled\",{get:function(){return n},set:function(t){n=Boolean(t)}});var i=0;Object.defineProperty(this,\"posX\",{get:function(){return i},set:function(t){isNaN(t)||(i=t)}});var a=0;Object.defineProperty(this,\"posY\",{get:function(){return a},set:function(t){isNaN(t)||(a=t)}});var o=!1;Object.defineProperty(this,\"autoPaging\",{get:function(){return o},set:function(t){o=Boolean(t)}});var s=0;Object.defineProperty(this,\"lastBreak\",{get:function(){return s},set:function(t){s=t}});var u=[];Object.defineProperty(this,\"pageBreaks\",{get:function(){return u},set:function(t){u=t}}),Object.defineProperty(this,\"ctx\",{get:function(){return l},set:function(t){t instanceof f&&(l=t)}}),Object.defineProperty(this,\"path\",{get:function(){return l.path},set:function(t){l.path=t}});var c=[];Object.defineProperty(this,\"ctxStack\",{get:function(){return c},set:function(t){c=t}}),Object.defineProperty(this,\"fillStyle\",{get:function(){return this.ctx.fillStyle},set:function(t){var e;e=p(t),this.ctx.fillStyle=e.style,this.ctx.isFillTransparent=0===e.a,this.ctx.fillOpacity=e.a,this.pdf.setFillColor(e.r,e.g,e.b,{a:e.a}),this.pdf.setTextColor(e.r,e.g,e.b,{a:e.a})}}),Object.defineProperty(this,\"strokeStyle\",{get:function(){return this.ctx.strokeStyle},set:function(t){var e=p(t);this.ctx.strokeStyle=e.style,this.ctx.isStrokeTransparent=0===e.a,this.ctx.strokeOpacity=e.a,0===e.a?this.pdf.setDrawColor(255,255,255):(e.a,this.pdf.setDrawColor(e.r,e.g,e.b))}}),Object.defineProperty(this,\"lineCap\",{get:function(){return this.ctx.lineCap},set:function(t){-1!==[\"butt\",\"round\",\"square\"].indexOf(t)&&(this.ctx.lineCap=t,this.pdf.setLineCap(t))}}),Object.defineProperty(this,\"lineWidth\",{get:function(){return this.ctx.lineWidth},set:function(t){isNaN(t)||(this.ctx.lineWidth=t,this.pdf.setLineWidth(t))}}),Object.defineProperty(this,\"lineJoin\",{get:function(){return this.ctx.lineJoin},set:function(t){-1!==[\"bevel\",\"round\",\"miter\"].indexOf(t)&&(this.ctx.lineJoin=t,this.pdf.setLineJoin(t))}}),Object.defineProperty(this,\"miterLimit\",{get:function(){return this.ctx.miterLimit},set:function(t){isNaN(t)||(this.ctx.miterLimit=t,this.pdf.setMiterLimit(t))}}),Object.defineProperty(this,\"textBaseline\",{get:function(){return this.ctx.textBaseline},set:function(t){this.ctx.textBaseline=t}}),Object.defineProperty(this,\"textAlign\",{get:function(){return this.ctx.textAlign},set:function(t){-1!==[\"right\",\"end\",\"center\",\"left\",\"start\"].indexOf(t)&&(this.ctx.textAlign=t)}});var h=null;function d(t,e){if(null===h){var r=function(t){var e=[];return Object.keys(t).forEach((function(r){t[r].forEach((function(t){var n=null;switch(t){case\"bold\":n={family:r,weight:\"bold\"};break;case\"italic\":n={family:r,style:\"italic\"};break;case\"bolditalic\":n={family:r,weight:\"bold\",style:\"italic\"};break;case\"\":case\"normal\":n={family:r}}null!==n&&(n.ref={name:r,style:t},e.push(n))}))})),e}(t.getFontList());h=function(t){for(var e={},r=0;r<t.length;++r){var n=It(t[r]),i=n.family,a=n.stretch,o=n.style,s=n.weight;e[i]=e[i]||{},e[i][a]=e[i][a]||{},e[i][a][o]=e[i][a][o]||{},e[i][a][o][s]=n}return e}(r.concat(e))}return h}var g=null;Object.defineProperty(this,\"fontFaces\",{get:function(){return g},set:function(t){h=null,g=t}}),Object.defineProperty(this,\"font\",{get:function(){return this.ctx.font},set:function(t){var e;if(this.ctx.font=t,null!==(e=/^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i.exec(t))){var r=e[1],n=(e[2],e[3]),i=e[4],a=(e[5],e[6]),o=/^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i.exec(i)[2];i=\"px\"===o?Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor):\"em\"===o?Math.floor(parseFloat(i)*this.pdf.getFontSize()):Math.floor(parseFloat(i)*this.pdf.internal.scaleFactor),this.pdf.setFontSize(i);var s=function(t){var e,r,n=[],i=t.trim();if(\"\"===i)return Ut;if(i in jt)return[jt[i]];for(;\"\"!==i;){switch(r=null,e=(i=Mt(i)).charAt(0)){case'\"':case\"'\":r=Et(i.substring(1),e);break;default:r=qt(i)}if(null===r)return Ut;if(n.push(r[0]),\"\"!==(i=Mt(r[1]))&&\",\"!==i.charAt(0))return Ut;i=i.replace(/^,/,\"\")}return n}(a);if(this.fontFaces){var u=Bt(d(this.pdf,this.fontFaces),s.map((function(t){return{family:t,stretch:\"normal\",weight:n,style:r}})));this.pdf.setFont(u.ref.name,u.ref.style)}else{var c=\"\";(\"bold\"===n||parseInt(n,10)>=700||\"bold\"===r)&&(c=\"bold\"),\"italic\"===r&&(c+=\"italic\"),0===c.length&&(c=\"normal\");for(var l=\"\",h={arial:\"Helvetica\",Arial:\"Helvetica\",verdana:\"Helvetica\",Verdana:\"Helvetica\",helvetica:\"Helvetica\",Helvetica:\"Helvetica\",\"sans-serif\":\"Helvetica\",fixed:\"Courier\",monospace:\"Courier\",terminal:\"Courier\",cursive:\"Times\",fantasy:\"Times\",serif:\"Times\"},f=0;f<s.length;f++){if(void 0!==this.pdf.internal.getFont(s[f],c,{noFallback:!0,disableWarning:!0})){l=s[f];break}if(\"bolditalic\"===c&&void 0!==this.pdf.internal.getFont(s[f],\"bold\",{noFallback:!0,disableWarning:!0}))l=s[f],c=\"bold\";else if(void 0!==this.pdf.internal.getFont(s[f],\"normal\",{noFallback:!0,disableWarning:!0})){l=s[f],c=\"normal\";break}}if(\"\"===l)for(var p=0;p<s.length;p++)if(h[s[p]]){l=h[s[p]];break}l=\"\"===l?\"Times\":l,this.pdf.setFont(l,c)}}}}),Object.defineProperty(this,\"globalCompositeOperation\",{get:function(){return this.ctx.globalCompositeOperation},set:function(t){this.ctx.globalCompositeOperation=t}}),Object.defineProperty(this,\"globalAlpha\",{get:function(){return this.ctx.globalAlpha},set:function(t){this.ctx.globalAlpha=t}}),Object.defineProperty(this,\"ignoreClearRect\",{get:function(){return this.ctx.ignoreClearRect},set:function(t){this.ctx.ignoreClearRect=Boolean(t)}})};d.prototype.fill=function(){N.call(this,\"fill\",!1)},d.prototype.stroke=function(){N.call(this,\"stroke\",!1)},d.prototype.beginPath=function(){this.path=[{type:\"begin\"}]},d.prototype.moveTo=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.moveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");var r=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"mt\",x:r.x,y:r.y}),this.ctx.lastPoint=new s(t,e)},d.prototype.closePath=function(){var t=new s(0,0),e=0;for(e=this.path.length-1;-1!==e;e--)if(\"begin\"===this.path[e].type&&\"object\"==typeof this.path[e+1]&&\"number\"==typeof this.path[e+1].x){t=new s(this.path[e+1].x,this.path[e+1].y),this.path.push({type:\"lt\",x:t.x,y:t.y});break}\"object\"==typeof this.path[e+2]&&\"number\"==typeof this.path[e+2].x&&this.path.push(JSON.parse(JSON.stringify(this.path[e+2]))),this.path.push({type:\"close\"}),this.ctx.lastPoint=new s(t.x,t.y)},d.prototype.lineTo=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.lineTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");var r=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"lt\",x:r.x,y:r.y}),this.ctx.lastPoint=new s(r.x,r.y)},d.prototype.clip=function(){this.ctx.clip_path=JSON.parse(JSON.stringify(this.path)),N.call(this,null,!0)},d.prototype.quadraticCurveTo=function(t,e,r,n){if(isNaN(r)||isNaN(n)||isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\");var a=this.ctx.transform.applyToPoint(new s(r,n)),o=this.ctx.transform.applyToPoint(new s(t,e));this.path.push({type:\"qct\",x1:o.x,y1:o.y,x:a.x,y:a.y}),this.ctx.lastPoint=new s(a.x,a.y)},d.prototype.bezierCurveTo=function(t,e,r,n,a,o){if(isNaN(a)||isNaN(o)||isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.bezierCurveTo: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\");var u=this.ctx.transform.applyToPoint(new s(a,o)),c=this.ctx.transform.applyToPoint(new s(t,e)),l=this.ctx.transform.applyToPoint(new s(r,n));this.path.push({type:\"bct\",x1:c.x,y1:c.y,x2:l.x,y2:l.y,x:u.x,y:u.y}),this.ctx.lastPoint=new s(u.x,u.y)},d.prototype.arc=function(t,e,r,n,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(a))throw i.error(\"jsPDF.context2d.arc: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");if(o=Boolean(o),!this.ctx.transform.isIdentity){var u=this.ctx.transform.applyToPoint(new s(t,e));t=u.x,e=u.y;var c=this.ctx.transform.applyToPoint(new s(0,r)),l=this.ctx.transform.applyToPoint(new s(0,0));r=Math.sqrt(Math.pow(c.x-l.x,2)+Math.pow(c.y-l.y,2))}Math.abs(a-n)>=2*Math.PI&&(n=0,a=2*Math.PI),this.path.push({type:\"arc\",x:t,y:e,radius:r,startAngle:n,endAngle:a,counterclockwise:o})},d.prototype.arcTo=function(t,e,r,n,i){throw new Error(\"arcTo not implemented.\")},d.prototype.rect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.rect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");this.moveTo(t,e),this.lineTo(t+r,e),this.lineTo(t+r,e+n),this.lineTo(t,e+n),this.lineTo(t,e),this.lineTo(t+r,e),this.lineTo(t,e)},d.prototype.fillRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.fillRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");if(!g.call(this)){var a={};\"butt\"!==this.lineCap&&(a.lineCap=this.lineCap,this.lineCap=\"butt\"),\"miter\"!==this.lineJoin&&(a.lineJoin=this.lineJoin,this.lineJoin=\"miter\"),this.beginPath(),this.rect(t,e,r,n),this.fill(),a.hasOwnProperty(\"lineCap\")&&(this.lineCap=a.lineCap),a.hasOwnProperty(\"lineJoin\")&&(this.lineJoin=a.lineJoin)}},d.prototype.strokeRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.strokeRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");m.call(this)||(this.beginPath(),this.rect(t,e,r,n),this.stroke())},d.prototype.clearRect=function(t,e,r,n){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n))throw i.error(\"jsPDF.context2d.clearRect: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");this.ignoreClearRect||(this.fillStyle=\"#ffffff\",this.fillRect(t,e,r,n))},d.prototype.save=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"q\");if(this.pdf.setPage(e),t){this.ctx.fontSize=this.pdf.internal.getFontSize();var n=new f(this.ctx);this.ctxStack.push(this.ctx),this.ctx=n}},d.prototype.restore=function(t){t=\"boolean\"!=typeof t||t;for(var e=this.pdf.internal.getCurrentPageInfo().pageNumber,r=0;r<this.pdf.internal.getNumberOfPages();r++)this.pdf.setPage(r+1),this.pdf.internal.out(\"Q\");this.pdf.setPage(e),t&&0!==this.ctxStack.length&&(this.ctx=this.ctxStack.pop(),this.fillStyle=this.ctx.fillStyle,this.strokeStyle=this.ctx.strokeStyle,this.font=this.ctx.font,this.lineCap=this.ctx.lineCap,this.lineWidth=this.ctx.lineWidth,this.lineJoin=this.ctx.lineJoin)},d.prototype.toDataURL=function(){throw new Error(\"toDataUrl not implemented.\")};var p=function(t){var e,r,n,i;if(!0===t.isCanvasGradient&&(t=t.getColor()),!t)return{r:0,g:0,b:0,a:0,style:t};if(/transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/.test(t))e=0,r=0,n=0,i=0;else{var a=/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/.exec(t);if(null!==a)e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=1;else if(null!==(a=/rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/.exec(t)))e=parseInt(a[1]),r=parseInt(a[2]),n=parseInt(a[3]),i=parseFloat(a[4]);else{if(i=1,\"string\"==typeof t&&\"#\"!==t.charAt(0)){var o=new h(t);t=o.ok?o.toHex():\"#000000\"}4===t.length?(e=t.substring(1,2),e+=e,r=t.substring(2,3),r+=r,n=t.substring(3,4),n+=n):(e=t.substring(1,3),r=t.substring(3,5),n=t.substring(5,7)),e=parseInt(e,16),r=parseInt(r,16),n=parseInt(n,16)}}return{r:e,g:r,b:n,a:i,style:t}},g=function(){return this.ctx.isFillTransparent||0==this.globalAlpha},m=function(){return Boolean(this.ctx.isStrokeTransparent||0==this.globalAlpha)};d.prototype.fillText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.fillText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");if(n=isNaN(n)?void 0:n,!g.call(this)){r=A.call(this,r);var a=B(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;k.call(this,{text:t,x:e,y:r,scale:o,angle:a,align:this.textAlign,maxWidth:n})}},d.prototype.strokeText=function(t,e,r,n){if(isNaN(e)||isNaN(r)||\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.strokeText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");if(!m.call(this)){n=isNaN(n)?void 0:n,r=A.call(this,r);var a=B(this.ctx.transform.rotation),o=this.ctx.transform.scaleX;k.call(this,{text:t,x:e,y:r,scale:o,renderingMode:\"stroke\",angle:a,align:this.textAlign,maxWidth:n})}},d.prototype.measureText=function(t){if(\"string\"!=typeof t)throw i.error(\"jsPDF.context2d.measureText: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.measureText\");var e=this.pdf,r=this.pdf.internal.scaleFactor,n=e.internal.getFontSize(),a=e.getStringUnitWidth(t)*n/e.internal.scaleFactor,o=function(t){var e=(t=t||{}).width||0;return Object.defineProperty(this,\"width\",{get:function(){return e}}),this};return new o({width:a*=Math.round(96*r/72*1e4)/1e4})},d.prototype.scale=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.scale: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");var r=new c(t,0,0,e,0,0);this.ctx.transform=this.ctx.transform.multiply(r)},d.prototype.rotate=function(t){if(isNaN(t))throw i.error(\"jsPDF.context2d.rotate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");var e=new c(Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0);this.ctx.transform=this.ctx.transform.multiply(e)},d.prototype.translate=function(t,e){if(isNaN(t)||isNaN(e))throw i.error(\"jsPDF.context2d.translate: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");var r=new c(1,0,0,1,t,e);this.ctx.transform=this.ctx.transform.multiply(r)},d.prototype.transform=function(t,e,r,n,a,o){if(isNaN(t)||isNaN(e)||isNaN(r)||isNaN(n)||isNaN(a)||isNaN(o))throw i.error(\"jsPDF.context2d.transform: Invalid arguments\",arguments),new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");var s=new c(t,e,r,n,a,o);this.ctx.transform=this.ctx.transform.multiply(s)},d.prototype.setTransform=function(t,e,r,n,i,a){t=isNaN(t)?1:t,e=isNaN(e)?0:e,r=isNaN(r)?0:r,n=isNaN(n)?1:n,i=isNaN(i)?0:i,a=isNaN(a)?0:a,this.ctx.transform=new c(t,e,r,n,i,a)},d.prototype.drawImage=function(t,e,r,n,i,a,o,s,l){var h=this.pdf.getImageProperties(t),f=1,d=1,p=1,g=1;void 0!==n&&void 0!==s&&(p=s/n,g=l/i,f=h.width/n*s/n,d=h.height/i*l/i),void 0===a&&(a=e,o=r,e=0,r=0),void 0!==n&&void 0===s&&(s=n,l=i),void 0===n&&void 0===s&&(s=h.width,l=h.height);for(var m,b=this.ctx.transform.decompose(),N=B(b.rotate.shx),A=new c,x=(A=(A=(A=A.multiply(b.translate)).multiply(b.skew)).multiply(b.scale)).applyToRectangle(new u(a-e*p,o-r*g,n*f,i*d)),S=v.call(this,x),_=[],P=0;P<S.length;P+=1)-1===_.indexOf(S[P])&&_.push(S[P]);if(w(_),this.autoPaging)for(var k=_[0],I=_[_.length-1],F=k;F<I+1;F++){if(this.pdf.setPage(F),0!==this.ctx.clip_path.length){var C=this.path;m=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=y(m,this.posX,-1*this.pdf.internal.pageSize.height*(F-1)+this.posY),L.call(this,\"fill\",!0),this.path=C}var j=JSON.parse(JSON.stringify(x));j=y([j],this.posX,-1*this.pdf.internal.pageSize.height*(F-1)+this.posY)[0],this.pdf.addImage(t,\"JPEG\",j.x,j.y,j.w,j.h,null,null,N)}else this.pdf.addImage(t,\"JPEG\",x.x,x.y,x.w,x.h,null,null,N)};var v=function(t,e,r){var n=[];switch(e=e||this.pdf.internal.pageSize.width,r=r||this.pdf.internal.pageSize.height,t.type){default:case\"mt\":case\"lt\":n.push(Math.floor((t.y+this.posY)/r)+1);break;case\"arc\":n.push(Math.floor((t.y+this.posY-t.radius)/r)+1),n.push(Math.floor((t.y+this.posY+t.radius)/r)+1);break;case\"qct\":var i=M(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x,t.y);n.push(Math.floor(i.y/r)+1),n.push(Math.floor((i.y+i.h)/r)+1);break;case\"bct\":var a=E(this.ctx.lastPoint.x,this.ctx.lastPoint.y,t.x1,t.y1,t.x2,t.y2,t.x,t.y);n.push(Math.floor(a.y/r)+1),n.push(Math.floor((a.y+a.h)/r)+1);break;case\"rect\":n.push(Math.floor((t.y+this.posY)/r)+1),n.push(Math.floor((t.y+t.h+this.posY)/r)+1)}for(var o=0;o<n.length;o+=1)for(;this.pdf.internal.getNumberOfPages()<n[o];)b.call(this);return n},b=function(){var t=this.fillStyle,e=this.strokeStyle,r=this.font,n=this.lineCap,i=this.lineWidth,a=this.lineJoin;this.pdf.addPage(),this.fillStyle=t,this.strokeStyle=e,this.font=r,this.lineCap=n,this.lineWidth=i,this.lineJoin=a},y=function(t,e,r){for(var n=0;n<t.length;n++)switch(t[n].type){case\"bct\":t[n].x2+=e,t[n].y2+=r;case\"qct\":t[n].x1+=e,t[n].y1+=r;case\"mt\":case\"lt\":case\"arc\":default:t[n].x+=e,t[n].y+=r}return t},w=function(t){return t.sort((function(t,e){return t-e}))},N=function(t,e){for(var r,n,i=this.fillStyle,a=this.strokeStyle,o=this.lineCap,s=this.lineWidth,u=s*this.ctx.transform.scaleX,c=this.lineJoin,l=JSON.parse(JSON.stringify(this.path)),h=JSON.parse(JSON.stringify(this.path)),f=[],d=0;d<h.length;d++)if(void 0!==h[d].x)for(var p=v.call(this,h[d]),g=0;g<p.length;g+=1)-1===f.indexOf(p[g])&&f.push(p[g]);for(var m=0;m<f.length;m++)for(;this.pdf.internal.getNumberOfPages()<f[m];)b.call(this);if(w(f),this.autoPaging)for(var N=f[0],A=f[f.length-1],x=N;x<A+1;x++){if(this.pdf.setPage(x),this.fillStyle=i,this.strokeStyle=a,this.lineCap=o,this.lineWidth=u,this.lineJoin=c,0!==this.ctx.clip_path.length){var S=this.path;r=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=y(r,this.posX,-1*this.pdf.internal.pageSize.height*(x-1)+this.posY),L.call(this,t,!0),this.path=S}n=JSON.parse(JSON.stringify(l)),this.path=y(n,this.posX,-1*this.pdf.internal.pageSize.height*(x-1)+this.posY),!1!==e&&0!==x||L.call(this,t,e),this.lineWidth=s}else this.lineWidth=u,L.call(this,t,e),this.lineWidth=s;this.path=l},L=function(t,e){if((\"stroke\"!==t||e||!m.call(this))&&(\"stroke\"===t||e||!g.call(this))){for(var r,n,i=[],a=this.path,o=0;o<a.length;o++){var s=a[o];switch(s.type){case\"begin\":i.push({begin:!0});break;case\"close\":i.push({close:!0});break;case\"mt\":i.push({start:s,deltas:[],abs:[]});break;case\"lt\":var u=i.length;if(!isNaN(a[o-1].x)&&(r=[s.x-a[o-1].x,s.y-a[o-1].y],u>0))for(;u>=0;u--)if(!0!==i[u-1].close&&!0!==i[u-1].begin){i[u-1].deltas.push(r),i[u-1].abs.push(s);break}break;case\"bct\":r=[s.x1-a[o-1].x,s.y1-a[o-1].y,s.x2-a[o-1].x,s.y2-a[o-1].y,s.x-a[o-1].x,s.y-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"qct\":var c=a[o-1].x+2/3*(s.x1-a[o-1].x),l=a[o-1].y+2/3*(s.y1-a[o-1].y),h=s.x+2/3*(s.x1-s.x),f=s.y+2/3*(s.y1-s.y),d=s.x,p=s.y;r=[c-a[o-1].x,l-a[o-1].y,h-a[o-1].x,f-a[o-1].y,d-a[o-1].x,p-a[o-1].y],i[i.length-1].deltas.push(r);break;case\"arc\":i.push({deltas:[],abs:[],arc:!0}),Array.isArray(i[i.length-1].abs)&&i[i.length-1].abs.push(s)}}n=e?null:\"stroke\"===t?\"stroke\":\"fill\";for(var v=0;v<i.length;v++){if(i[v].arc){for(var b=i[v].abs,y=0;y<b.length;y++){var w=b[y];\"arc\"===w.type?x.call(this,w.x,w.y,w.radius,w.startAngle,w.endAngle,w.counterclockwise,void 0,e):I.call(this,w.x,w.y)}S.call(this,n),this.pdf.internal.out(\"h\")}if(!i[v].arc&&!0!==i[v].close&&!0!==i[v].begin){var N=i[v].start.x,L=i[v].start.y;F.call(this,i[v].deltas,N,L)}}n&&S.call(this,n),e&&_.call(this)}},A=function(t){var e=this.pdf.internal.getFontSize()/this.pdf.internal.scaleFactor,r=e*(this.pdf.internal.getLineHeightFactor()-1);switch(this.ctx.textBaseline){case\"bottom\":return t-r;case\"top\":return t+e-r;case\"hanging\":return t+e-2*r;case\"middle\":return t+e/2-r;case\"ideographic\":return t;case\"alphabetic\":default:return t}};d.prototype.createLinearGradient=function(){var t=function(){};return t.colorStops=[],t.addColorStop=function(t,e){this.colorStops.push([t,e])},t.getColor=function(){return 0===this.colorStops.length?\"#000000\":this.colorStops[0][1]},t.isCanvasGradient=!0,t},d.prototype.createPattern=function(){return this.createLinearGradient()},d.prototype.createRadialGradient=function(){return this.createLinearGradient()};var x=function(t,e,r,n,i,a,o,s){for(var u=j.call(this,r,n,i,a),c=0;c<u.length;c++){var l=u[c];0===c&&P.call(this,l.x1+t,l.y1+e),C.call(this,t,e,l.x2,l.y2,l.x3,l.y3,l.x4,l.y4)}s?_.call(this):S.call(this,o)},S=function(t){switch(t){case\"stroke\":this.pdf.internal.out(\"S\");break;case\"fill\":this.pdf.internal.out(\"f\")}},_=function(){this.pdf.clip(),this.pdf.discardPath()},P=function(t,e){this.pdf.internal.out(r(t)+\" \"+n(e)+\" m\")},k=function(t){var e;switch(t.align){case\"right\":case\"end\":e=\"right\";break;case\"center\":e=\"center\";break;case\"left\":case\"start\":default:e=\"left\"}var r=this.ctx.transform.applyToPoint(new s(t.x,t.y)),n=this.ctx.transform.decompose(),i=new c;i=(i=(i=i.multiply(n.translate)).multiply(n.skew)).multiply(n.scale);for(var a,o,l,h=this.pdf.getTextDimensions(t.text),f=this.ctx.transform.applyToRectangle(new u(t.x,t.y,h.w,h.h)),d=i.applyToRectangle(new u(t.x,t.y-h.h,h.w,h.h)),p=v.call(this,d),g=[],m=0;m<p.length;m+=1)-1===g.indexOf(p[m])&&g.push(p[m]);if(w(g),!0===this.autoPaging)for(var b=g[0],N=g[g.length-1],A=b;A<N+1;A++){if(this.pdf.setPage(A),0!==this.ctx.clip_path.length){var x=this.path;a=JSON.parse(JSON.stringify(this.ctx.clip_path)),this.path=y(a,this.posX,-1*this.pdf.internal.pageSize.height*(A-1)+this.posY),L.call(this,\"fill\",!0),this.path=x}var S=JSON.parse(JSON.stringify(f));S=y([S],this.posX,-1*this.pdf.internal.pageSize.height*(A-1)+this.posY)[0],t.scale>=.01&&(o=this.pdf.internal.getFontSize(),this.pdf.setFontSize(o*t.scale),l=this.lineWidth,this.lineWidth=l*t.scale),this.pdf.text(t.text,S.x,S.y,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(o),this.lineWidth=l)}else t.scale>=.01&&(o=this.pdf.internal.getFontSize(),this.pdf.setFontSize(o*t.scale),l=this.lineWidth,this.lineWidth=l*t.scale),this.pdf.text(t.text,r.x+this.posX,r.y+this.posY,{angle:t.angle,align:e,renderingMode:t.renderingMode,maxWidth:t.maxWidth}),t.scale>=.01&&(this.pdf.setFontSize(o),this.lineWidth=l)},I=function(t,e,i,a){i=i||0,a=a||0,this.pdf.internal.out(r(t+i)+\" \"+n(e+a)+\" l\")},F=function(t,e,r){return this.pdf.lines(t,e,r,null,null)},C=function(t,r,n,i,s,u,c,l){this.pdf.internal.out([e(a(n+t)),e(o(i+r)),e(a(s+t)),e(o(u+r)),e(a(c+t)),e(o(l+r)),\"c\"].join(\" \"))},j=function(t,e,r,n){for(var i=2*Math.PI,a=Math.PI/2;e>r;)e-=i;var o=Math.abs(r-e);o<i&&n&&(o=i-o);for(var s=[],u=n?-1:1,c=e;o>1e-5;){var l=c+u*Math.min(o,a);s.push(O.call(this,t,c,l)),o-=Math.abs(l-c),c=l}return s},O=function(t,e,r){var n=(r-e)/2,i=t*Math.cos(n),a=t*Math.sin(n),o=i,s=-a,u=o*o+s*s,c=u+o*i+s*a,l=4/3*(Math.sqrt(2*u*c)-c)/(o*a-s*i),h=o-l*s,f=s+l*o,d=h,p=-f,g=n+e,m=Math.cos(g),v=Math.sin(g);return{x1:t*Math.cos(e),y1:t*Math.sin(e),x2:h*m-f*v,y2:h*v+f*m,x3:d*m-p*v,y3:d*v+p*m,x4:t*Math.cos(r),y4:t*Math.sin(r)}},B=function(t){return 180*t/Math.PI},M=function(t,e,r,n,i,a){var o=t+.5*(r-t),s=e+.5*(n-e),c=i+.5*(r-i),l=a+.5*(n-a),h=Math.min(t,i,o,c),f=Math.max(t,i,o,c),d=Math.min(e,a,s,l),p=Math.max(e,a,s,l);return new u(h,d,f-h,p-d)},E=function(t,e,r,n,i,a,o,s){var c,l,h,f,d,p,g,m,v,b,y,w,N,L,A=r-t,x=n-e,S=i-r,_=a-n,P=o-i,k=s-a;for(l=0;l<41;l++)v=(g=(h=t+(c=l/40)*A)+c*((d=r+c*S)-h))+c*(d+c*(i+c*P-d)-g),b=(m=(f=e+c*x)+c*((p=n+c*_)-f))+c*(p+c*(a+c*k-p)-m),0==l?(y=v,w=b,N=v,L=b):(y=Math.min(y,v),w=Math.min(w,b),N=Math.max(N,v),L=Math.max(L,b));return new u(Math.round(y),Math.round(w),Math.round(N-y),Math.round(L-w))}}(O.API),\n/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(e){var r=function(t){var e,r,n,i,a,o,s,u,c,l;for(/[^\\x00-\\xFF]/.test(t),r=[],n=0,i=(t+=e=\"\\0\\0\\0\\0\".slice(t.length%4||4)).length;i>n;n+=4)0!==(a=(t.charCodeAt(n)<<24)+(t.charCodeAt(n+1)<<16)+(t.charCodeAt(n+2)<<8)+t.charCodeAt(n+3))?(o=(a=((a=((a=((a=(a-(l=a%85))/85)-(c=a%85))/85)-(u=a%85))/85)-(s=a%85))/85)%85,r.push(o+33,s+33,u+33,c+33,l+33)):r.push(122);return function(t,e){for(var r=e;r>0;r--)t.pop()}(r,e.length),String.fromCharCode.apply(String,r)+\"~>\"},n=function(t){var e,r,n,i,a,o=String,s=\"length\",u=255,c=\"charCodeAt\",l=\"slice\",h=\"replace\";for(t[l](-2),t=t[l](0,-2)[h](/\\s/g,\"\")[h](\"z\",\"!!!!!\"),n=[],i=0,a=(t+=e=\"uuuuu\"[l](t[s]%5||5))[s];a>i;i+=5)r=52200625*(t[c](i)-33)+614125*(t[c](i+1)-33)+7225*(t[c](i+2)-33)+85*(t[c](i+3)-33)+(t[c](i+4)-33),n.push(u&r>>24,u&r>>16,u&r>>8,u&r);return function(t,e){for(var r=e;r>0;r--)t.pop()}(n,e[s]),o.fromCharCode.apply(o,n)},i=function(t){var e=new RegExp(/^([0-9A-Fa-f]{2})+$/);if(-1!==(t=t.replace(/\\s/g,\"\")).indexOf(\">\")&&(t=t.substr(0,t.indexOf(\">\"))),t.length%2&&(t+=\"0\"),!1===e.test(t))return\"\";for(var r=\"\",n=0;n<t.length;n+=2)r+=String.fromCharCode(\"0x\"+(t[n]+t[n+1]));return r},a=function(e){for(var r=new Uint8Array(e.length),n=e.length;n--;)r[n]=e.charCodeAt(n);return e=(r=t(r)).reduce((function(t,e){return t+String.fromCharCode(e)}),\"\")};e.processDataByFilters=function(t,e){var o=0,s=t||\"\",u=[];for(\"string\"==typeof(e=e||[])&&(e=[e]),o=0;o<e.length;o+=1)switch(e[o]){case\"ASCII85Decode\":case\"/ASCII85Decode\":s=n(s),u.push(\"/ASCII85Encode\");break;case\"ASCII85Encode\":case\"/ASCII85Encode\":s=r(s),u.push(\"/ASCII85Decode\");break;case\"ASCIIHexDecode\":case\"/ASCIIHexDecode\":s=i(s),u.push(\"/ASCIIHexEncode\");break;case\"ASCIIHexEncode\":case\"/ASCIIHexEncode\":s=s.split(\"\").map((function(t){return(\"0\"+t.charCodeAt().toString(16)).slice(-2)})).join(\"\")+\">\",u.push(\"/ASCIIHexDecode\");break;case\"FlateEncode\":case\"/FlateEncode\":s=a(s),u.push(\"/FlateDecode\");break;default:throw new Error('The filter: \"'+e[o]+'\" is not implemented')}return{data:s,reverseChain:u.reverse().join(\" \")}}}(O.API),\n/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.loadFile=function(t,e,r){return function(t,e,r){e=!1!==e,r=\"function\"==typeof r?r:function(){};var n=void 0;try{n=function(t,e,r){var n=new XMLHttpRequest,i=0,a=function(t){var e=t.length,r=[],n=String.fromCharCode;for(i=0;i<e;i+=1)r.push(n(255&t.charCodeAt(i)));return r.join(\"\")};if(n.open(\"GET\",t,!e),n.overrideMimeType(\"text/plain; charset=x-user-defined\"),!1===e&&(n.onload=function(){200===n.status?r(a(this.responseText)):r(void 0)}),n.send(null),e&&200===n.status)return a(n.responseText)}(t,e,r)}catch(t){}return n}(t,e,r)},t.loadImageFile=t.loadFile}(O.API),\n/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){function e(){return(r.html2canvas?Promise.resolve(r.html2canvas):import(\"html2canvas\")).catch((function(t){return Promise.reject(new Error(\"Could not load html2canvas: \"+t))})).then((function(t){return t.default?t.default:t}))}function n(){return(r.DOMPurify?Promise.resolve(r.DOMPurify):import(\"dompurify\")).catch((function(t){return Promise.reject(new Error(\"Could not load dompurify: \"+t))})).then((function(t){return t.default?t.default:t}))}var i=function(t){var e=typeof t;return\"undefined\"===e?\"undefined\":\"string\"===e||t instanceof String?\"string\":\"number\"===e||t instanceof Number?\"number\":\"function\"===e||t instanceof Function?\"function\":t&&t.constructor===Array?\"array\":t&&1===t.nodeType?\"element\":\"object\"===e?\"object\":\"unknown\"},a=function(t,e){var r=document.createElement(t);for(var n in e.className&&(r.className=e.className),e.innerHTML&&e.dompurify&&(r.innerHTML=e.dompurify.sanitize(e.innerHTML)),e.style)r.style[n]=e.style[n];return r},o=function(t,e){for(var r=3===t.nodeType?document.createTextNode(t.nodeValue):t.cloneNode(!1),n=t.firstChild;n;n=n.nextSibling)!0!==e&&1===n.nodeType&&\"SCRIPT\"===n.nodeName||r.appendChild(o(n,e));return 1===t.nodeType&&(\"CANVAS\"===t.nodeName?(r.width=t.width,r.height=t.height,r.getContext(\"2d\").drawImage(t,0,0)):\"TEXTAREA\"!==t.nodeName&&\"SELECT\"!==t.nodeName||(r.value=t.value),r.addEventListener(\"load\",(function(){r.scrollTop=t.scrollTop,r.scrollLeft=t.scrollLeft}),!0)),r},s=function t(e){var r=Object.assign(t.convert(Promise.resolve()),JSON.parse(JSON.stringify(t.template))),n=t.convert(Promise.resolve(),r);return n=(n=n.setProgress(1,t,1,[t])).set(e)};(s.prototype=Object.create(Promise.prototype)).constructor=s,s.convert=function(t,e){return t.__proto__=e||s.prototype,t},s.template={prop:{src:null,container:null,overlay:null,canvas:null,img:null,pdf:null,pageSize:null,callback:function(){}},progress:{val:0,state:null,n:0,stack:[]},opt:{filename:\"file.pdf\",margin:[0,0,0,0],enableLinks:!0,x:0,y:0,html2canvas:{},jsPDF:{},backgroundColor:\"transparent\"}},s.prototype.from=function(t,e){return this.then((function(){switch(e=e||function(t){switch(i(t)){case\"string\":return\"string\";case\"element\":return\"canvas\"===t.nodeName.toLowerCase()?\"canvas\":\"element\";default:return\"unknown\"}}(t)){case\"string\":return this.then(n).then((function(e){return this.set({src:a(\"div\",{innerHTML:t,dompurify:e})})}));case\"element\":return this.set({src:t});case\"canvas\":return this.set({canvas:t});case\"img\":return this.set({img:t});default:return this.error(\"Unknown source type.\")}}))},s.prototype.to=function(t){switch(t){case\"container\":return this.toContainer();case\"canvas\":return this.toCanvas();case\"img\":return this.toImg();case\"pdf\":return this.toPdf();default:return this.error(\"Invalid target.\")}},s.prototype.toContainer=function(){return this.thenList([function(){return this.prop.src||this.error(\"Cannot duplicate - no source HTML.\")},function(){return this.prop.pageSize||this.setPageSize()}]).then((function(){var t={position:\"relative\",display:\"inline-block\",width:Math.max(this.prop.src.clientWidth,this.prop.src.scrollWidth,this.prop.src.offsetWidth)+\"px\",left:0,right:0,top:0,margin:\"auto\",backgroundColor:this.opt.backgroundColor},e=o(this.prop.src,this.opt.html2canvas.javascriptEnabled);\"BODY\"===e.tagName&&(t.height=Math.max(document.body.scrollHeight,document.body.offsetHeight,document.documentElement.clientHeight,document.documentElement.scrollHeight,document.documentElement.offsetHeight)+\"px\"),this.prop.overlay=a(\"div\",{className:\"html2pdf__overlay\",style:{position:\"fixed\",overflow:\"hidden\",zIndex:1e3,left:\"-100000px\",right:0,bottom:0,top:0}}),this.prop.container=a(\"div\",{className:\"html2pdf__container\",style:t}),this.prop.container.appendChild(e),this.prop.container.firstChild.appendChild(a(\"div\",{style:{clear:\"both\",border:\"0 none transparent\",margin:0,padding:0,height:0}})),this.prop.container.style.float=\"none\",this.prop.overlay.appendChild(this.prop.container),document.body.appendChild(this.prop.overlay),this.prop.container.firstChild.style.position=\"relative\",this.prop.container.height=Math.max(this.prop.container.firstChild.clientHeight,this.prop.container.firstChild.scrollHeight,this.prop.container.firstChild.offsetHeight)+\"px\"}))},s.prototype.toCanvas=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(e).then((function(t){var e=Object.assign({},this.opt.html2canvas);return delete e.onrendered,t(this.prop.container,e)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toContext2d=function(){var t=[function(){return document.body.contains(this.prop.container)||this.toContainer()}];return this.thenList(t).then(e).then((function(t){var e=this.opt.jsPDF,r=this.opt.fontFaces,n=Object.assign({async:!0,allowTaint:!0,scale:1,scrollX:this.opt.scrollX||0,scrollY:this.opt.scrollY||0,backgroundColor:\"#ffffff\",imageTimeout:15e3,logging:!0,proxy:null,removeContainer:!0,foreignObjectRendering:!1,useCORS:!1},this.opt.html2canvas);if(delete n.onrendered,e.context2d.autoPaging=!0,e.context2d.posX=this.opt.x,e.context2d.posY=this.opt.y,e.context2d.fontFaces=r,r)for(var i=0;i<r.length;++i){var a=r[i],o=a.src.find((function(t){return\"truetype\"===t.format}));o&&e.addFont(o.url,a.ref.name,a.ref.style)}return n.windowHeight=n.windowHeight||0,n.windowHeight=0==n.windowHeight?Math.max(this.prop.container.clientHeight,this.prop.container.scrollHeight,this.prop.container.offsetHeight):n.windowHeight,t(this.prop.container,n)})).then((function(t){(this.opt.html2canvas.onrendered||function(){})(t),this.prop.canvas=t,document.body.removeChild(this.prop.overlay)}))},s.prototype.toImg=function(){return this.thenList([function(){return this.prop.canvas||this.toCanvas()}]).then((function(){var t=this.prop.canvas.toDataURL(\"image/\"+this.opt.image.type,this.opt.image.quality);this.prop.img=document.createElement(\"img\"),this.prop.img.src=t}))},s.prototype.toPdf=function(){return this.thenList([function(){return this.toContext2d()}]).then((function(){this.prop.pdf=this.prop.pdf||this.opt.jsPDF}))},s.prototype.output=function(t,e,r){return\"img\"===(r=r||\"pdf\").toLowerCase()||\"image\"===r.toLowerCase()?this.outputImg(t,e):this.outputPdf(t,e)},s.prototype.outputPdf=function(t,e){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){return this.prop.pdf.output(t,e)}))},s.prototype.outputImg=function(t){return this.thenList([function(){return this.prop.img||this.toImg()}]).then((function(){switch(t){case void 0:case\"img\":return this.prop.img;case\"datauristring\":case\"dataurlstring\":return this.prop.img.src;case\"datauri\":case\"dataurl\":return document.location.href=this.prop.img.src;default:throw'Image output type \"'+t+'\" is not supported.'}}))},s.prototype.save=function(t){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).set(t?{filename:t}:null).then((function(){this.prop.pdf.save(this.opt.filename)}))},s.prototype.doCallback=function(){return this.thenList([function(){return this.prop.pdf||this.toPdf()}]).then((function(){this.prop.callback(this.prop.pdf)}))},s.prototype.set=function(t){if(\"object\"!==i(t))return this;var e=Object.keys(t||{}).map((function(e){if(e in s.template.prop)return function(){this.prop[e]=t[e]};switch(e){case\"margin\":return this.setMargin.bind(this,t.margin);case\"jsPDF\":return function(){return this.opt.jsPDF=t.jsPDF,this.setPageSize()};case\"pageSize\":return this.setPageSize.bind(this,t.pageSize);default:return function(){this.opt[e]=t[e]}}}),this);return this.then((function(){return this.thenList(e)}))},s.prototype.get=function(t,e){return this.then((function(){var r=t in s.template.prop?this.prop[t]:this.opt[t];return e?e(r):r}))},s.prototype.setMargin=function(t){return this.then((function(){switch(i(t)){case\"number\":t=[t,t,t,t];case\"array\":if(2===t.length&&(t=[t[0],t[1],t[0],t[1]]),4===t.length)break;default:return this.error(\"Invalid margin array.\")}this.opt.margin=t})).then(this.setPageSize)},s.prototype.setPageSize=function(t){function e(t,e){return Math.floor(t*e/72*96)}return this.then((function(){(t=t||O.getPageSize(this.opt.jsPDF)).hasOwnProperty(\"inner\")||(t.inner={width:t.width-this.opt.margin[1]-this.opt.margin[3],height:t.height-this.opt.margin[0]-this.opt.margin[2]},t.inner.px={width:e(t.inner.width,t.k),height:e(t.inner.height,t.k)},t.inner.ratio=t.inner.height/t.inner.width),this.prop.pageSize=t}))},s.prototype.setProgress=function(t,e,r,n){return null!=t&&(this.progress.val=t),null!=e&&(this.progress.state=e),null!=r&&(this.progress.n=r),null!=n&&(this.progress.stack=n),this.progress.ratio=this.progress.val/this.progress.state,this},s.prototype.updateProgress=function(t,e,r,n){return this.setProgress(t?this.progress.val+t:null,e||null,r?this.progress.n+r:null,n?this.progress.stack.concat(n):null)},s.prototype.then=function(t,e){var r=this;return this.thenCore(t,e,(function(t,e){return r.updateProgress(null,null,1,[t]),Promise.prototype.then.call(this,(function(e){return r.updateProgress(null,t),e})).then(t,e).then((function(t){return r.updateProgress(1),t}))}))},s.prototype.thenCore=function(t,e,r){r=r||Promise.prototype.then;t&&(t=t.bind(this)),e&&(e=e.bind(this));var n=-1!==Promise.toString().indexOf(\"[native code]\")&&\"Promise\"===Promise.name?this:s.convert(Object.assign({},this),Promise.prototype),i=r.call(n,t,e);return s.convert(i,this.__proto__)},s.prototype.thenExternal=function(t,e){return Promise.prototype.then.call(this,t,e)},s.prototype.thenList=function(t){var e=this;return t.forEach((function(t){e=e.thenCore(t)})),e},s.prototype.catch=function(t){t&&(t=t.bind(this));var e=Promise.prototype.catch.call(this,t);return s.convert(e,this)},s.prototype.catchExternal=function(t){return Promise.prototype.catch.call(this,t)},s.prototype.error=function(t){return this.then((function(){throw new Error(t)}))},s.prototype.using=s.prototype.set,s.prototype.saveAs=s.prototype.save,s.prototype.export=s.prototype.output,s.prototype.run=s.prototype.then,O.getPageSize=function(t,e,r){if(\"object\"==typeof t){var n=t;t=n.orientation,e=n.unit||e,r=n.format||r}e=e||\"mm\",r=r||\"a4\",t=(\"\"+(t||\"P\")).toLowerCase();var i,a=(\"\"+r).toLowerCase(),o={a0:[2383.94,3370.39],a1:[1683.78,2383.94],a2:[1190.55,1683.78],a3:[841.89,1190.55],a4:[595.28,841.89],a5:[419.53,595.28],a6:[297.64,419.53],a7:[209.76,297.64],a8:[147.4,209.76],a9:[104.88,147.4],a10:[73.7,104.88],b0:[2834.65,4008.19],b1:[2004.09,2834.65],b2:[1417.32,2004.09],b3:[1000.63,1417.32],b4:[708.66,1000.63],b5:[498.9,708.66],b6:[354.33,498.9],b7:[249.45,354.33],b8:[175.75,249.45],b9:[124.72,175.75],b10:[87.87,124.72],c0:[2599.37,3676.54],c1:[1836.85,2599.37],c2:[1298.27,1836.85],c3:[918.43,1298.27],c4:[649.13,918.43],c5:[459.21,649.13],c6:[323.15,459.21],c7:[229.61,323.15],c8:[161.57,229.61],c9:[113.39,161.57],c10:[79.37,113.39],dl:[311.81,623.62],letter:[612,792],\"government-letter\":[576,756],legal:[612,1008],\"junior-legal\":[576,360],ledger:[1224,792],tabloid:[792,1224],\"credit-card\":[153,243]};switch(e){case\"pt\":i=1;break;case\"mm\":i=72/25.4;break;case\"cm\":i=72/2.54;break;case\"in\":i=72;break;case\"px\":i=.75;break;case\"pc\":case\"em\":i=12;break;case\"ex\":i=6;break;default:throw\"Invalid unit: \"+e}var s,u=0,c=0;if(o.hasOwnProperty(a))u=o[a][1]/i,c=o[a][0]/i;else try{u=r[1],c=r[0]}catch(t){throw new Error(\"Invalid format: \"+r)}if(\"p\"===t||\"portrait\"===t)t=\"p\",c>u&&(s=c,c=u,u=s);else{if(\"l\"!==t&&\"landscape\"!==t)throw\"Invalid orientation: \"+t;t=\"l\",u>c&&(s=c,c=u,u=s)}return{width:c,height:u,unit:e,k:i,orientation:t}},t.html=function(t,e){(e=e||{}).callback=e.callback||function(){},e.html2canvas=e.html2canvas||{},e.html2canvas.canvas=e.html2canvas.canvas||this.canvas,e.jsPDF=e.jsPDF||this,e.fontFaces=e.fontFaces?e.fontFaces.map(It):null;var r=new s(e);return e.worker?r:r.from(t).doCallback()}}(O.API),O.API.addJS=function(t){return Dt=t,this.internal.events.subscribe(\"postPutResources\",(function(){Rt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/Names [(EmbeddedJS) \"+(Rt+1)+\" 0 R]\"),this.internal.out(\">>\"),this.internal.out(\"endobj\"),Tt=this.internal.newObject(),this.internal.out(\"<<\"),this.internal.out(\"/S /JavaScript\"),this.internal.out(\"/JS (\"+Dt+\")\"),this.internal.out(\">>\"),this.internal.out(\"endobj\")})),this.internal.events.subscribe(\"putCatalog\",(function(){void 0!==Rt&&void 0!==Tt&&this.internal.out(\"/Names <</JavaScript \"+Rt+\" 0 R>>\")})),this},\n/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC)  steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e;t.events.push([\"postPutResources\",function(){var t=this,r=/^(\\d+) 0 obj$/;if(this.outline.root.children.length>0)for(var n=t.outline.render().split(/\\r\\n/),i=0;i<n.length;i++){var a=n[i],o=r.exec(a);if(null!=o){var s=o[1];t.internal.newObjectDeferredBegin(s,!1)}t.internal.write(a)}if(this.outline.createNamedDestinations){var u=this.internal.pages.length,c=[];for(i=0;i<u;i++){var l=t.internal.newObject();c.push(l);var h=t.internal.getPageInfo(i+1);t.internal.write(\"<< /D[\"+h.objId+\" 0 R /XYZ null null null]>> endobj\")}var f=t.internal.newObject();t.internal.write(\"<< /Names [ \");for(i=0;i<c.length;i++)t.internal.write(\"(page_\"+(i+1)+\")\"+c[i]+\" 0 R\");t.internal.write(\" ] >>\",\"endobj\"),e=t.internal.newObject(),t.internal.write(\"<< /Dests \"+f+\" 0 R\"),t.internal.write(\">>\",\"endobj\")}}]),t.events.push([\"putCatalog\",function(){this.outline.root.children.length>0&&(this.internal.write(\"/Outlines\",this.outline.makeRef(this.outline.root)),this.outline.createNamedDestinations&&this.internal.write(\"/Names \"+e+\" 0 R\"))}]),t.events.push([\"initialized\",function(){var t=this;t.outline={createNamedDestinations:!1,root:{children:[]}},t.outline.add=function(t,e,r){var n={title:e,options:r,children:[]};return null==t&&(t=this.root),t.children.push(n),n},t.outline.render=function(){return this.ctx={},this.ctx.val=\"\",this.ctx.pdf=t,this.genIds_r(this.root),this.renderRoot(this.root),this.renderItems(this.root),this.ctx.val},t.outline.genIds_r=function(e){e.id=t.internal.newObjectDeferred();for(var r=0;r<e.children.length;r++)this.genIds_r(e.children[r])},t.outline.renderRoot=function(t){this.objStart(t),this.line(\"/Type /Outlines\"),t.children.length>0&&(this.line(\"/First \"+this.makeRef(t.children[0])),this.line(\"/Last \"+this.makeRef(t.children[t.children.length-1]))),this.line(\"/Count \"+this.count_r({count:0},t)),this.objEnd()},t.outline.renderItems=function(e){for(var r=this.ctx.pdf.internal.getVerticalCoordinateString,n=0;n<e.children.length;n++){var i=e.children[n];this.objStart(i),this.line(\"/Title \"+this.makeString(i.title)),this.line(\"/Parent \"+this.makeRef(e)),n>0&&this.line(\"/Prev \"+this.makeRef(e.children[n-1])),n<e.children.length-1&&this.line(\"/Next \"+this.makeRef(e.children[n+1])),i.children.length>0&&(this.line(\"/First \"+this.makeRef(i.children[0])),this.line(\"/Last \"+this.makeRef(i.children[i.children.length-1])));var a=this.count=this.count_r({count:0},i);if(a>0&&this.line(\"/Count \"+a),i.options&&i.options.pageNumber){var o=t.internal.getPageInfo(i.options.pageNumber);this.line(\"/Dest [\"+o.objId+\" 0 R /XYZ 0 \"+r(0)+\" 0]\")}this.objEnd()}for(var s=0;s<e.children.length;s++)this.renderItems(e.children[s])},t.outline.line=function(t){this.ctx.val+=t+\"\\r\\n\"},t.outline.makeRef=function(t){return t.id+\" 0 R\"},t.outline.makeString=function(e){return\"(\"+t.internal.pdfEscape(e)+\")\"},t.outline.objStart=function(t){this.ctx.val+=\"\\r\\n\"+t.id+\" 0 obj\\r\\n<<\\r\\n\"},t.outline.objEnd=function(){this.ctx.val+=\">> \\r\\nendobj\\r\\n\"},t.outline.count_r=function(t,e){for(var r=0;r<e.children.length;r++)t.count++,this.count_r(t,e.children[r]);return t.count}}])}(O.API),\n/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=[192,193,194,195,196,197,198,199];t.processJPEG=function(t,r,n,i,a,o){var s,u=this.decode.DCT_DECODE,c=null;if(\"string\"==typeof t||this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t)){switch(t=a||t,t=this.__addimage__.isArrayBuffer(t)?new Uint8Array(t):t,(s=function(t){for(var r,n=256*t.charCodeAt(4)+t.charCodeAt(5),i=t.length,a={width:0,height:0,numcomponents:1},o=4;o<i;o+=2){if(o+=n,-1!==e.indexOf(t.charCodeAt(o+1))){r=256*t.charCodeAt(o+5)+t.charCodeAt(o+6),a={width:256*t.charCodeAt(o+7)+t.charCodeAt(o+8),height:r,numcomponents:t.charCodeAt(o+9)};break}n=256*t.charCodeAt(o+2)+t.charCodeAt(o+3)}return a}(t=this.__addimage__.isArrayBufferView(t)?this.__addimage__.arrayBufferToBinaryString(t):t)).numcomponents){case 1:o=this.color_spaces.DEVICE_GRAY;break;case 4:o=this.color_spaces.DEVICE_CMYK;break;case 3:o=this.color_spaces.DEVICE_RGB}c={data:t,width:s.width,height:s.height,colorSpace:o,bitsPerComponent:8,filter:u,index:r,alias:n}}return c}}(O.API);var zt,Ht,Vt,Wt,Gt,Yt=function(){var t,n,i;function a(t){var e,r,n,i,a,o,s,u,c,l,h,f,d,p;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},o=null;;){switch(e=this.readUInt32(),c=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join(\"\")){case\"IHDR\":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case\"acTL\":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case\"PLTE\":this.palette=this.read(e);break;case\"fcTL\":o&&this.animation.frames.push(o),this.pos+=4,o={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},a=this.readUInt16(),i=this.readUInt16()||100,o.delay=1e3*a/i,o.disposeOp=this.data[this.pos++],o.blendOp=this.data[this.pos++],o.data=[];break;case\"IDAT\":case\"fdAT\":for(\"fdAT\"===c&&(this.pos+=4,e-=4),t=(null!=o?o.data:void 0)||this.imgData,f=0;0<=e?f<e:f>e;0<=e?++f:--f)t.push(this.data[this.pos++]);break;case\"tRNS\":switch(this.transparency={},this.colorType){case 3:if(n=this.palette.length/3,this.transparency.indexed=this.read(e),this.transparency.indexed.length>n)throw new Error(\"More transparent colors than palette size\");if((l=n-this.transparency.indexed.length)>0)for(d=0;0<=l?d<l:d>l;0<=l?++d:--d)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case\"tEXt\":s=(h=this.read(e)).indexOf(0),u=String.fromCharCode.apply(String,h.slice(0,s)),this.text[u]=String.fromCharCode.apply(String,h.slice(s+1));break;case\"IEND\":return o&&this.animation.frames.push(o),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(p=this.colorType)||6===p,r=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*r,this.colorSpace=function(){switch(this.colors){case 1:return\"DeviceGray\";case 3:return\"DeviceRGB\"}}.call(this),void(this.imgData=new Uint8Array(this.imgData));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(\"Incomplete or corrupt PNG file\")}}a.prototype.read=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)r.push(this.data[this.pos++]);return r},a.prototype.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},a.prototype.decodePixels=function(t){var r=this.pixelBitlength/8,n=new Uint8Array(this.width*this.height*r),i=0,a=this;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);function o(e,o,s,u){var c,l,h,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F=Math.ceil((a.width-e)/s),C=Math.ceil((a.height-o)/u),j=a.width==F&&a.height==C;for(L=r*F,w=j?n:new Uint8Array(L*C),p=t.length,N=0,l=0;N<C&&i<p;){switch(t[i++]){case 0:for(f=S=0;S<L;f=S+=1)w[l++]=t[i++];break;case 1:for(f=_=0;_<L;f=_+=1)c=t[i++],d=f<r?0:w[l-r],w[l++]=(c+d)%256;break;case 2:for(f=P=0;P<L;f=P+=1)c=t[i++],h=(f-f%r)/r,A=N&&w[(N-1)*L+h*r+f%r],w[l++]=(A+c)%256;break;case 3:for(f=k=0;k<L;f=k+=1)c=t[i++],h=(f-f%r)/r,d=f<r?0:w[l-r],A=N&&w[(N-1)*L+h*r+f%r],w[l++]=(c+Math.floor((d+A)/2))%256;break;case 4:for(f=I=0;I<L;f=I+=1)c=t[i++],h=(f-f%r)/r,d=f<r?0:w[l-r],0===N?A=x=0:(A=w[(N-1)*L+h*r+f%r],x=h&&w[(N-1)*L+(h-1)*r+f%r]),g=d+A-x,m=Math.abs(g-d),b=Math.abs(g-A),y=Math.abs(g-x),v=m<=b&&m<=y?d:b<=y?A:x,w[l++]=(c+v)%256;break;default:throw new Error(\"Invalid filter algorithm: \"+t[i-1])}if(!j){var O=((o+N*u)*a.width+e)*r,B=N*L;for(f=0;f<F;f+=1){for(var M=0;M<r;M+=1)n[O++]=w[B++];O+=(s-1)*r}}N++}}return t=e(t),1==a.interlaceMethod?(o(0,0,8,8),o(4,0,8,8),o(0,4,4,8),o(2,0,4,4),o(0,2,2,4),o(1,0,2,2),o(0,1,1,2)):o(0,0,1,1),n},a.prototype.decodePalette=function(){var t,e,r,n,i,a,o,s,u;for(r=this.palette,a=this.transparency.indexed||[],i=new Uint8Array((a.length||0)+r.length),n=0,t=0,e=o=0,s=r.length;o<s;e=o+=3)i[n++]=r[e],i[n++]=r[e+1],i[n++]=r[e+2],i[n++]=null!=(u=a[t++])?u:255;return i},a.prototype.copyToImageData=function(t,e){var r,n,i,a,o,s,u,c,l,h,f;if(n=this.colors,l=null,r=this.hasAlphaChannel,this.palette.length&&(l=null!=(f=this._decodedPalette)?f:this._decodedPalette=this.decodePalette(),n=4,r=!0),c=(i=t.data||t).length,o=l||e,a=s=0,1===n)for(;a<c;)u=l?4*e[a/4]:s,h=o[u++],i[a++]=h,i[a++]=h,i[a++]=h,i[a++]=r?o[u++]:255,s=u;else for(;a<c;)u=l?4*e[a/4]:s,i[a++]=o[u++],i[a++]=o[u++],i[a++]=o[u++],i[a++]=r?o[u++]:255,s=u},a.prototype.decode=function(){var t;return t=new Uint8Array(this.width*this.height*4),this.copyToImageData(t,this.decodePixels()),t};var o=function(){if(\"[object Window]\"===Object.prototype.toString.call(r)){try{n=r.document.createElement(\"canvas\"),i=n.getContext(\"2d\")}catch(t){return!1}return!0}return!1};return o(),t=function(t){var e;if(!0===o())return i.width=t.width,i.height=t.height,i.clearRect(0,0,t.width,t.height),i.putImageData(t,0,0),(e=new Image).src=n.toDataURL(),e;throw new Error(\"This method requires a Browser with Canvas-capability.\")},a.prototype.decodeFrames=function(e){var r,n,i,a,o,s,u,c;if(this.animation){for(c=[],n=o=0,s=(u=this.animation.frames).length;o<s;n=++o)r=u[n],i=e.createImageData(r.width,r.height),a=this.decodePixels(new Uint8Array(r.data)),this.copyToImageData(i,a),r.imageData=i,c.push(r.image=t(i));return c}},a.prototype.renderFrame=function(t,e){var r,n,i;return r=(n=this.animation.frames)[e],i=n[e-1],0===e&&t.clearRect(0,0,this.width,this.height),1===(null!=i?i.disposeOp:void 0)?t.clearRect(i.xOffset,i.yOffset,i.width,i.height):2===(null!=i?i.disposeOp:void 0)&&t.putImageData(i.imageData,i.xOffset,i.yOffset),0===r.blendOp&&t.clearRect(r.xOffset,r.yOffset,r.width,r.height),t.drawImage(r.image,r.xOffset,r.yOffset)},a.prototype.animate=function(t){var e,r,n,i,a,o,s=this;return r=0,o=this.animation,i=o.numFrames,n=o.frames,a=o.numPlays,(e=function(){var o,u;if(o=r++%i,u=n[o],s.renderFrame(t,o),i>1&&r/i<a)return s.animation._timeout=setTimeout(e,u.delay)})()},a.prototype.stopAnimation=function(){var t;return clearTimeout(null!=(t=this.animation)?t._timeout:void 0)},a.prototype.render=function(t){var e,r;return t._png&&t._png.stopAnimation(),t._png=this,t.width=this.width,t.height=this.height,e=t.getContext(\"2d\"),this.animation?(this.decodeFrames(e),this.animate(e)):(r=e.createImageData(this.width,this.height),this.copyToImageData(r,this.decodePixels()),e.putImageData(r,0,0))},a}();\n/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n/**\n * @license\n * (c) Dean McNamee <dean@gmail.com>, 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression.  It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\nfunction Jt(t){var e=0;if(71!==t[e++]||73!==t[e++]||70!==t[e++]||56!==t[e++]||56!=(t[e++]+1&253)||97!==t[e++])throw new Error(\"Invalid GIF 87a/89a header.\");var r=t[e++]|t[e++]<<8,n=t[e++]|t[e++]<<8,i=t[e++],a=i>>7,o=1<<(7&i)+1;t[e++];t[e++];var s=null,u=null;a&&(s=e,u=o,e+=3*o);var c=!0,l=[],h=0,f=null,d=0,p=null;for(this.width=r,this.height=n;c&&e<t.length;)switch(t[e++]){case 33:switch(t[e++]){case 255:if(11!==t[e]||78==t[e+1]&&69==t[e+2]&&84==t[e+3]&&83==t[e+4]&&67==t[e+5]&&65==t[e+6]&&80==t[e+7]&&69==t[e+8]&&50==t[e+9]&&46==t[e+10]&&48==t[e+11]&&3==t[e+12]&&1==t[e+13]&&0==t[e+16])e+=14,p=t[e++]|t[e++]<<8,e++;else for(e+=12;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;case 249:if(4!==t[e++]||0!==t[e+4])throw new Error(\"Invalid graphics extension block.\");var g=t[e++];h=t[e++]|t[e++]<<8,f=t[e++],0==(1&g)&&(f=null),d=g>>2&7,e++;break;case 254:for(;;){if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}break;default:throw new Error(\"Unknown graphic control label: 0x\"+t[e-1].toString(16))}break;case 44:var m=t[e++]|t[e++]<<8,v=t[e++]|t[e++]<<8,b=t[e++]|t[e++]<<8,y=t[e++]|t[e++]<<8,w=t[e++],N=w>>6&1,L=1<<(7&w)+1,A=s,x=u,S=!1;if(w>>7){S=!0;A=e,x=L,e+=3*L}var _=e;for(e++;;){var P;if(!((P=t[e++])>=0))throw Error(\"Invalid block size\");if(0===P)break;e+=P}l.push({x:m,y:v,width:b,height:y,has_local_palette:S,palette_offset:A,palette_size:x,data_offset:_,data_length:e-_,transparent_index:f,interlaced:!!N,delay:h,disposal:d});break;case 59:c=!1;break;default:throw new Error(\"Unknown gif block: 0x\"+t[e-1].toString(16))}this.numFrames=function(){return l.length},this.loopCount=function(){return p},this.frameInfo=function(t){if(t<0||t>=l.length)throw new Error(\"Frame index out of range.\");return l[t]},this.decodeAndBlitFrameBGRA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);Xt(t,i.data_offset,o,a);var s=i.palette_offset,u=i.transparent_index;null===u&&(u=256);var c=i.width,l=r-c,h=c,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*l;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===h&&(h=c,(p+=g)>=d&&(g=4*l+4*r*(m-1),p=f+(c+l)*(m<<1),m>>=1)),y===u)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=L,n[p++]=N,n[p++]=w,n[p++]=255}--h}},this.decodeAndBlitFrameRGBA=function(e,n){var i=this.frameInfo(e),a=i.width*i.height,o=new Uint8Array(a);Xt(t,i.data_offset,o,a);var s=i.palette_offset,u=i.transparent_index;null===u&&(u=256);var c=i.width,l=r-c,h=c,f=4*(i.y*r+i.x),d=4*((i.y+i.height)*r+i.x),p=f,g=4*l;!0===i.interlaced&&(g+=4*r*7);for(var m=8,v=0,b=o.length;v<b;++v){var y=o[v];if(0===h&&(h=c,(p+=g)>=d&&(g=4*l+4*r*(m-1),p=f+(c+l)*(m<<1),m>>=1)),y===u)p+=4;else{var w=t[s+3*y],N=t[s+3*y+1],L=t[s+3*y+2];n[p++]=w,n[p++]=N,n[p++]=L,n[p++]=255}--h}}}function Xt(t,e,r,n){for(var a=t[e++],o=1<<a,s=o+1,u=s+1,c=a+1,l=(1<<c)-1,h=0,f=0,d=0,p=t[e++],g=new Int32Array(4096),m=null;;){for(;h<16&&0!==p;)f|=t[e++]<<h,h+=8,1===p?p=t[e++]:--p;if(h<c)break;var v=f&l;if(f>>=c,h-=c,v!==o){if(v===s)break;for(var b=v<u?v:m,y=0,w=b;w>o;)w=g[w]>>8,++y;var N=w;if(d+y+(b!==v?1:0)>n)return void i.log(\"Warning, gif stream longer than expected.\");r[d++]=N;var L=d+=y;for(b!==v&&(r[d++]=N),w=b;y--;)w=g[w],r[--L]=255&w,w>>=8;null!==m&&u<4096&&(g[u++]=m<<8|N,u>=l+1&&c<12&&(++c,l=l<<1|1)),m=v}else u=s+1,l=(1<<(c=a+1))-1,m=null}return d!==n&&i.log(\"Warning, gif stream shorter than expected.\"),r}\n/**\n * @license\n  Copyright (c) 2008, Adobe Systems Incorporated\n  All rights reserved.\n\n  Redistribution and use in source and binary forms, with or without \n  modification, are permitted provided that the following conditions are\n  met:\n\n  * Redistributions of source code must retain the above copyright notice, \n    this list of conditions and the following disclaimer.\n  \n  * Redistributions in binary form must reproduce the above copyright\n    notice, this list of conditions and the following disclaimer in the \n    documentation and/or other materials provided with the distribution.\n  \n  * Neither the name of Adobe Systems Incorporated nor the names of its \n    contributors may be used to endorse or promote products derived from \n    this software without specific prior written permission.\n\n  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n  IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n  PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/function Kt(t){var e,r,n,i,a,o=Math.floor,s=new Array(64),u=new Array(64),c=new Array(64),l=new Array(64),h=new Array(65535),f=new Array(65535),d=new Array(64),p=new Array(64),g=[],m=0,v=7,b=new Array(64),y=new Array(64),w=new Array(64),N=new Array(256),L=new Array(2048),A=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],x=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],S=[0,1,2,3,4,5,6,7,8,9,10,11],_=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],P=[1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250],k=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],I=[0,1,2,3,4,5,6,7,8,9,10,11],F=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],C=[0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250];function j(t,e){for(var r=0,n=0,i=new Array,a=1;a<=16;a++){for(var o=1;o<=t[a];o++)i[e[n]]=[],i[e[n]][0]=r,i[e[n]][1]=a,n++,r++;r*=2}return i}function O(t){for(var e=t[0],r=t[1]-1;r>=0;)e&1<<r&&(m|=1<<v),r--,--v<0&&(255==m?(B(255),B(0)):B(m),v=7,m=0)}function B(t){g.push(t)}function M(t){B(t>>8&255),B(255&t)}function E(t,e,r,n,i){for(var a,o=i[0],s=i[240],u=function(t,e){var r,n,i,a,o,s,u,c,l,h,f=0;for(l=0;l<8;++l){r=t[f],n=t[f+1],i=t[f+2],a=t[f+3],o=t[f+4],s=t[f+5],u=t[f+6];var p=r+(c=t[f+7]),g=r-c,m=n+u,v=n-u,b=i+s,y=i-s,w=a+o,N=a-o,L=p+w,A=p-w,x=m+b,S=m-b;t[f]=L+x,t[f+4]=L-x;var _=.707106781*(S+A);t[f+2]=A+_,t[f+6]=A-_;var P=.382683433*((L=N+y)-(S=v+g)),k=.5411961*L+P,I=1.306562965*S+P,F=.707106781*(x=y+v),C=g+F,j=g-F;t[f+5]=j+k,t[f+3]=j-k,t[f+1]=C+I,t[f+7]=C-I,f+=8}for(f=0,l=0;l<8;++l){r=t[f],n=t[f+8],i=t[f+16],a=t[f+24],o=t[f+32],s=t[f+40],u=t[f+48];var O=r+(c=t[f+56]),B=r-c,M=n+u,E=n-u,q=i+s,R=i-s,T=a+o,D=a-o,U=O+T,z=O-T,H=M+q,V=M-q;t[f]=U+H,t[f+32]=U-H;var W=.707106781*(V+z);t[f+16]=z+W,t[f+48]=z-W;var G=.382683433*((U=D+R)-(V=E+B)),Y=.5411961*U+G,J=1.306562965*V+G,X=.707106781*(H=R+E),K=B+X,Z=B-X;t[f+40]=Z+Y,t[f+24]=Z-Y,t[f+8]=K+J,t[f+56]=K-J,f++}for(l=0;l<64;++l)h=t[l]*e[l],d[l]=h>0?h+.5|0:h-.5|0;return d}(t,e),c=0;c<64;++c)p[A[c]]=u[c];var l=p[0]-r;r=p[0],0==l?O(n[0]):(O(n[f[a=32767+l]]),O(h[a]));for(var g=63;g>0&&0==p[g];)g--;if(0==g)return O(o),r;for(var m,v=1;v<=g;){for(var b=v;0==p[v]&&v<=g;)++v;var y=v-b;if(y>=16){m=y>>4;for(var w=1;w<=m;++w)O(s);y&=15}a=32767+p[v],O(i[(y<<4)+f[a]]),O(h[a]),v++}return 63!=g&&O(o),r}function q(t){(t=Math.min(Math.max(t,1),100),a!=t)&&(!function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],r=0;r<64;r++){var n=o((e[r]*t+50)/100);n=Math.min(Math.max(n,1),255),s[A[r]]=n}for(var i=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],a=0;a<64;a++){var h=o((i[a]*t+50)/100);h=Math.min(Math.max(h,1),255),u[A[a]]=h}for(var f=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],d=0,p=0;p<8;p++)for(var g=0;g<8;g++)c[d]=1/(s[A[d]]*f[p]*f[g]*8),l[d]=1/(u[A[d]]*f[p]*f[g]*8),d++}(t<50?Math.floor(5e3/t):Math.floor(200-2*t)),a=t)}this.encode=function(t,a){a&&q(a),g=new Array,m=0,v=7,M(65496),M(65504),M(16),B(74),B(70),B(73),B(70),B(0),B(1),B(1),B(0),M(1),M(1),B(0),B(0),function(){M(65499),M(132),B(0);for(var t=0;t<64;t++)B(s[t]);B(1);for(var e=0;e<64;e++)B(u[e])}(),function(t,e){M(65472),M(17),B(8),M(e),M(t),B(3),B(1),B(17),B(0),B(2),B(17),B(1),B(3),B(17),B(1)}(t.width,t.height),function(){M(65476),M(418),B(0);for(var t=0;t<16;t++)B(x[t+1]);for(var e=0;e<=11;e++)B(S[e]);B(16);for(var r=0;r<16;r++)B(_[r+1]);for(var n=0;n<=161;n++)B(P[n]);B(1);for(var i=0;i<16;i++)B(k[i+1]);for(var a=0;a<=11;a++)B(I[a]);B(17);for(var o=0;o<16;o++)B(F[o+1]);for(var s=0;s<=161;s++)B(C[s])}(),M(65498),M(12),B(3),B(1),B(0),B(2),B(17),B(3),B(17),B(0),B(63),B(0);var o=0,h=0,f=0;m=0,v=7,this.encode.displayName=\"_encode_\";for(var d,p,N,A,j,R,T,D,U,z=t.data,H=t.width,V=t.height,W=4*H,G=0;G<V;){for(d=0;d<W;){for(j=W*G+d,T=-1,D=0,U=0;U<64;U++)R=j+(D=U>>3)*W+(T=4*(7&U)),G+D>=V&&(R-=W*(G+1+D-V)),d+T>=W&&(R-=d+T-W+4),p=z[R++],N=z[R++],A=z[R++],b[U]=(L[p]+L[N+256>>0]+L[A+512>>0]>>16)-128,y[U]=(L[p+768>>0]+L[N+1024>>0]+L[A+1280>>0]>>16)-128,w[U]=(L[p+1280>>0]+L[N+1536>>0]+L[A+1792>>0]>>16)-128;o=E(b,c,o,e,n),h=E(y,l,h,r,i),f=E(w,l,f,r,i),d+=32}G+=8}if(v>=0){var Y=[];Y[1]=v+1,Y[0]=(1<<v+1)-1,O(Y)}return M(65497),new Uint8Array(g)},t=t||50,function(){for(var t=String.fromCharCode,e=0;e<256;e++)N[e]=t(e)}(),e=j(x,S),r=j(k,I),n=j(_,P),i=j(F,C),function(){for(var t=1,e=2,r=1;r<=15;r++){for(var n=t;n<e;n++)f[32767+n]=r,h[32767+n]=[],h[32767+n][1]=r,h[32767+n][0]=n;for(var i=-(e-1);i<=-t;i++)f[32767+i]=r,h[32767+i]=[],h[32767+i][1]=r,h[32767+i][0]=e-1+i;t<<=1,e<<=1}}(),function(){for(var t=0;t<256;t++)L[t]=19595*t,L[t+256>>0]=38470*t,L[t+512>>0]=7471*t+32768,L[t+768>>0]=-11059*t,L[t+1024>>0]=-21709*t,L[t+1280>>0]=32768*t+8421375,L[t+1536>>0]=-27439*t,L[t+1792>>0]=-5329*t}(),q(t)}\n/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */function Zt(t,e){if(this.pos=0,this.buffer=t,this.datav=new DataView(t.buffer),this.is_with_alpha=!!e,this.bottom_up=!0,this.flag=String.fromCharCode(this.buffer[0])+String.fromCharCode(this.buffer[1]),this.pos+=2,-1===[\"BM\",\"BA\",\"CI\",\"CP\",\"IC\",\"PT\"].indexOf(this.flag))throw new Error(\"Invalid BMP File\");this.parseHeader(),this.parseBGR()}function $t(t){function e(t){if(!t)throw Error(\"assert :P\")}function r(t,e,r){for(var n=0;4>n;n++)if(t[e+n]!=r.charCodeAt(n))return!0;return!1}function n(t,e,r,n,i){for(var a=0;a<i;a++)t[e+a]=r[n+a]}function i(t,e,r,n){for(var i=0;i<n;i++)t[e+i]=r}function a(t){return new Int32Array(t)}function o(t,e){for(var r=[],n=0;n<t;n++)r.push(new e);return r}function s(t,e){var r=[];return function t(r,n,i){for(var a=i[n],o=0;o<a&&(r.push(i.length>n+1?[]:new e),!(i.length<n+1));o++)t(r[o],n+1,i)}(r,0,t),r}function u(t,e){for(var r=\"\",n=0;n<4;n++)r+=String.fromCharCode(t[e++]);return r}function c(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16)>>>0}function l(t,e){return(t[e+0]<<0|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}new($t=function(){var t=this;function u(t,e){for(var r=1<<e-1>>>0;t&r;)r>>>=1;return r?(t&r-1)+r:t}function c(t,r,n,i,a){e(!(i%n));do{t[r+(i-=n)]=a}while(0<i)}function l(t,r,n,i,o){if(e(2328>=o),512>=o)var s=a(512);else if(null==(s=a(o)))return 0;return function(t,r,n,i,o,s){var l,f,d=r,p=1<<n,g=a(16),m=a(16);for(e(0!=o),e(null!=i),e(null!=t),e(0<n),f=0;f<o;++f){if(15<i[f])return 0;++g[i[f]]}if(g[0]==o)return 0;for(m[1]=0,l=1;15>l;++l){if(g[l]>1<<l)return 0;m[l+1]=m[l]+g[l]}for(f=0;f<o;++f)l=i[f],0<i[f]&&(s[m[l]++]=f);if(1==m[15])return(i=new h).g=0,i.value=s[0],c(t,d,1,p,i),p;var v,b=-1,y=p-1,w=0,N=1,L=1,A=1<<n;for(f=0,l=1,o=2;l<=n;++l,o<<=1){if(N+=L<<=1,0>(L-=g[l]))return 0;for(;0<g[l];--g[l])(i=new h).g=l,i.value=s[f++],c(t,d+w,o,A,i),w=u(w,l)}for(l=n+1,o=2;15>=l;++l,o<<=1){if(N+=L<<=1,0>(L-=g[l]))return 0;for(;0<g[l];--g[l]){if(i=new h,(w&y)!=b){for(d+=A,v=1<<(b=l)-n;15>b&&!(0>=(v-=g[b]));)++b,v<<=1;p+=A=1<<(v=b-n),t[r+(b=w&y)].g=v+n,t[r+b].value=d-r-b}i.g=l-n,i.value=s[f++],c(t,d+(w>>n),o,A,i),w=u(w,l)}}return N!=2*m[15]-1?0:p}(t,r,n,i,o,s)}function h(){this.value=this.g=0}function f(){this.value=this.g=0}function d(){this.G=o(5,h),this.H=a(5),this.jc=this.Qb=this.qb=this.nd=0,this.pd=o(Rr,f)}function p(t,r,n,i){e(null!=t),e(null!=r),e(2147483648>i),t.Ca=254,t.I=0,t.b=-8,t.Ka=0,t.oa=r,t.pa=n,t.Jd=r,t.Yc=n+i,t.Zc=4<=i?n+i-4+1:n,_(t)}function g(t,e){for(var r=0;0<e--;)r|=k(t,128)<<e;return r}function m(t,e){var r=g(t,e);return P(t)?-r:r}function v(t,r,n,i){var a,o=0;for(e(null!=t),e(null!=r),e(4294967288>i),t.Sb=i,t.Ra=0,t.u=0,t.h=0,4<i&&(i=4),a=0;a<i;++a)o+=r[n+a]<<8*a;t.Ra=o,t.bb=i,t.oa=r,t.pa=n}function b(t){for(;8<=t.u&&t.bb<t.Sb;)t.Ra>>>=8,t.Ra+=t.oa[t.pa+t.bb]<<Ur-8>>>0,++t.bb,t.u-=8;A(t)&&(t.h=1,t.u=0)}function y(t,r){if(e(0<=r),!t.h&&r<=Dr){var n=L(t)&Tr[r];return t.u+=r,b(t),n}return t.h=1,t.u=0}function w(){this.b=this.Ca=this.I=0,this.oa=[],this.pa=0,this.Jd=[],this.Yc=0,this.Zc=[],this.Ka=0}function N(){this.Ra=0,this.oa=[],this.h=this.u=this.bb=this.Sb=this.pa=0}function L(t){return t.Ra>>>(t.u&Ur-1)>>>0}function A(t){return e(t.bb<=t.Sb),t.h||t.bb==t.Sb&&t.u>Ur}function x(t,e){t.u=e,t.h=A(t)}function S(t){t.u>=zr&&(e(t.u>=zr),b(t))}function _(t){e(null!=t&&null!=t.oa),t.pa<t.Zc?(t.I=(t.oa[t.pa++]|t.I<<8)>>>0,t.b+=8):(e(null!=t&&null!=t.oa),t.pa<t.Yc?(t.b+=8,t.I=t.oa[t.pa++]|t.I<<8):t.Ka?t.b=0:(t.I<<=8,t.b+=8,t.Ka=1))}function P(t){return g(t,1)}function k(t,e){var r=t.Ca;0>t.b&&_(t);var n=t.b,i=r*e>>>8,a=(t.I>>>n>i)+0;for(a?(r-=i,t.I-=i+1<<n>>>0):r=i+1,n=r,i=0;256<=n;)i+=8,n>>=8;return n=7^i+Hr[n],t.b-=n,t.Ca=(r<<n)-1,a}function I(t,e,r){t[e+0]=r>>24&255,t[e+1]=r>>16&255,t[e+2]=r>>8&255,t[e+3]=r>>0&255}function F(t,e){return t[e+0]<<0|t[e+1]<<8}function C(t,e){return F(t,e)|t[e+2]<<16}function j(t,e){return F(t,e)|F(t,e+2)<<16}function O(t,r){var n=1<<r;return e(null!=t),e(0<r),t.X=a(n),null==t.X?0:(t.Mb=32-r,t.Xa=r,1)}function B(t,r){e(null!=t),e(null!=r),e(t.Xa==r.Xa),n(r.X,0,t.X,0,1<<r.Xa)}function M(){this.X=[],this.Xa=this.Mb=0}function E(t,r,n,i){e(null!=n),e(null!=i);var a=n[0],o=i[0];return 0==a&&(a=(t*o+r/2)/r),0==o&&(o=(r*a+t/2)/t),0>=a||0>=o?0:(n[0]=a,i[0]=o,1)}function q(t,e){return t+(1<<e)-1>>>e}function R(t,e){return((4278255360&t)+(4278255360&e)>>>0&4278255360)+((16711935&t)+(16711935&e)>>>0&16711935)>>>0}function T(e,r){t[r]=function(r,n,i,a,o,s,u){var c;for(c=0;c<o;++c){var l=t[e](s[u+c-1],i,a+c);s[u+c]=R(r[n+c],l)}}}function D(){this.ud=this.hd=this.jd=0}function U(t,e){return((4278124286&(t^e))>>>1)+(t&e)>>>0}function z(t){return 0<=t&&256>t?t:0>t?0:255<t?255:void 0}function H(t,e){return z(t+(t-e+.5>>1))}function V(t,e,r){return Math.abs(e-r)-Math.abs(t-r)}function W(t,e,r,n,i,a,o){for(n=a[o-1],r=0;r<i;++r)a[o+r]=n=R(t[e+r],n)}function G(t,e,r,n,i){var a;for(a=0;a<r;++a){var o=t[e+a],s=o>>8&255,u=16711935&(u=(u=16711935&o)+((s<<16)+s));n[i+a]=(4278255360&o)+u>>>0}}function Y(t,e){e.jd=t>>0&255,e.hd=t>>8&255,e.ud=t>>16&255}function J(t,e,r,n,i,a){var o;for(o=0;o<n;++o){var s=e[r+o],u=s>>>8,c=s,l=255&(l=(l=s>>>16)+((t.jd<<24>>24)*(u<<24>>24)>>>5));c=255&(c=(c=c+((t.hd<<24>>24)*(u<<24>>24)>>>5))+((t.ud<<24>>24)*(l<<24>>24)>>>5));i[a+o]=(4278255360&s)+(l<<16)+c}}function X(e,r,n,i,a){t[r]=function(t,e,r,n,o,s,u,c,l){for(n=u;n<c;++n)for(u=0;u<l;++u)o[s++]=a(r[i(t[e++])])},t[e]=function(e,r,o,s,u,c,l){var h=8>>e.b,f=e.Ea,d=e.K[0],p=e.w;if(8>h)for(e=(1<<e.b)-1,p=(1<<h)-1;r<o;++r){var g,m=0;for(g=0;g<f;++g)g&e||(m=i(s[u++])),c[l++]=a(d[m&p]),m>>=h}else t[\"VP8LMapColor\"+n](s,u,d,p,c,l,r,o,f)}}function K(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255}}function Z(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>16&255,n[i++]=a>>8&255,n[i++]=a>>0&255,n[i++]=a>>24&255}}function $(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&240|o>>12&15,o=o>>0&240|o>>28&15;n[i++]=a,n[i++]=o}}function Q(t,e,r,n,i){for(r=e+r;e<r;){var a=(o=t[e++])>>16&248|o>>13&7,o=o>>5&224|o>>3&31;n[i++]=a,n[i++]=o}}function tt(t,e,r,n,i){for(r=e+r;e<r;){var a=t[e++];n[i++]=a>>0&255,n[i++]=a>>8&255,n[i++]=a>>16&255}}function et(t,e,r,i,a,o){if(0==o)for(r=e+r;e<r;)I(i,((o=t[e++])[0]>>24|o[1]>>8&65280|o[2]<<8&16711680|o[3]<<24)>>>0),a+=32;else n(i,a,t,e,r)}function rt(e,r){t[r][0]=t[e+\"0\"],t[r][1]=t[e+\"1\"],t[r][2]=t[e+\"2\"],t[r][3]=t[e+\"3\"],t[r][4]=t[e+\"4\"],t[r][5]=t[e+\"5\"],t[r][6]=t[e+\"6\"],t[r][7]=t[e+\"7\"],t[r][8]=t[e+\"8\"],t[r][9]=t[e+\"9\"],t[r][10]=t[e+\"10\"],t[r][11]=t[e+\"11\"],t[r][12]=t[e+\"12\"],t[r][13]=t[e+\"13\"],t[r][14]=t[e+\"0\"],t[r][15]=t[e+\"0\"]}function nt(t){return t==Hn||t==Vn||t==Wn||t==Gn}function it(){this.eb=[],this.size=this.A=this.fb=0}function at(){this.y=[],this.f=[],this.ea=[],this.F=[],this.Tc=this.Ed=this.Cd=this.Fd=this.lb=this.Db=this.Ab=this.fa=this.J=this.W=this.N=this.O=0}function ot(){this.Rd=this.height=this.width=this.S=0,this.f={},this.f.RGBA=new it,this.f.kb=new at,this.sd=null}function st(){this.width=[0],this.height=[0],this.Pd=[0],this.Qd=[0],this.format=[0]}function ut(){this.Id=this.fd=this.Md=this.hb=this.ib=this.da=this.bd=this.cd=this.j=this.v=this.Da=this.Sd=this.ob=0}function ct(t){return alert(\"todo:WebPSamplerProcessPlane\"),t.T}function lt(t,e){var r=t.T,i=e.ba.f.RGBA,a=i.eb,o=i.fb+t.ka*i.A,s=vi[e.ba.S],u=t.y,c=t.O,l=t.f,h=t.N,f=t.ea,d=t.W,p=e.cc,g=e.dc,m=e.Mc,v=e.Nc,b=t.ka,y=t.ka+t.T,w=t.U,N=w+1>>1;for(0==b?s(u,c,null,null,l,h,f,d,l,h,f,d,a,o,null,null,w):(s(e.ec,e.fc,u,c,p,g,m,v,l,h,f,d,a,o-i.A,a,o,w),++r);b+2<y;b+=2)p=l,g=h,m=f,v=d,h+=t.Rc,d+=t.Rc,o+=2*i.A,s(u,(c+=2*t.fa)-t.fa,u,c,p,g,m,v,l,h,f,d,a,o-i.A,a,o,w);return c+=t.fa,t.j+y<t.o?(n(e.ec,e.fc,u,c,w),n(e.cc,e.dc,l,h,N),n(e.Mc,e.Nc,f,d,N),r--):1&y||s(u,c,null,null,l,h,f,d,l,h,f,d,a,o+i.A,null,null,w),r}function ht(t,r,n){var i=t.F,a=[t.J];if(null!=i){var o=t.U,s=r.ba.S,u=s==Dn||s==Wn;r=r.ba.f.RGBA;var c=[0],l=t.ka;c[0]=t.T,t.Kb&&(0==l?--c[0]:(--l,a[0]-=t.width),t.j+t.ka+t.T==t.o&&(c[0]=t.o-t.j-l));var h=r.eb;l=r.fb+l*r.A;t=Sn(i,a[0],t.width,o,c,h,l+(u?0:3),r.A),e(n==c),t&&nt(s)&&An(h,l,u,o,c,r.A)}return 0}function ft(t){var e=t.ma,r=e.ba.S,n=11>r,i=r==qn||r==Tn||r==Dn||r==Un||12==r||nt(r);if(e.memory=null,e.Ib=null,e.Jb=null,e.Nd=null,!Mr(e.Oa,t,i?11:12))return 0;if(i&&nt(r)&&br(),t.da)alert(\"todo:use_scaling\");else{if(n){if(e.Ib=ct,t.Kb){if(r=t.U+1>>1,e.memory=a(t.U+2*r),null==e.memory)return 0;e.ec=e.memory,e.fc=0,e.cc=e.ec,e.dc=e.fc+t.U,e.Mc=e.cc,e.Nc=e.dc+r,e.Ib=lt,br()}}else alert(\"todo:EmitYUV\");i&&(e.Jb=ht,n&&mr())}if(n&&!Ci){for(t=0;256>t;++t)ji[t]=89858*(t-128)+_i>>Si,Mi[t]=-22014*(t-128)+_i,Bi[t]=-45773*(t-128),Oi[t]=113618*(t-128)+_i>>Si;for(t=Pi;t<ki;++t)e=76283*(t-16)+_i>>Si,Ei[t-Pi]=Wt(e,255),qi[t-Pi]=Wt(e+8>>4,15);Ci=1}return 1}function dt(t){var r=t.ma,n=t.U,i=t.T;return e(!(1&t.ka)),0>=n||0>=i?0:(n=r.Ib(t,r),null!=r.Jb&&r.Jb(t,r,n),r.Dc+=n,1)}function pt(t){t.ma.memory=null}function gt(t,e,r,n){return 47!=y(t,8)?0:(e[0]=y(t,14)+1,r[0]=y(t,14)+1,n[0]=y(t,1),0!=y(t,3)?0:!t.h)}function mt(t,e){if(4>t)return t+1;var r=t-2>>1;return(2+(1&t)<<r)+y(e,r)+1}function vt(t,e){return 120<e?e-120:1<=(r=((r=$n[e-1])>>4)*t+(8-(15&r)))?r:1;var r}function bt(t,e,r){var n=L(r),i=t[e+=255&n].g-8;return 0<i&&(x(r,r.u+8),n=L(r),e+=t[e].value,e+=n&(1<<i)-1),x(r,r.u+t[e].g),t[e].value}function yt(t,r,n){return n.g+=t.g,n.value+=t.value<<r>>>0,e(8>=n.g),t.g}function wt(t,r,n){var i=t.xc;return e((r=0==i?0:t.vc[t.md*(n>>i)+(r>>i)])<t.Wb),t.Ya[r]}function Nt(t,r,i,a){var o=t.ab,s=t.c*r,u=t.C;r=u+r;var c=i,l=a;for(a=t.Ta,i=t.Ua;0<o--;){var h=t.gc[o],f=u,d=r,p=c,g=l,m=(l=a,c=i,h.Ea);switch(e(f<d),e(d<=h.nc),h.hc){case 2:Gr(p,g,(d-f)*m,l,c);break;case 0:var v=f,b=d,y=l,w=c,N=(_=h).Ea;0==v&&(Vr(p,g,null,null,1,y,w),W(p,g+1,0,0,N-1,y,w+1),g+=N,w+=N,++v);for(var L=1<<_.b,A=L-1,x=q(N,_.b),S=_.K,_=_.w+(v>>_.b)*x;v<b;){var P=S,k=_,I=1;for(Wr(p,g,y,w-N,1,y,w);I<N;){var F=(I&~A)+L;F>N&&(F=N),(0,Zr[P[k++]>>8&15])(p,g+ +I,y,w+I-N,F-I,y,w+I),I=F}g+=N,w+=N,++v&A||(_+=x)}d!=h.nc&&n(l,c-m,l,c+(d-f-1)*m,m);break;case 1:for(m=p,b=g,N=(p=h.Ea)-(w=p&~(y=(g=1<<h.b)-1)),v=q(p,h.b),L=h.K,h=h.w+(f>>h.b)*v;f<d;){for(A=L,x=h,S=new D,_=b+w,P=b+p;b<_;)Y(A[x++],S),$r(S,m,b,g,l,c),b+=g,c+=g;b<P&&(Y(A[x++],S),$r(S,m,b,N,l,c),b+=N,c+=N),++f&y||(h+=v)}break;case 3:if(p==l&&g==c&&0<h.b){for(b=l,p=m=c+(d-f)*m-(w=(d-f)*q(h.Ea,h.b)),g=l,y=c,v=[],w=(N=w)-1;0<=w;--w)v[w]=g[y+w];for(w=N-1;0<=w;--w)b[p+w]=v[w];Yr(h,f,d,l,m,l,c)}else Yr(h,f,d,p,g,l,c)}c=a,l=i}l!=i&&n(a,i,c,l,s)}function Lt(t,r){var n=t.V,i=t.Ba+t.c*t.C,a=r-t.C;if(e(r<=t.l.o),e(16>=a),0<a){var o=t.l,s=t.Ta,u=t.Ua,c=o.width;if(Nt(t,a,n,i),a=u=[u],e((n=t.C)<(i=r)),e(o.v<o.va),i>o.o&&(i=o.o),n<o.j){var l=o.j-n;n=o.j;a[0]+=l*c}if(n>=i?n=0:(a[0]+=4*o.v,o.ka=n-o.j,o.U=o.va-o.v,o.T=i-n,n=1),n){if(u=u[0],11>(n=t.ca).S){var h=n.f.RGBA,f=(i=n.S,a=o.U,o=o.T,l=h.eb,h.A),d=o;for(h=h.fb+t.Ma*h.A;0<d--;){var p=s,g=u,m=a,v=l,b=h;switch(i){case En:Qr(p,g,m,v,b);break;case qn:tn(p,g,m,v,b);break;case Hn:tn(p,g,m,v,b),An(v,b,0,m,1,0);break;case Rn:nn(p,g,m,v,b);break;case Tn:et(p,g,m,v,b,1);break;case Vn:et(p,g,m,v,b,1),An(v,b,0,m,1,0);break;case Dn:et(p,g,m,v,b,0);break;case Wn:et(p,g,m,v,b,0),An(v,b,1,m,1,0);break;case Un:en(p,g,m,v,b);break;case Gn:en(p,g,m,v,b),xn(v,b,m,1,0);break;case zn:rn(p,g,m,v,b);break;default:e(0)}u+=c,h+=f}t.Ma+=o}else alert(\"todo:EmitRescaledRowsYUVA\");e(t.Ma<=n.height)}}t.C=r,e(t.C<=t.i)}function At(t){var e;if(0<t.ua)return 0;for(e=0;e<t.Wb;++e){var r=t.Ya[e].G,n=t.Ya[e].H;if(0<r[1][n[1]+0].g||0<r[2][n[2]+0].g||0<r[3][n[3]+0].g)return 0}return 1}function xt(t,r,n,i,a,o){if(0!=t.Z){var s=t.qd,u=t.rd;for(e(null!=mi[t.Z]);r<n;++r)mi[t.Z](s,u,i,a,i,a,o),s=i,u=a,a+=o;t.qd=s,t.rd=u}}function St(t,r){var n=t.l.ma,i=0==n.Z||1==n.Z?t.l.j:t.C;i=t.C<i?i:t.C;if(e(r<=t.l.o),r>i){var a=t.l.width,o=n.ca,s=n.tb+a*i,u=t.V,c=t.Ba+t.c*i,l=t.gc;e(1==t.ab),e(3==l[0].hc),Xr(l[0],i,r,u,c,o,s),xt(n,i,r,o,s,a)}t.C=t.Ma=r}function _t(t,r,n,i,a,o,s){var u=t.$/i,c=t.$%i,l=t.m,h=t.s,f=n+t.$,d=f;a=n+i*a;var p=n+i*o,g=280+h.ua,m=t.Pb?u:16777216,v=0<h.ua?h.Wa:null,b=h.wc,y=f<p?wt(h,c,u):null;e(t.C<o),e(p<=a);var w=!1;t:for(;;){for(;w||f<p;){var N=0;if(u>=m){var _=f-n;e((m=t).Pb),m.wd=m.m,m.xd=_,0<m.s.ua&&B(m.s.Wa,m.s.vb),m=u+ti}if(c&b||(y=wt(h,c,u)),e(null!=y),y.Qb&&(r[f]=y.qb,w=!0),!w)if(S(l),y.jc){N=l,_=r;var P=f,k=y.pd[L(N)&Rr-1];e(y.jc),256>k.g?(x(N,N.u+k.g),_[P]=k.value,N=0):(x(N,N.u+k.g-256),e(256<=k.value),N=k.value),0==N&&(w=!0)}else N=bt(y.G[0],y.H[0],l);if(l.h)break;if(w||256>N){if(!w)if(y.nd)r[f]=(y.qb|N<<8)>>>0;else{if(S(l),w=bt(y.G[1],y.H[1],l),S(l),_=bt(y.G[2],y.H[2],l),P=bt(y.G[3],y.H[3],l),l.h)break;r[f]=(P<<24|w<<16|N<<8|_)>>>0}if(w=!1,++f,++c>=i&&(c=0,++u,null!=s&&u<=o&&!(u%16)&&s(t,u),null!=v))for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else if(280>N){if(N=mt(N-256,l),_=bt(y.G[4],y.H[4],l),S(l),_=vt(i,_=mt(_,l)),l.h)break;if(f-n<_||a-f<N)break t;for(P=0;P<N;++P)r[f+P]=r[f+P-_];for(f+=N,c+=N;c>=i;)c-=i,++u,null!=s&&u<=o&&!(u%16)&&s(t,u);if(e(f<=a),c&b&&(y=wt(h,c,u)),null!=v)for(;d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N}else{if(!(N<g))break t;for(w=N-280,e(null!=v);d<f;)N=r[d++],v.X[(506832829*N&4294967295)>>>v.Mb]=N;N=f,e(!(w>>>(_=v).Xa)),r[N]=_.X[w],w=!0}w||e(l.h==A(l))}if(t.Pb&&l.h&&f<a)e(t.m.h),t.a=5,t.m=t.wd,t.$=t.xd,0<t.s.ua&&B(t.s.vb,t.s.Wa);else{if(l.h)break t;null!=s&&s(t,u>o?o:u),t.a=0,t.$=f-n}return 1}return t.a=3,0}function Pt(t){e(null!=t),t.vc=null,t.yc=null,t.Ya=null;var r=t.Wa;null!=r&&(r.X=null),t.vb=null,e(null!=t)}function kt(){var e=new or;return null==e?null:(e.a=0,e.xb=gi,rt(\"Predictor\",\"VP8LPredictors\"),rt(\"Predictor\",\"VP8LPredictors_C\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd\"),rt(\"PredictorAdd\",\"VP8LPredictorsAdd_C\"),Gr=G,$r=J,Qr=K,tn=Z,en=$,rn=Q,nn=tt,t.VP8LMapColor32b=Jr,t.VP8LMapColor8b=Kr,e)}function It(t,r,n,s,u){var c=1,f=[t],p=[r],g=s.m,m=s.s,v=null,b=0;t:for(;;){if(n)for(;c&&y(g,1);){var w=f,N=p,A=s,_=1,P=A.m,k=A.gc[A.ab],I=y(P,2);if(A.Oc&1<<I)c=0;else{switch(A.Oc|=1<<I,k.hc=I,k.Ea=w[0],k.nc=N[0],k.K=[null],++A.ab,e(4>=A.ab),I){case 0:case 1:k.b=y(P,3)+2,_=It(q(k.Ea,k.b),q(k.nc,k.b),0,A,k.K),k.K=k.K[0];break;case 3:var F,C=y(P,8)+1,j=16<C?0:4<C?1:2<C?2:3;if(w[0]=q(k.Ea,j),k.b=j,F=_=It(C,1,0,A,k.K)){var B,M=C,E=k,T=1<<(8>>E.b),D=a(T);if(null==D)F=0;else{var U=E.K[0],z=E.w;for(D[0]=E.K[0][0],B=1;B<1*M;++B)D[B]=R(U[z+B],D[B-1]);for(;B<4*T;++B)D[B]=0;E.K[0]=null,E.K[0]=D,F=1}}_=F;break;case 2:break;default:e(0)}c=_}}if(f=f[0],p=p[0],c&&y(g,1)&&!(c=1<=(b=y(g,4))&&11>=b)){s.a=3;break t}var H;if(H=c)e:{var V,W,G,Y=s,J=f,X=p,K=b,Z=n,$=Y.m,Q=Y.s,tt=[null],et=1,rt=0,nt=Qn[K];r:for(;;){if(Z&&y($,1)){var it=y($,3)+2,at=q(J,it),ot=q(X,it),st=at*ot;if(!It(at,ot,0,Y,tt))break r;for(tt=tt[0],Q.xc=it,V=0;V<st;++V){var ut=tt[V]>>8&65535;tt[V]=ut,ut>=et&&(et=ut+1)}}if($.h)break r;for(W=0;5>W;++W){var ct=Xn[W];!W&&0<K&&(ct+=1<<K),rt<ct&&(rt=ct)}var lt=o(et*nt,h),ht=et,ft=o(ht,d);if(null==ft)var dt=null;else e(65536>=ht),dt=ft;var pt=a(rt);if(null==dt||null==pt||null==lt){Y.a=1;break r}var gt=lt;for(V=G=0;V<et;++V){var mt=dt[V],vt=mt.G,bt=mt.H,wt=0,Nt=1,Lt=0;for(W=0;5>W;++W){ct=Xn[W],vt[W]=gt,bt[W]=G,!W&&0<K&&(ct+=1<<K);n:{var At,xt=ct,St=Y,kt=pt,Ft=gt,Ct=G,jt=0,Ot=St.m,Bt=y(Ot,1);if(i(kt,0,0,xt),Bt){var Mt=y(Ot,1)+1,Et=y(Ot,1),qt=y(Ot,0==Et?1:8);kt[qt]=1,2==Mt&&(kt[qt=y(Ot,8)]=1);var Rt=1}else{var Tt=a(19),Dt=y(Ot,4)+4;if(19<Dt){St.a=3;var Ut=0;break n}for(At=0;At<Dt;++At)Tt[Zn[At]]=y(Ot,3);var zt=void 0,Ht=void 0,Vt=St,Wt=Tt,Gt=xt,Yt=kt,Jt=0,Xt=Vt.m,Kt=8,Zt=o(128,h);i:for(;l(Zt,0,7,Wt,19);){if(y(Xt,1)){var $t=2+2*y(Xt,3);if((zt=2+y(Xt,$t))>Gt)break i}else zt=Gt;for(Ht=0;Ht<Gt&&zt--;){S(Xt);var Qt=Zt[0+(127&L(Xt))];x(Xt,Xt.u+Qt.g);var te=Qt.value;if(16>te)Yt[Ht++]=te,0!=te&&(Kt=te);else{var ee=16==te,re=te-16,ne=Jn[re],ie=y(Xt,Yn[re])+ne;if(Ht+ie>Gt)break i;for(var ae=ee?Kt:0;0<ie--;)Yt[Ht++]=ae}}Jt=1;break i}Jt||(Vt.a=3),Rt=Jt}(Rt=Rt&&!Ot.h)&&(jt=l(Ft,Ct,8,kt,xt)),Rt&&0!=jt?Ut=jt:(St.a=3,Ut=0)}if(0==Ut)break r;if(Nt&&1==Kn[W]&&(Nt=0==gt[G].g),wt+=gt[G].g,G+=Ut,3>=W){var oe,se=pt[0];for(oe=1;oe<ct;++oe)pt[oe]>se&&(se=pt[oe]);Lt+=se}}if(mt.nd=Nt,mt.Qb=0,Nt&&(mt.qb=(vt[3][bt[3]+0].value<<24|vt[1][bt[1]+0].value<<16|vt[2][bt[2]+0].value)>>>0,0==wt&&256>vt[0][bt[0]+0].value&&(mt.Qb=1,mt.qb+=vt[0][bt[0]+0].value<<8)),mt.jc=!mt.Qb&&6>Lt,mt.jc){var ue,ce=mt;for(ue=0;ue<Rr;++ue){var le=ue,he=ce.pd[le],fe=ce.G[0][ce.H[0]+le];256<=fe.value?(he.g=fe.g+256,he.value=fe.value):(he.g=0,he.value=0,le>>=yt(fe,8,he),le>>=yt(ce.G[1][ce.H[1]+le],16,he),le>>=yt(ce.G[2][ce.H[2]+le],0,he),yt(ce.G[3][ce.H[3]+le],24,he))}}}Q.vc=tt,Q.Wb=et,Q.Ya=dt,Q.yc=lt,H=1;break e}H=0}if(!(c=H)){s.a=3;break t}if(0<b){if(m.ua=1<<b,!O(m.Wa,b)){s.a=1,c=0;break t}}else m.ua=0;var de=s,pe=f,ge=p,me=de.s,ve=me.xc;if(de.c=pe,de.i=ge,me.md=q(pe,ve),me.wc=0==ve?-1:(1<<ve)-1,n){s.xb=pi;break t}if(null==(v=a(f*p))){s.a=1,c=0;break t}c=(c=_t(s,v,0,f,p,p,null))&&!g.h;break t}return c?(null!=u?u[0]=v:(e(null==v),e(n)),s.$=0,n||Pt(m)):Pt(m),c}function Ft(t,r){var n=t.c*t.i,i=n+r+16*r;return e(t.c<=r),t.V=a(i),null==t.V?(t.Ta=null,t.Ua=0,t.a=1,0):(t.Ta=t.V,t.Ua=t.Ba+n+r,1)}function Ct(t,r){var n=t.C,i=r-n,a=t.V,o=t.Ba+t.c*n;for(e(r<=t.l.o);0<i;){var s=16<i?16:i,u=t.l.ma,c=t.l.width,l=c*s,h=u.ca,f=u.tb+c*n,d=t.Ta,p=t.Ua;Nt(t,s,a,o),_n(d,p,h,f,l),xt(u,n,n+s,h,f,c),i-=s,a+=s*t.c,n+=s}e(n==r),t.C=t.Ma=r}function jt(){this.ub=this.yd=this.td=this.Rb=0}function Ot(){this.Kd=this.Ld=this.Ud=this.Td=this.i=this.c=0}function Bt(){this.Fb=this.Bb=this.Cb=0,this.Zb=a(4),this.Lb=a(4)}function Mt(){this.Yb=function(){var t=[];return function t(e,r,n){for(var i=n[r],a=0;a<i&&(e.push(n.length>r+1?[]:0),!(n.length<r+1));a++)t(e[a],r+1,n)}(t,0,[3,11]),t}()}function Et(){this.jb=a(3),this.Wc=s([4,8],Mt),this.Xc=s([4,17],Mt)}function qt(){this.Pc=this.wb=this.Tb=this.zd=0,this.vd=new a(4),this.od=new a(4)}function Rt(){this.ld=this.La=this.dd=this.tc=0}function Tt(){this.Na=this.la=0}function Dt(){this.Sc=[0,0],this.Eb=[0,0],this.Qc=[0,0],this.ia=this.lc=0}function Ut(){this.ad=a(384),this.Za=0,this.Ob=a(16),this.$b=this.Ad=this.ia=this.Gc=this.Hc=this.Dd=0}function zt(){this.uc=this.M=this.Nb=0,this.wa=Array(new Rt),this.Y=0,this.ya=Array(new Ut),this.aa=0,this.l=new Gt}function Ht(){this.y=a(16),this.f=a(8),this.ea=a(8)}function Vt(){this.cb=this.a=0,this.sc=\"\",this.m=new w,this.Od=new jt,this.Kc=new Ot,this.ed=new qt,this.Qa=new Bt,this.Ic=this.$c=this.Aa=0,this.D=new zt,this.Xb=this.Va=this.Hb=this.zb=this.yb=this.Ub=this.za=0,this.Jc=o(8,w),this.ia=0,this.pb=o(4,Dt),this.Pa=new Et,this.Bd=this.kc=0,this.Ac=[],this.Bc=0,this.zc=[0,0,0,0],this.Gd=Array(new Ht),this.Hd=0,this.rb=Array(new Tt),this.sb=0,this.wa=Array(new Rt),this.Y=0,this.oc=[],this.pc=0,this.sa=[],this.ta=0,this.qa=[],this.ra=0,this.Ha=[],this.B=this.R=this.Ia=0,this.Ec=[],this.M=this.ja=this.Vb=this.Fc=0,this.ya=Array(new Ut),this.L=this.aa=0,this.gd=s([4,2],Rt),this.ga=null,this.Fa=[],this.Cc=this.qc=this.P=0,this.Gb=[],this.Uc=0,this.mb=[],this.nb=0,this.rc=[],this.Ga=this.Vc=0}function Wt(t,e){return 0>t?0:t>e?e:t}function Gt(){this.T=this.U=this.ka=this.height=this.width=0,this.y=[],this.f=[],this.ea=[],this.Rc=this.fa=this.W=this.N=this.O=0,this.ma=\"void\",this.put=\"VP8IoPutHook\",this.ac=\"VP8IoSetupHook\",this.bc=\"VP8IoTeardownHook\",this.ha=this.Kb=0,this.data=[],this.hb=this.ib=this.da=this.o=this.j=this.va=this.v=this.Da=this.ob=this.w=0,this.F=[],this.J=0}function Yt(){var t=new Vt;return null!=t&&(t.a=0,t.sc=\"OK\",t.cb=0,t.Xb=0,ni||(ni=Zt)),t}function Jt(t,e,r){return 0==t.a&&(t.a=e,t.sc=r,t.cb=0),0}function Xt(t,e,r){return 3<=r&&157==t[e+0]&&1==t[e+1]&&42==t[e+2]}function Kt(t,r){if(null==t)return 0;if(t.a=0,t.sc=\"OK\",null==r)return Jt(t,2,\"null VP8Io passed to VP8GetHeaders()\");var n=r.data,a=r.w,o=r.ha;if(4>o)return Jt(t,7,\"Truncated header.\");var s=n[a+0]|n[a+1]<<8|n[a+2]<<16,u=t.Od;if(u.Rb=!(1&s),u.td=s>>1&7,u.yd=s>>4&1,u.ub=s>>5,3<u.td)return Jt(t,3,\"Incorrect keyframe parameters.\");if(!u.yd)return Jt(t,4,\"Frame not displayable.\");a+=3,o-=3;var c=t.Kc;if(u.Rb){if(7>o)return Jt(t,7,\"cannot parse picture header\");if(!Xt(n,a,o))return Jt(t,3,\"Bad code word\");c.c=16383&(n[a+4]<<8|n[a+3]),c.Td=n[a+4]>>6,c.i=16383&(n[a+6]<<8|n[a+5]),c.Ud=n[a+6]>>6,a+=7,o-=7,t.za=c.c+15>>4,t.Ub=c.i+15>>4,r.width=c.c,r.height=c.i,r.Da=0,r.j=0,r.v=0,r.va=r.width,r.o=r.height,r.da=0,r.ib=r.width,r.hb=r.height,r.U=r.width,r.T=r.height,i((s=t.Pa).jb,0,255,s.jb.length),e(null!=(s=t.Qa)),s.Cb=0,s.Bb=0,s.Fb=1,i(s.Zb,0,0,s.Zb.length),i(s.Lb,0,0,s.Lb)}if(u.ub>o)return Jt(t,7,\"bad partition length\");p(s=t.m,n,a,u.ub),a+=u.ub,o-=u.ub,u.Rb&&(c.Ld=P(s),c.Kd=P(s)),c=t.Qa;var l,h=t.Pa;if(e(null!=s),e(null!=c),c.Cb=P(s),c.Cb){if(c.Bb=P(s),P(s)){for(c.Fb=P(s),l=0;4>l;++l)c.Zb[l]=P(s)?m(s,7):0;for(l=0;4>l;++l)c.Lb[l]=P(s)?m(s,6):0}if(c.Bb)for(l=0;3>l;++l)h.jb[l]=P(s)?g(s,8):255}else c.Bb=0;if(s.Ka)return Jt(t,3,\"cannot parse segment header\");if((c=t.ed).zd=P(s),c.Tb=g(s,6),c.wb=g(s,3),c.Pc=P(s),c.Pc&&P(s)){for(h=0;4>h;++h)P(s)&&(c.vd[h]=m(s,6));for(h=0;4>h;++h)P(s)&&(c.od[h]=m(s,6))}if(t.L=0==c.Tb?0:c.zd?1:2,s.Ka)return Jt(t,3,\"cannot parse filter header\");var f=o;if(o=l=a,a=l+f,c=f,t.Xb=(1<<g(t.m,2))-1,f<3*(h=t.Xb))n=7;else{for(l+=3*h,c-=3*h,f=0;f<h;++f){var d=n[o+0]|n[o+1]<<8|n[o+2]<<16;d>c&&(d=c),p(t.Jc[+f],n,l,d),l+=d,c-=d,o+=3}p(t.Jc[+h],n,l,c),n=l<a?0:5}if(0!=n)return Jt(t,n,\"cannot parse partitions\");for(n=g(l=t.m,7),o=P(l)?m(l,4):0,a=P(l)?m(l,4):0,c=P(l)?m(l,4):0,h=P(l)?m(l,4):0,l=P(l)?m(l,4):0,f=t.Qa,d=0;4>d;++d){if(f.Cb){var v=f.Zb[d];f.Fb||(v+=n)}else{if(0<d){t.pb[d]=t.pb[0];continue}v=n}var b=t.pb[d];b.Sc[0]=ei[Wt(v+o,127)],b.Sc[1]=ri[Wt(v+0,127)],b.Eb[0]=2*ei[Wt(v+a,127)],b.Eb[1]=101581*ri[Wt(v+c,127)]>>16,8>b.Eb[1]&&(b.Eb[1]=8),b.Qc[0]=ei[Wt(v+h,117)],b.Qc[1]=ri[Wt(v+l,127)],b.lc=v+l}if(!u.Rb)return Jt(t,4,\"Not a key frame.\");for(P(s),u=t.Pa,n=0;4>n;++n){for(o=0;8>o;++o)for(a=0;3>a;++a)for(c=0;11>c;++c)h=k(s,ci[n][o][a][c])?g(s,8):si[n][o][a][c],u.Wc[n][o].Yb[a][c]=h;for(o=0;17>o;++o)u.Xc[n][o]=u.Wc[n][li[o]]}return t.kc=P(s),t.kc&&(t.Bd=g(s,8)),t.cb=1}function Zt(t,e,r,n,i,a,o){var s=e[i].Yb[r];for(r=0;16>i;++i){if(!k(t,s[r+0]))return i;for(;!k(t,s[r+1]);)if(s=e[++i].Yb[0],r=0,16==i)return 16;var u=e[i+1].Yb;if(k(t,s[r+2])){var c=t,l=0;if(k(c,(f=s)[(h=r)+3]))if(k(c,f[h+6])){for(s=0,h=2*(l=k(c,f[h+8]))+(f=k(c,f[h+9+l])),l=0,f=ii[h];f[s];++s)l+=l+k(c,f[s]);l+=3+(8<<h)}else k(c,f[h+7])?(l=7+2*k(c,165),l+=k(c,145)):l=5+k(c,159);else l=k(c,f[h+4])?3+k(c,f[h+5]):2;s=u[2]}else l=1,s=u[1];u=o+ai[i],0>(c=t).b&&_(c);var h,f=c.b,d=(h=c.Ca>>1)-(c.I>>f)>>31;--c.b,c.Ca+=d,c.Ca|=1,c.I-=(h+1&d)<<f,a[u]=((l^d)-d)*n[(0<i)+0]}return 16}function $t(t){var e=t.rb[t.sb-1];e.la=0,e.Na=0,i(t.zc,0,0,t.zc.length),t.ja=0}function Qt(t,r){if(null==t)return 0;if(null==r)return Jt(t,2,\"NULL VP8Io parameter in VP8Decode().\");if(!t.cb&&!Kt(t,r))return 0;if(e(t.cb),null==r.ac||r.ac(r)){r.ob&&(t.L=0);var s=Ti[t.L];if(2==t.L?(t.yb=0,t.zb=0):(t.yb=r.v-s>>4,t.zb=r.j-s>>4,0>t.yb&&(t.yb=0),0>t.zb&&(t.zb=0)),t.Va=r.o+15+s>>4,t.Hb=r.va+15+s>>4,t.Hb>t.za&&(t.Hb=t.za),t.Va>t.Ub&&(t.Va=t.Ub),0<t.L){var u=t.ed;for(s=0;4>s;++s){var c;if(t.Qa.Cb){var l=t.Qa.Lb[s];t.Qa.Fb||(l+=u.Tb)}else l=u.Tb;for(c=0;1>=c;++c){var h=t.gd[s][c],f=l;if(u.Pc&&(f+=u.vd[0],c&&(f+=u.od[0])),0<(f=0>f?0:63<f?63:f)){var d=f;0<u.wb&&((d=4<u.wb?d>>2:d>>1)>9-u.wb&&(d=9-u.wb)),1>d&&(d=1),h.dd=d,h.tc=2*f+d,h.ld=40<=f?2:15<=f?1:0}else h.tc=0;h.La=c}}}s=0}else Jt(t,6,\"Frame setup failed\"),s=t.a;if(s=0==s){if(s){t.$c=0,0<t.Aa||(t.Ic=Ui);t:{s=t.Ic;u=4*(d=t.za);var p=32*d,g=d+1,m=0<t.L?d*(0<t.Aa?2:1):0,v=(2==t.Aa?2:1)*d;if((h=u+832+(c=3*(16*s+Ti[t.L])/2*p)+(l=null!=t.Fa&&0<t.Fa.length?t.Kc.c*t.Kc.i:0))!=h)s=0;else{if(h>t.Vb){if(t.Vb=0,t.Ec=a(h),t.Fc=0,null==t.Ec){s=Jt(t,1,\"no memory during frame initialization.\");break t}t.Vb=h}h=t.Ec,f=t.Fc,t.Ac=h,t.Bc=f,f+=u,t.Gd=o(p,Ht),t.Hd=0,t.rb=o(g+1,Tt),t.sb=1,t.wa=m?o(m,Rt):null,t.Y=0,t.D.Nb=0,t.D.wa=t.wa,t.D.Y=t.Y,0<t.Aa&&(t.D.Y+=d),e(!0),t.oc=h,t.pc=f,f+=832,t.ya=o(v,Ut),t.aa=0,t.D.ya=t.ya,t.D.aa=t.aa,2==t.Aa&&(t.D.aa+=d),t.R=16*d,t.B=8*d,d=(p=Ti[t.L])*t.R,p=p/2*t.B,t.sa=h,t.ta=f+d,t.qa=t.sa,t.ra=t.ta+16*s*t.R+p,t.Ha=t.qa,t.Ia=t.ra+8*s*t.B+p,t.$c=0,f+=c,t.mb=l?h:null,t.nb=l?f:null,e(f+l<=t.Fc+t.Vb),$t(t),i(t.Ac,t.Bc,0,u),s=1}}if(s){if(r.ka=0,r.y=t.sa,r.O=t.ta,r.f=t.qa,r.N=t.ra,r.ea=t.Ha,r.Vd=t.Ia,r.fa=t.R,r.Rc=t.B,r.F=null,r.J=0,!Cn){for(s=-255;255>=s;++s)Pn[255+s]=0>s?-s:s;for(s=-1020;1020>=s;++s)kn[1020+s]=-128>s?-128:127<s?127:s;for(s=-112;112>=s;++s)In[112+s]=-16>s?-16:15<s?15:s;for(s=-255;510>=s;++s)Fn[255+s]=0>s?0:255<s?255:s;Cn=1}an=ce,on=ae,un=oe,cn=se,ln=ue,sn=ie,hn=Je,fn=Xe,dn=$e,pn=Qe,gn=Ke,mn=Ze,vn=tr,bn=er,yn=ze,wn=He,Nn=Ve,Ln=We,fi[0]=xe,fi[1]=he,fi[2]=Le,fi[3]=Ae,fi[4]=Se,fi[5]=Pe,fi[6]=_e,fi[7]=ke,fi[8]=Fe,fi[9]=Ie,hi[0]=ve,hi[1]=de,hi[2]=pe,hi[3]=ge,hi[4]=be,hi[5]=ye,hi[6]=we,di[0]=Be,di[1]=fe,di[2]=Ce,di[3]=je,di[4]=Ee,di[5]=Me,di[6]=qe,s=1}else s=0}s&&(s=function(t,r){for(t.M=0;t.M<t.Va;++t.M){var o,s=t.Jc[t.M&t.Xb],u=t.m,c=t;for(o=0;o<c.za;++o){var l=u,h=c,f=h.Ac,d=h.Bc+4*o,p=h.zc,g=h.ya[h.aa+o];if(h.Qa.Bb?g.$b=k(l,h.Pa.jb[0])?2+k(l,h.Pa.jb[2]):k(l,h.Pa.jb[1]):g.$b=0,h.kc&&(g.Ad=k(l,h.Bd)),g.Za=!k(l,145)+0,g.Za){var m=g.Ob,v=0;for(h=0;4>h;++h){var b,y=p[0+h];for(b=0;4>b;++b){y=ui[f[d+b]][y];for(var w=oi[k(l,y[0])];0<w;)w=oi[2*w+k(l,y[w])];y=-w,f[d+b]=y}n(m,v,f,d,4),v+=4,p[0+h]=y}}else y=k(l,156)?k(l,128)?1:3:k(l,163)?2:0,g.Ob[0]=y,i(f,d,y,4),i(p,0,y,4);g.Dd=k(l,142)?k(l,114)?k(l,183)?1:3:2:0}if(c.m.Ka)return Jt(t,7,\"Premature end-of-partition0 encountered.\");for(;t.ja<t.za;++t.ja){if(c=s,l=(u=t).rb[u.sb-1],f=u.rb[u.sb+u.ja],o=u.ya[u.aa+u.ja],d=u.kc?o.Ad:0)l.la=f.la=0,o.Za||(l.Na=f.Na=0),o.Hc=0,o.Gc=0,o.ia=0;else{var N,L;l=f,f=c,d=u.Pa.Xc,p=u.ya[u.aa+u.ja],g=u.pb[p.$b];if(h=p.ad,m=0,v=u.rb[u.sb-1],y=b=0,i(h,m,0,384),p.Za)var A=0,x=d[3];else{w=a(16);var S=l.Na+v.Na;if(S=ni(f,d[1],S,g.Eb,0,w,0),l.Na=v.Na=(0<S)+0,1<S)an(w,0,h,m);else{var _=w[0]+3>>3;for(w=0;256>w;w+=16)h[m+w]=_}A=1,x=d[0]}var P=15&l.la,I=15&v.la;for(w=0;4>w;++w){var F=1&I;for(_=L=0;4>_;++_)P=P>>1|(F=(S=ni(f,x,S=F+(1&P),g.Sc,A,h,m))>A)<<7,L=L<<2|(3<S?3:1<S?2:0!=h[m+0]),m+=16;P>>=4,I=I>>1|F<<7,b=(b<<8|L)>>>0}for(x=P,A=I>>4,N=0;4>N;N+=2){for(L=0,P=l.la>>4+N,I=v.la>>4+N,w=0;2>w;++w){for(F=1&I,_=0;2>_;++_)S=F+(1&P),P=P>>1|(F=0<(S=ni(f,d[2],S,g.Qc,0,h,m)))<<3,L=L<<2|(3<S?3:1<S?2:0!=h[m+0]),m+=16;P>>=2,I=I>>1|F<<5}y|=L<<4*N,x|=P<<4<<N,A|=(240&I)<<N}l.la=x,v.la=A,p.Hc=b,p.Gc=y,p.ia=43690&y?0:g.ia,d=!(b|y)}if(0<u.L&&(u.wa[u.Y+u.ja]=u.gd[o.$b][o.Za],u.wa[u.Y+u.ja].La|=!d),c.Ka)return Jt(t,7,\"Premature end-of-file encountered.\")}if($t(t),u=r,c=1,o=(s=t).D,l=0<s.L&&s.M>=s.zb&&s.M<=s.Va,0==s.Aa)t:{if(o.M=s.M,o.uc=l,Or(s,o),c=1,o=(L=s.D).Nb,l=(y=Ti[s.L])*s.R,f=y/2*s.B,w=16*o*s.R,_=8*o*s.B,d=s.sa,p=s.ta-l+w,g=s.qa,h=s.ra-f+_,m=s.Ha,v=s.Ia-f+_,I=0==(P=L.M),b=P>=s.Va-1,2==s.Aa&&Or(s,L),L.uc)for(F=(S=s).D.M,e(S.D.uc),L=S.yb;L<S.Hb;++L){A=L,x=F;var C=(j=(U=S).D).Nb;N=U.R;var j=j.wa[j.Y+A],O=U.sa,B=U.ta+16*C*N+16*A,M=j.dd,E=j.tc;if(0!=E)if(e(3<=E),1==U.L)0<A&&wn(O,B,N,E+4),j.La&&Ln(O,B,N,E),0<x&&yn(O,B,N,E+4),j.La&&Nn(O,B,N,E);else{var q=U.B,R=U.qa,T=U.ra+8*C*q+8*A,D=U.Ha,U=U.Ia+8*C*q+8*A;C=j.ld;0<A&&(fn(O,B,N,E+4,M,C),pn(R,T,D,U,q,E+4,M,C)),j.La&&(mn(O,B,N,E,M,C),bn(R,T,D,U,q,E,M,C)),0<x&&(hn(O,B,N,E+4,M,C),dn(R,T,D,U,q,E+4,M,C)),j.La&&(gn(O,B,N,E,M,C),vn(R,T,D,U,q,E,M,C))}}if(s.ia&&alert(\"todo:DitherRow\"),null!=u.put){if(L=16*P,P=16*(P+1),I?(u.y=s.sa,u.O=s.ta+w,u.f=s.qa,u.N=s.ra+_,u.ea=s.Ha,u.W=s.Ia+_):(L-=y,u.y=d,u.O=p,u.f=g,u.N=h,u.ea=m,u.W=v),b||(P-=y),P>u.o&&(P=u.o),u.F=null,u.J=null,null!=s.Fa&&0<s.Fa.length&&L<P&&(u.J=hr(s,u,L,P-L),u.F=s.mb,null==u.F&&0==u.F.length)){c=Jt(s,3,\"Could not decode alpha data.\");break t}L<u.j&&(y=u.j-L,L=u.j,e(!(1&y)),u.O+=s.R*y,u.N+=s.B*(y>>1),u.W+=s.B*(y>>1),null!=u.F&&(u.J+=u.width*y)),L<P&&(u.O+=u.v,u.N+=u.v>>1,u.W+=u.v>>1,null!=u.F&&(u.J+=u.v),u.ka=L-u.j,u.U=u.va-u.v,u.T=P-L,c=u.put(u))}o+1!=s.Ic||b||(n(s.sa,s.ta-l,d,p+16*s.R,l),n(s.qa,s.ra-f,g,h+8*s.B,f),n(s.Ha,s.Ia-f,m,v+8*s.B,f))}if(!c)return Jt(t,6,\"Output aborted.\")}return 1}(t,r)),null!=r.bc&&r.bc(r),s&=1}return s?(t.cb=0,s):0}function te(t,e,r,n,i){i=t[e+r+32*n]+(i>>3),t[e+r+32*n]=-256&i?0>i?0:255:i}function ee(t,e,r,n,i,a){te(t,e,0,r,n+i),te(t,e,1,r,n+a),te(t,e,2,r,n-a),te(t,e,3,r,n-i)}function re(t){return(20091*t>>16)+t}function ne(t,e,r,n){var i,o=0,s=a(16);for(i=0;4>i;++i){var u=t[e+0]+t[e+8],c=t[e+0]-t[e+8],l=(35468*t[e+4]>>16)-re(t[e+12]),h=re(t[e+4])+(35468*t[e+12]>>16);s[o+0]=u+h,s[o+1]=c+l,s[o+2]=c-l,s[o+3]=u-h,o+=4,e++}for(i=o=0;4>i;++i)u=(t=s[o+0]+4)+s[o+8],c=t-s[o+8],l=(35468*s[o+4]>>16)-re(s[o+12]),te(r,n,0,0,u+(h=re(s[o+4])+(35468*s[o+12]>>16))),te(r,n,1,0,c+l),te(r,n,2,0,c-l),te(r,n,3,0,u-h),o++,n+=32}function ie(t,e,r,n){var i=t[e+0]+4,a=35468*t[e+4]>>16,o=re(t[e+4]),s=35468*t[e+1]>>16;ee(r,n,0,i+o,t=re(t[e+1]),s),ee(r,n,1,i+a,t,s),ee(r,n,2,i-a,t,s),ee(r,n,3,i-o,t,s)}function ae(t,e,r,n,i){ne(t,e,r,n),i&&ne(t,e+16,r,n+4)}function oe(t,e,r,n){on(t,e+0,r,n,1),on(t,e+32,r,n+128,1)}function se(t,e,r,n){var i;for(t=t[e+0]+4,i=0;4>i;++i)for(e=0;4>e;++e)te(r,n,e,i,t)}function ue(t,e,r,n){t[e+0]&&cn(t,e+0,r,n),t[e+16]&&cn(t,e+16,r,n+4),t[e+32]&&cn(t,e+32,r,n+128),t[e+48]&&cn(t,e+48,r,n+128+4)}function ce(t,e,r,n){var i,o=a(16);for(i=0;4>i;++i){var s=t[e+0+i]+t[e+12+i],u=t[e+4+i]+t[e+8+i],c=t[e+4+i]-t[e+8+i],l=t[e+0+i]-t[e+12+i];o[0+i]=s+u,o[8+i]=s-u,o[4+i]=l+c,o[12+i]=l-c}for(i=0;4>i;++i)s=(t=o[0+4*i]+3)+o[3+4*i],u=o[1+4*i]+o[2+4*i],c=o[1+4*i]-o[2+4*i],l=t-o[3+4*i],r[n+0]=s+u>>3,r[n+16]=l+c>>3,r[n+32]=s-u>>3,r[n+48]=l-c>>3,n+=64}function le(t,e,r){var n,i=e-32,a=Bn,o=255-t[i-1];for(n=0;n<r;++n){var s,u=a,c=o+t[e-1];for(s=0;s<r;++s)t[e+s]=u[c+t[i+s]];e+=32}}function he(t,e){le(t,e,4)}function fe(t,e){le(t,e,8)}function de(t,e){le(t,e,16)}function pe(t,e){var r;for(r=0;16>r;++r)n(t,e+32*r,t,e-32,16)}function ge(t,e){var r;for(r=16;0<r;--r)i(t,e,t[e-1],16),e+=32}function me(t,e,r){var n;for(n=0;16>n;++n)i(e,r+32*n,t,16)}function ve(t,e){var r,n=16;for(r=0;16>r;++r)n+=t[e-1+32*r]+t[e+r-32];me(n>>5,t,e)}function be(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e-1+32*r];me(n>>4,t,e)}function ye(t,e){var r,n=8;for(r=0;16>r;++r)n+=t[e+r-32];me(n>>4,t,e)}function we(t,e){me(128,t,e)}function Ne(t,e,r){return t+2*e+r+2>>2}function Le(t,e){var r,i=e-32;i=new Uint8Array([Ne(t[i-1],t[i+0],t[i+1]),Ne(t[i+0],t[i+1],t[i+2]),Ne(t[i+1],t[i+2],t[i+3]),Ne(t[i+2],t[i+3],t[i+4])]);for(r=0;4>r;++r)n(t,e+32*r,i,0,i.length)}function Ae(t,e){var r=t[e-1],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];I(t,e+0,16843009*Ne(t[e-1-32],r,n)),I(t,e+32,16843009*Ne(r,n,i)),I(t,e+64,16843009*Ne(n,i,a)),I(t,e+96,16843009*Ne(i,a,a))}function xe(t,e){var r,n=4;for(r=0;4>r;++r)n+=t[e+r-32]+t[e-1+32*r];for(n>>=3,r=0;4>r;++r)i(t,e+32*r,n,4)}function Se(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],u=t[e+2-32],c=t[e+3-32];t[e+0+96]=Ne(n,i,t[e-1+96]),t[e+1+96]=t[e+0+64]=Ne(r,n,i),t[e+2+96]=t[e+1+64]=t[e+0+32]=Ne(a,r,n),t[e+3+96]=t[e+2+64]=t[e+1+32]=t[e+0+0]=Ne(o,a,r),t[e+3+64]=t[e+2+32]=t[e+1+0]=Ne(s,o,a),t[e+3+32]=t[e+2+0]=Ne(u,s,o),t[e+3+0]=Ne(c,u,s)}function _e(t,e){var r=t[e+1-32],n=t[e+2-32],i=t[e+3-32],a=t[e+4-32],o=t[e+5-32],s=t[e+6-32],u=t[e+7-32];t[e+0+0]=Ne(t[e+0-32],r,n),t[e+1+0]=t[e+0+32]=Ne(r,n,i),t[e+2+0]=t[e+1+32]=t[e+0+64]=Ne(n,i,a),t[e+3+0]=t[e+2+32]=t[e+1+64]=t[e+0+96]=Ne(i,a,o),t[e+3+32]=t[e+2+64]=t[e+1+96]=Ne(a,o,s),t[e+3+64]=t[e+2+96]=Ne(o,s,u),t[e+3+96]=Ne(s,u,u)}function Pe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1-32],o=t[e+0-32],s=t[e+1-32],u=t[e+2-32],c=t[e+3-32];t[e+0+0]=t[e+1+64]=a+o+1>>1,t[e+1+0]=t[e+2+64]=o+s+1>>1,t[e+2+0]=t[e+3+64]=s+u+1>>1,t[e+3+0]=u+c+1>>1,t[e+0+96]=Ne(i,n,r),t[e+0+64]=Ne(n,r,a),t[e+0+32]=t[e+1+96]=Ne(r,a,o),t[e+1+32]=t[e+2+96]=Ne(a,o,s),t[e+2+32]=t[e+3+96]=Ne(o,s,u),t[e+3+32]=Ne(s,u,c)}function ke(t,e){var r=t[e+0-32],n=t[e+1-32],i=t[e+2-32],a=t[e+3-32],o=t[e+4-32],s=t[e+5-32],u=t[e+6-32],c=t[e+7-32];t[e+0+0]=r+n+1>>1,t[e+1+0]=t[e+0+64]=n+i+1>>1,t[e+2+0]=t[e+1+64]=i+a+1>>1,t[e+3+0]=t[e+2+64]=a+o+1>>1,t[e+0+32]=Ne(r,n,i),t[e+1+32]=t[e+0+96]=Ne(n,i,a),t[e+2+32]=t[e+1+96]=Ne(i,a,o),t[e+3+32]=t[e+2+96]=Ne(a,o,s),t[e+3+64]=Ne(o,s,u),t[e+3+96]=Ne(s,u,c)}function Ie(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96];t[e+0+0]=r+n+1>>1,t[e+2+0]=t[e+0+32]=n+i+1>>1,t[e+2+32]=t[e+0+64]=i+a+1>>1,t[e+1+0]=Ne(r,n,i),t[e+3+0]=t[e+1+32]=Ne(n,i,a),t[e+3+32]=t[e+1+64]=Ne(i,a,a),t[e+3+64]=t[e+2+64]=t[e+0+96]=t[e+1+96]=t[e+2+96]=t[e+3+96]=a}function Fe(t,e){var r=t[e-1+0],n=t[e-1+32],i=t[e-1+64],a=t[e-1+96],o=t[e-1-32],s=t[e+0-32],u=t[e+1-32],c=t[e+2-32];t[e+0+0]=t[e+2+32]=r+o+1>>1,t[e+0+32]=t[e+2+64]=n+r+1>>1,t[e+0+64]=t[e+2+96]=i+n+1>>1,t[e+0+96]=a+i+1>>1,t[e+3+0]=Ne(s,u,c),t[e+2+0]=Ne(o,s,u),t[e+1+0]=t[e+3+32]=Ne(r,o,s),t[e+1+32]=t[e+3+64]=Ne(n,r,o),t[e+1+64]=t[e+3+96]=Ne(i,n,r),t[e+1+96]=Ne(a,i,n)}function Ce(t,e){var r;for(r=0;8>r;++r)n(t,e+32*r,t,e-32,8)}function je(t,e){var r;for(r=0;8>r;++r)i(t,e,t[e-1],8),e+=32}function Oe(t,e,r){var n;for(n=0;8>n;++n)i(e,r+32*n,t,8)}function Be(t,e){var r,n=8;for(r=0;8>r;++r)n+=t[e+r-32]+t[e-1+32*r];Oe(n>>4,t,e)}function Me(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e+r-32];Oe(n>>3,t,e)}function Ee(t,e){var r,n=4;for(r=0;8>r;++r)n+=t[e-1+32*r];Oe(n>>3,t,e)}function qe(t,e){Oe(128,t,e)}function Re(t,e,r){var n=t[e-r],i=t[e+0],a=3*(i-n)+jn[1020+t[e-2*r]-t[e+r]],o=On[112+(a+4>>3)];t[e-r]=Bn[255+n+On[112+(a+3>>3)]],t[e+0]=Bn[255+i-o]}function Te(t,e,r,n){var i=t[e+0],a=t[e+r];return Mn[255+t[e-2*r]-t[e-r]]>n||Mn[255+a-i]>n}function De(t,e,r,n){return 4*Mn[255+t[e-r]-t[e+0]]+Mn[255+t[e-2*r]-t[e+r]]<=n}function Ue(t,e,r,n,i){var a=t[e-3*r],o=t[e-2*r],s=t[e-r],u=t[e+0],c=t[e+r],l=t[e+2*r],h=t[e+3*r];return 4*Mn[255+s-u]+Mn[255+o-c]>n?0:Mn[255+t[e-4*r]-a]<=i&&Mn[255+a-o]<=i&&Mn[255+o-s]<=i&&Mn[255+h-l]<=i&&Mn[255+l-c]<=i&&Mn[255+c-u]<=i}function ze(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)De(t,e+n,r,i)&&Re(t,e+n,r)}function He(t,e,r,n){var i=2*n+1;for(n=0;16>n;++n)De(t,e+n*r,1,i)&&Re(t,e+n*r,1)}function Ve(t,e,r,n){var i;for(i=3;0<i;--i)ze(t,e+=4*r,r,n)}function We(t,e,r,n){var i;for(i=3;0<i;--i)He(t,e+=4,r,n)}function Ge(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Te(t,e,r,s))Re(t,e,r);else{var u=t,c=e,l=r,h=u[c-2*l],f=u[c-l],d=u[c+0],p=u[c+l],g=u[c+2*l],m=27*(b=jn[1020+3*(d-f)+jn[1020+h-p]])+63>>7,v=18*b+63>>7,b=9*b+63>>7;u[c-3*l]=Bn[255+u[c-3*l]+b],u[c-2*l]=Bn[255+h+v],u[c-l]=Bn[255+f+m],u[c+0]=Bn[255+d-m],u[c+l]=Bn[255+p-v],u[c+2*l]=Bn[255+g-b]}e+=n}}function Ye(t,e,r,n,i,a,o,s){for(a=2*a+1;0<i--;){if(Ue(t,e,r,a,o))if(Te(t,e,r,s))Re(t,e,r);else{var u=t,c=e,l=r,h=u[c-l],f=u[c+0],d=u[c+l],p=On[112+((g=3*(f-h))+4>>3)],g=On[112+(g+3>>3)],m=p+1>>1;u[c-2*l]=Bn[255+u[c-2*l]+m],u[c-l]=Bn[255+h+g],u[c+0]=Bn[255+f-p],u[c+l]=Bn[255+d-m]}e+=n}}function Je(t,e,r,n,i,a){Ge(t,e,r,1,16,n,i,a)}function Xe(t,e,r,n,i,a){Ge(t,e,1,r,16,n,i,a)}function Ke(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4*r,r,1,16,n,i,a)}function Ze(t,e,r,n,i,a){var o;for(o=3;0<o;--o)Ye(t,e+=4,1,r,16,n,i,a)}function $e(t,e,r,n,i,a,o,s){Ge(t,e,i,1,8,a,o,s),Ge(r,n,i,1,8,a,o,s)}function Qe(t,e,r,n,i,a,o,s){Ge(t,e,1,i,8,a,o,s),Ge(r,n,1,i,8,a,o,s)}function tr(t,e,r,n,i,a,o,s){Ye(t,e+4*i,i,1,8,a,o,s),Ye(r,n+4*i,i,1,8,a,o,s)}function er(t,e,r,n,i,a,o,s){Ye(t,e+4,1,i,8,a,o,s),Ye(r,n+4,1,i,8,a,o,s)}function rr(){this.ba=new ot,this.ec=[],this.cc=[],this.Mc=[],this.Dc=this.Nc=this.dc=this.fc=0,this.Oa=new ut,this.memory=0,this.Ib=\"OutputFunc\",this.Jb=\"OutputAlphaFunc\",this.Nd=\"OutputRowFunc\"}function nr(){this.data=[],this.offset=this.kd=this.ha=this.w=0,this.na=[],this.xa=this.gb=this.Ja=this.Sa=this.P=0}function ir(){this.nc=this.Ea=this.b=this.hc=0,this.K=[],this.w=0}function ar(){this.ua=0,this.Wa=new M,this.vb=new M,this.md=this.xc=this.wc=0,this.vc=[],this.Wb=0,this.Ya=new d,this.yc=new h}function or(){this.xb=this.a=0,this.l=new Gt,this.ca=new ot,this.V=[],this.Ba=0,this.Ta=[],this.Ua=0,this.m=new N,this.Pb=0,this.wd=new N,this.Ma=this.$=this.C=this.i=this.c=this.xd=0,this.s=new ar,this.ab=0,this.gc=o(4,ir),this.Oc=0}function sr(){this.Lc=this.Z=this.$a=this.i=this.c=0,this.l=new Gt,this.ic=0,this.ca=[],this.tb=0,this.qd=null,this.rd=0}function ur(t,e,r,n,i,a,o){for(t=null==t?0:t[e+0],e=0;e<o;++e)i[a+e]=t+r[n+e]&255,t=i[a+e]}function cr(t,e,r,n,i,a,o){var s;if(null==t)ur(null,null,r,n,i,a,o);else for(s=0;s<o;++s)i[a+s]=t[e+s]+r[n+s]&255}function lr(t,e,r,n,i,a,o){if(null==t)ur(null,null,r,n,i,a,o);else{var s,u=t[e+0],c=u,l=u;for(s=0;s<o;++s)c=l+(u=t[e+s])-c,l=r[n+s]+(-256&c?0>c?0:255:c)&255,c=u,i[a+s]=l}}function hr(t,r,i,o){var s=r.width,u=r.o;if(e(null!=t&&null!=r),0>i||0>=o||i+o>u)return null;if(!t.Cc){if(null==t.ga){var c;if(t.ga=new sr,(c=null==t.ga)||(c=r.width*r.o,e(0==t.Gb.length),t.Gb=a(c),t.Uc=0,null==t.Gb?c=0:(t.mb=t.Gb,t.nb=t.Uc,t.rc=null,c=1),c=!c),!c){c=t.ga;var l=t.Fa,h=t.P,f=t.qc,d=t.mb,p=t.nb,g=h+1,m=f-1,b=c.l;if(e(null!=l&&null!=d&&null!=r),mi[0]=null,mi[1]=ur,mi[2]=cr,mi[3]=lr,c.ca=d,c.tb=p,c.c=r.width,c.i=r.height,e(0<c.c&&0<c.i),1>=f)r=0;else if(c.$a=l[h+0]>>0&3,c.Z=l[h+0]>>2&3,c.Lc=l[h+0]>>4&3,h=l[h+0]>>6&3,0>c.$a||1<c.$a||4<=c.Z||1<c.Lc||h)r=0;else if(b.put=dt,b.ac=ft,b.bc=pt,b.ma=c,b.width=r.width,b.height=r.height,b.Da=r.Da,b.v=r.v,b.va=r.va,b.j=r.j,b.o=r.o,c.$a)t:{e(1==c.$a),r=kt();e:for(;;){if(null==r){r=0;break t}if(e(null!=c),c.mc=r,r.c=c.c,r.i=c.i,r.l=c.l,r.l.ma=c,r.l.width=c.c,r.l.height=c.i,r.a=0,v(r.m,l,g,m),!It(c.c,c.i,1,r,null))break e;if(1==r.ab&&3==r.gc[0].hc&&At(r.s)?(c.ic=1,l=r.c*r.i,r.Ta=null,r.Ua=0,r.V=a(l),r.Ba=0,null==r.V?(r.a=1,r=0):r=1):(c.ic=0,r=Ft(r,c.c)),!r)break e;r=1;break t}c.mc=null,r=0}else r=m>=c.c*c.i;c=!r}if(c)return null;1!=t.ga.Lc?t.Ga=0:o=u-i}e(null!=t.ga),e(i+o<=u);t:{if(r=(l=t.ga).c,u=l.l.o,0==l.$a){if(g=t.rc,m=t.Vc,b=t.Fa,h=t.P+1+i*r,f=t.mb,d=t.nb+i*r,e(h<=t.P+t.qc),0!=l.Z)for(e(null!=mi[l.Z]),c=0;c<o;++c)mi[l.Z](g,m,b,h,f,d,r),g=f,m=d,d+=r,h+=r;else for(c=0;c<o;++c)n(f,d,b,h,r),g=f,m=d,d+=r,h+=r;t.rc=g,t.Vc=m}else{if(e(null!=l.mc),r=i+o,e(null!=(c=l.mc)),e(r<=c.i),c.C>=r)r=1;else if(l.ic||mr(),l.ic){l=c.V,g=c.Ba,m=c.c;var y=c.i,w=(b=1,h=c.$/m,f=c.$%m,d=c.m,p=c.s,c.$),N=m*y,L=m*r,x=p.wc,_=w<L?wt(p,f,h):null;e(w<=N),e(r<=y),e(At(p));e:for(;;){for(;!d.h&&w<L;){if(f&x||(_=wt(p,f,h)),e(null!=_),S(d),256>(y=bt(_.G[0],_.H[0],d)))l[g+w]=y,++w,++f>=m&&(f=0,++h<=r&&!(h%16)&&St(c,h));else{if(!(280>y)){b=0;break e}y=mt(y-256,d);var P,k=bt(_.G[4],_.H[4],d);if(S(d),!(w>=(k=vt(m,k=mt(k,d)))&&N-w>=y)){b=0;break e}for(P=0;P<y;++P)l[g+w+P]=l[g+w+P-k];for(w+=y,f+=y;f>=m;)f-=m,++h<=r&&!(h%16)&&St(c,h);w<L&&f&x&&(_=wt(p,f,h))}e(d.h==A(d))}St(c,h>r?r:h);break e}!b||d.h&&w<N?(b=0,c.a=d.h?5:3):c.$=w,r=b}else r=_t(c,c.V,c.Ba,c.c,c.i,r,Ct);if(!r){o=0;break t}}i+o>=u&&(t.Cc=1),o=1}if(!o)return null;if(t.Cc&&(null!=(o=t.ga)&&(o.mc=null),t.ga=null,0<t.Ga))return alert(\"todo:WebPDequantizeLevels\"),null}return t.nb+i*s}function fr(t,e,r,n,i,a){for(;0<i--;){var o,s=t,u=e+(r?1:0),c=t,l=e+(r?0:3);for(o=0;o<n;++o){var h=c[l+4*o];255!=h&&(h*=32897,s[u+4*o+0]=s[u+4*o+0]*h>>23,s[u+4*o+1]=s[u+4*o+1]*h>>23,s[u+4*o+2]=s[u+4*o+2]*h>>23)}e+=a}}function dr(t,e,r,n,i){for(;0<n--;){var a;for(a=0;a<r;++a){var o=t[e+2*a+0],s=15&(c=t[e+2*a+1]),u=4369*s,c=(240&c|c>>4)*u>>16;t[e+2*a+0]=(240&o|o>>4)*u>>16&240|(15&o|o<<4)*u>>16>>4&15,t[e+2*a+1]=240&c|s}e+=i}}function pr(t,e,r,n,i,a,o,s){var u,c,l=255;for(c=0;c<i;++c){for(u=0;u<n;++u){var h=t[e+u];a[o+4*u]=h,l&=h}e+=r,o+=s}return 255!=l}function gr(t,e,r,n,i){var a;for(a=0;a<i;++a)r[n+a]=t[e+a]>>8}function mr(){An=fr,xn=dr,Sn=pr,_n=gr}function vr(r,n,i){t[r]=function(t,r,a,o,s,u,c,l,h,f,d,p,g,m,v,b,y){var w,N=y-1>>1,L=s[u+0]|c[l+0]<<16,A=h[f+0]|d[p+0]<<16;e(null!=t);var x=3*L+A+131074>>2;for(n(t[r+0],255&x,x>>16,g,m),null!=a&&(x=3*A+L+131074>>2,n(a[o+0],255&x,x>>16,v,b)),w=1;w<=N;++w){var S=s[u+w]|c[l+w]<<16,_=h[f+w]|d[p+w]<<16,P=L+S+A+_+524296,k=P+2*(S+A)>>3;x=k+L>>1,L=(P=P+2*(L+_)>>3)+S>>1,n(t[r+2*w-1],255&x,x>>16,g,m+(2*w-1)*i),n(t[r+2*w-0],255&L,L>>16,g,m+(2*w-0)*i),null!=a&&(x=P+A>>1,L=k+_>>1,n(a[o+2*w-1],255&x,x>>16,v,b+(2*w-1)*i),n(a[o+2*w+0],255&L,L>>16,v,b+(2*w+0)*i)),L=S,A=_}1&y||(x=3*L+A+131074>>2,n(t[r+y-1],255&x,x>>16,g,m+(y-1)*i),null!=a&&(x=3*A+L+131074>>2,n(a[o+y-1],255&x,x>>16,v,b+(y-1)*i)))}}function br(){vi[En]=bi,vi[qn]=wi,vi[Rn]=yi,vi[Tn]=Ni,vi[Dn]=Li,vi[Un]=Ai,vi[zn]=xi,vi[Hn]=wi,vi[Vn]=Ni,vi[Wn]=Li,vi[Gn]=Ai}function yr(t){return t&~Fi?0>t?0:255:t>>Ii}function wr(t,e){return yr((19077*t>>8)+(26149*e>>8)-14234)}function Nr(t,e,r){return yr((19077*t>>8)-(6419*e>>8)-(13320*r>>8)+8708)}function Lr(t,e){return yr((19077*t>>8)+(33050*e>>8)-17685)}function Ar(t,e,r,n,i){n[i+0]=wr(t,r),n[i+1]=Nr(t,e,r),n[i+2]=Lr(t,e)}function xr(t,e,r,n,i){n[i+0]=Lr(t,e),n[i+1]=Nr(t,e,r),n[i+2]=wr(t,r)}function Sr(t,e,r,n,i){var a=Nr(t,e,r);e=a<<3&224|Lr(t,e)>>3,n[i+0]=248&wr(t,r)|a>>5,n[i+1]=e}function _r(t,e,r,n,i){var a=240&Lr(t,e)|15;n[i+0]=240&wr(t,r)|Nr(t,e,r)>>4,n[i+1]=a}function Pr(t,e,r,n,i){n[i+0]=255,Ar(t,e,r,n,i+1)}function kr(t,e,r,n,i){xr(t,e,r,n,i),n[i+3]=255}function Ir(t,e,r,n,i){Ar(t,e,r,n,i),n[i+3]=255}function Wt(t,e){return 0>t?0:t>e?e:t}function Fr(e,r,n){t[e]=function(t,e,i,a,o,s,u,c,l){for(var h=c+(-2&l)*n;c!=h;)r(t[e+0],i[a+0],o[s+0],u,c),r(t[e+1],i[a+0],o[s+0],u,c+n),e+=2,++a,++s,c+=2*n;1&l&&r(t[e+0],i[a+0],o[s+0],u,c)}}function Cr(t,e,r){return 0==r?0==t?0==e?6:5:0==e?4:0:r}function jr(t,e,r,n,i){switch(t>>>30){case 3:on(e,r,n,i,0);break;case 2:sn(e,r,n,i);break;case 1:cn(e,r,n,i)}}function Or(t,e){var r,a,o=e.M,s=e.Nb,u=t.oc,c=t.pc+40,l=t.oc,h=t.pc+584,f=t.oc,d=t.pc+600;for(r=0;16>r;++r)u[c+32*r-1]=129;for(r=0;8>r;++r)l[h+32*r-1]=129,f[d+32*r-1]=129;for(0<o?u[c-1-32]=l[h-1-32]=f[d-1-32]=129:(i(u,c-32-1,127,21),i(l,h-32-1,127,9),i(f,d-32-1,127,9)),a=0;a<t.za;++a){var p=e.ya[e.aa+a];if(0<a){for(r=-1;16>r;++r)n(u,c+32*r-4,u,c+32*r+12,4);for(r=-1;8>r;++r)n(l,h+32*r-4,l,h+32*r+4,4),n(f,d+32*r-4,f,d+32*r+4,4)}var g=t.Gd,m=t.Hd+a,v=p.ad,b=p.Hc;if(0<o&&(n(u,c-32,g[m].y,0,16),n(l,h-32,g[m].f,0,8),n(f,d-32,g[m].ea,0,8)),p.Za){var y=u,w=c-32+16;for(0<o&&(a>=t.za-1?i(y,w,g[m].y[15],4):n(y,w,g[m+1].y,0,4)),r=0;4>r;r++)y[w+128+r]=y[w+256+r]=y[w+384+r]=y[w+0+r];for(r=0;16>r;++r,b<<=2)y=u,w=c+Ri[r],fi[p.Ob[r]](y,w),jr(b,v,16*+r,y,w)}else if(y=Cr(a,o,p.Ob[0]),hi[y](u,c),0!=b)for(r=0;16>r;++r,b<<=2)jr(b,v,16*+r,u,c+Ri[r]);for(r=p.Gc,y=Cr(a,o,p.Dd),di[y](l,h),di[y](f,d),b=v,y=l,w=h,255&(p=r>>0)&&(170&p?un(b,256,y,w):ln(b,256,y,w)),p=f,b=d,255&(r>>=8)&&(170&r?un(v,320,p,b):ln(v,320,p,b)),o<t.Ub-1&&(n(g[m].y,0,u,c+480,16),n(g[m].f,0,l,h+224,8),n(g[m].ea,0,f,d+224,8)),r=8*s*t.B,g=t.sa,m=t.ta+16*a+16*s*t.R,v=t.qa,p=t.ra+8*a+r,b=t.Ha,y=t.Ia+8*a+r,r=0;16>r;++r)n(g,m+r*t.R,u,c+32*r,16);for(r=0;8>r;++r)n(v,p+r*t.B,l,h+32*r,8),n(b,y+r*t.B,f,d+32*r,8)}}function Br(t,n,i,a,o,s,u,c,l){var h=[0],f=[0],d=0,p=null!=l?l.kd:0,g=null!=l?l:new nr;if(null==t||12>i)return 7;g.data=t,g.w=n,g.ha=i,n=[n],i=[i],g.gb=[g.gb];t:{var m=n,b=i,y=g.gb;if(e(null!=t),e(null!=b),e(null!=y),y[0]=0,12<=b[0]&&!r(t,m[0],\"RIFF\")){if(r(t,m[0]+8,\"WEBP\")){y=3;break t}var w=j(t,m[0]+4);if(12>w||4294967286<w){y=3;break t}if(p&&w>b[0]-8){y=7;break t}y[0]=w,m[0]+=12,b[0]-=12}y=0}if(0!=y)return y;for(w=0<g.gb[0],i=i[0];;){t:{var L=t;b=n,y=i;var A=h,x=f,S=m=[0];if((k=d=[d])[0]=0,8>y[0])y=7;else{if(!r(L,b[0],\"VP8X\")){if(10!=j(L,b[0]+4)){y=3;break t}if(18>y[0]){y=7;break t}var _=j(L,b[0]+8),P=1+C(L,b[0]+12);if(2147483648<=P*(L=1+C(L,b[0]+15))){y=3;break t}null!=S&&(S[0]=_),null!=A&&(A[0]=P),null!=x&&(x[0]=L),b[0]+=18,y[0]-=18,k[0]=1}y=0}}if(d=d[0],m=m[0],0!=y)return y;if(b=!!(2&m),!w&&d)return 3;if(null!=s&&(s[0]=!!(16&m)),null!=u&&(u[0]=b),null!=c&&(c[0]=0),u=h[0],m=f[0],d&&b&&null==l){y=0;break}if(4>i){y=7;break}if(w&&d||!w&&!d&&!r(t,n[0],\"ALPH\")){i=[i],g.na=[g.na],g.P=[g.P],g.Sa=[g.Sa];t:{_=t,y=n,w=i;var k=g.gb;A=g.na,x=g.P,S=g.Sa;P=22,e(null!=_),e(null!=w),L=y[0];var I=w[0];for(e(null!=A),e(null!=S),A[0]=null,x[0]=null,S[0]=0;;){if(y[0]=L,w[0]=I,8>I){y=7;break t}var F=j(_,L+4);if(4294967286<F){y=3;break t}var O=8+F+1&-2;if(P+=O,0<k&&P>k){y=3;break t}if(!r(_,L,\"VP8 \")||!r(_,L,\"VP8L\")){y=0;break t}if(I[0]<O){y=7;break t}r(_,L,\"ALPH\")||(A[0]=_,x[0]=L+8,S[0]=F),L+=O,I-=O}}if(i=i[0],g.na=g.na[0],g.P=g.P[0],g.Sa=g.Sa[0],0!=y)break}i=[i],g.Ja=[g.Ja],g.xa=[g.xa];t:if(k=t,y=n,w=i,A=g.gb[0],x=g.Ja,S=g.xa,_=y[0],L=!r(k,_,\"VP8 \"),P=!r(k,_,\"VP8L\"),e(null!=k),e(null!=w),e(null!=x),e(null!=S),8>w[0])y=7;else{if(L||P){if(k=j(k,_+4),12<=A&&k>A-12){y=3;break t}if(p&&k>w[0]-8){y=7;break t}x[0]=k,y[0]+=8,w[0]-=8,S[0]=P}else S[0]=5<=w[0]&&47==k[_+0]&&!(k[_+4]>>5),x[0]=w[0];y=0}if(i=i[0],g.Ja=g.Ja[0],g.xa=g.xa[0],n=n[0],0!=y)break;if(4294967286<g.Ja)return 3;if(null==c||b||(c[0]=g.xa?2:1),u=[u],m=[m],g.xa){if(5>i){y=7;break}c=u,p=m,b=s,null==t||5>i?t=0:5<=i&&47==t[n+0]&&!(t[n+4]>>5)?(w=[0],k=[0],A=[0],v(x=new N,t,n,i),gt(x,w,k,A)?(null!=c&&(c[0]=w[0]),null!=p&&(p[0]=k[0]),null!=b&&(b[0]=A[0]),t=1):t=0):t=0}else{if(10>i){y=7;break}c=m,null==t||10>i||!Xt(t,n+3,i-3)?t=0:(p=t[n+0]|t[n+1]<<8|t[n+2]<<16,b=16383&(t[n+7]<<8|t[n+6]),t=16383&(t[n+9]<<8|t[n+8]),1&p||3<(p>>1&7)||!(p>>4&1)||p>>5>=g.Ja||!b||!t?t=0:(u&&(u[0]=b),c&&(c[0]=t),t=1))}if(!t)return 3;if(u=u[0],m=m[0],d&&(h[0]!=u||f[0]!=m))return 3;null!=l&&(l[0]=g,l.offset=n-l.w,e(4294967286>n-l.w),e(l.offset==l.ha-i));break}return 0==y||7==y&&d&&null==l?(null!=s&&(s[0]|=null!=g.na&&0<g.na.length),null!=a&&(a[0]=u),null!=o&&(o[0]=m),0):y}function Mr(t,e,r){var n=e.width,i=e.height,a=0,o=0,s=n,u=i;if(e.Da=null!=t&&0<t.Da,e.Da&&(s=t.cd,u=t.bd,a=t.v,o=t.j,11>r||(a&=-2,o&=-2),0>a||0>o||0>=s||0>=u||a+s>n||o+u>i))return 0;if(e.v=a,e.j=o,e.va=a+s,e.o=o+u,e.U=s,e.T=u,e.da=null!=t&&0<t.da,e.da){if(!E(s,u,r=[t.ib],a=[t.hb]))return 0;e.ib=r[0],e.hb=a[0]}return e.ob=null!=t&&t.ob,e.Kb=null==t||!t.Sd,e.da&&(e.ob=e.ib<3*n/4&&e.hb<3*i/4,e.Kb=0),1}function Er(t){if(null==t)return 2;if(11>t.S){var e=t.f.RGBA;e.fb+=(t.height-1)*e.A,e.A=-e.A}else e=t.f.kb,t=t.height,e.O+=(t-1)*e.fa,e.fa=-e.fa,e.N+=(t-1>>1)*e.Ab,e.Ab=-e.Ab,e.W+=(t-1>>1)*e.Db,e.Db=-e.Db,null!=e.F&&(e.J+=(t-1)*e.lb,e.lb=-e.lb);return 0}function qr(t,e,r,n){if(null==n||0>=t||0>=e)return 2;if(null!=r){if(r.Da){var i=r.cd,o=r.bd,s=-2&r.v,u=-2&r.j;if(0>s||0>u||0>=i||0>=o||s+i>t||u+o>e)return 2;t=i,e=o}if(r.da){if(!E(t,e,i=[r.ib],o=[r.hb]))return 2;t=i[0],e=o[0]}}n.width=t,n.height=e;t:{var c=n.width,l=n.height;if(t=n.S,0>=c||0>=l||!(t>=En&&13>t))t=2;else{if(0>=n.Rd&&null==n.sd){s=o=i=e=0;var h=(u=c*zi[t])*l;if(11>t||(o=(l+1)/2*(e=(c+1)/2),12==t&&(s=(i=c)*l)),null==(l=a(h+2*o+s))){t=1;break t}n.sd=l,11>t?((c=n.f.RGBA).eb=l,c.fb=0,c.A=u,c.size=h):((c=n.f.kb).y=l,c.O=0,c.fa=u,c.Fd=h,c.f=l,c.N=0+h,c.Ab=e,c.Cd=o,c.ea=l,c.W=0+h+o,c.Db=e,c.Ed=o,12==t&&(c.F=l,c.J=0+h+2*o),c.Tc=s,c.lb=i)}if(e=1,i=n.S,o=n.width,s=n.height,i>=En&&13>i)if(11>i)t=n.f.RGBA,e&=(u=Math.abs(t.A))*(s-1)+o<=t.size,e&=u>=o*zi[i],e&=null!=t.eb;else{t=n.f.kb,u=(o+1)/2,h=(s+1)/2,c=Math.abs(t.fa);l=Math.abs(t.Ab);var f=Math.abs(t.Db),d=Math.abs(t.lb),p=d*(s-1)+o;e&=c*(s-1)+o<=t.Fd,e&=l*(h-1)+u<=t.Cd,e=(e&=f*(h-1)+u<=t.Ed)&c>=o&l>=u&f>=u,e&=null!=t.y,e&=null!=t.f,e&=null!=t.ea,12==i&&(e&=d>=o,e&=p<=t.Tc,e&=null!=t.F)}else e=0;t=e?0:2}}return 0!=t||null!=r&&r.fd&&(t=Er(n)),t}var Rr=64,Tr=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215],Dr=24,Ur=32,zr=8,Hr=[0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7];T(\"Predictor0\",\"PredictorAdd0\"),t.Predictor0=function(){return 4278190080},t.Predictor1=function(t){return t},t.Predictor2=function(t,e,r){return e[r+0]},t.Predictor3=function(t,e,r){return e[r+1]},t.Predictor4=function(t,e,r){return e[r-1]},t.Predictor5=function(t,e,r){return U(U(t,e[r+1]),e[r+0])},t.Predictor6=function(t,e,r){return U(t,e[r-1])},t.Predictor7=function(t,e,r){return U(t,e[r+0])},t.Predictor8=function(t,e,r){return U(e[r-1],e[r+0])},t.Predictor9=function(t,e,r){return U(e[r+0],e[r+1])},t.Predictor10=function(t,e,r){return U(U(t,e[r-1]),U(e[r+0],e[r+1]))},t.Predictor11=function(t,e,r){var n=e[r+0];return 0>=V(n>>24&255,t>>24&255,(e=e[r-1])>>24&255)+V(n>>16&255,t>>16&255,e>>16&255)+V(n>>8&255,t>>8&255,e>>8&255)+V(255&n,255&t,255&e)?n:t},t.Predictor12=function(t,e,r){var n=e[r+0];return(z((t>>24&255)+(n>>24&255)-((e=e[r-1])>>24&255))<<24|z((t>>16&255)+(n>>16&255)-(e>>16&255))<<16|z((t>>8&255)+(n>>8&255)-(e>>8&255))<<8|z((255&t)+(255&n)-(255&e)))>>>0},t.Predictor13=function(t,e,r){var n=e[r-1];return(H((t=U(t,e[r+0]))>>24&255,n>>24&255)<<24|H(t>>16&255,n>>16&255)<<16|H(t>>8&255,n>>8&255)<<8|H(t>>0&255,n>>0&255))>>>0};var Vr=t.PredictorAdd0;t.PredictorAdd1=W,T(\"Predictor2\",\"PredictorAdd2\"),T(\"Predictor3\",\"PredictorAdd3\"),T(\"Predictor4\",\"PredictorAdd4\"),T(\"Predictor5\",\"PredictorAdd5\"),T(\"Predictor6\",\"PredictorAdd6\"),T(\"Predictor7\",\"PredictorAdd7\"),T(\"Predictor8\",\"PredictorAdd8\"),T(\"Predictor9\",\"PredictorAdd9\"),T(\"Predictor10\",\"PredictorAdd10\"),T(\"Predictor11\",\"PredictorAdd11\"),T(\"Predictor12\",\"PredictorAdd12\"),T(\"Predictor13\",\"PredictorAdd13\");var Wr=t.PredictorAdd2;X(\"ColorIndexInverseTransform\",\"MapARGB\",\"32b\",(function(t){return t>>8&255}),(function(t){return t})),X(\"VP8LColorIndexInverseTransformAlpha\",\"MapAlpha\",\"8b\",(function(t){return t}),(function(t){return t>>8&255}));var Gr,Yr=t.ColorIndexInverseTransform,Jr=t.MapARGB,Xr=t.VP8LColorIndexInverseTransformAlpha,Kr=t.MapAlpha,Zr=t.VP8LPredictorsAdd=[];Zr.length=16,(t.VP8LPredictors=[]).length=16,(t.VP8LPredictorsAdd_C=[]).length=16,(t.VP8LPredictors_C=[]).length=16;var $r,Qr,tn,en,rn,nn,an,on,sn,un,cn,ln,hn,fn,dn,pn,gn,mn,vn,bn,yn,wn,Nn,Ln,An,xn,Sn,_n,Pn=a(511),kn=a(2041),In=a(225),Fn=a(767),Cn=0,jn=kn,On=In,Bn=Fn,Mn=Pn,En=0,qn=1,Rn=2,Tn=3,Dn=4,Un=5,zn=6,Hn=7,Vn=8,Wn=9,Gn=10,Yn=[2,3,7],Jn=[3,3,11],Xn=[280,256,256,256,40],Kn=[0,1,1,1,0],Zn=[17,18,0,1,2,3,4,5,16,6,7,8,9,10,11,12,13,14,15],$n=[24,7,23,25,40,6,39,41,22,26,38,42,56,5,55,57,21,27,54,58,37,43,72,4,71,73,20,28,53,59,70,74,36,44,88,69,75,52,60,3,87,89,19,29,86,90,35,45,68,76,85,91,51,61,104,2,103,105,18,30,102,106,34,46,84,92,67,77,101,107,50,62,120,1,119,121,83,93,17,31,100,108,66,78,118,122,33,47,117,123,49,63,99,109,82,94,0,116,124,65,79,16,32,98,110,48,115,125,81,95,64,114,126,97,111,80,113,127,96,112],Qn=[2954,2956,2958,2962,2970,2986,3018,3082,3212,3468,3980,5004],ti=8,ei=[4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,17,18,19,20,20,21,21,22,22,23,23,24,25,25,26,27,28,29,30,31,32,33,34,35,36,37,37,38,39,40,41,42,43,44,45,46,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,76,77,78,79,80,81,82,83,84,85,86,87,88,89,91,93,95,96,98,100,101,102,104,106,108,110,112,114,116,118,122,124,126,128,130,132,134,136,138,140,143,145,148,151,154,157],ri=[4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,60,62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100,102,104,106,108,110,112,114,116,119,122,125,128,131,134,137,140,143,146,149,152,155,158,161,164,167,170,173,177,181,185,189,193,197,201,205,209,213,217,221,225,229,234,239,245,249,254,259,264,269,274,279,284],ni=null,ii=[[173,148,140,0],[176,155,140,135,0],[180,157,141,134,130,0],[254,254,243,230,196,177,153,140,133,130,129,0]],ai=[0,1,4,8,5,2,3,6,9,12,13,10,7,11,14,15],oi=[-0,1,-1,2,-2,3,4,6,-3,5,-4,-5,-6,7,-7,8,-8,-9],si=[[[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]],[[253,136,254,255,228,219,128,128,128,128,128],[189,129,242,255,227,213,255,219,128,128,128],[106,126,227,252,214,209,255,255,128,128,128]],[[1,98,248,255,236,226,255,255,128,128,128],[181,133,238,254,221,234,255,154,128,128,128],[78,134,202,247,198,180,255,219,128,128,128]],[[1,185,249,255,243,255,128,128,128,128,128],[184,150,247,255,236,224,128,128,128,128,128],[77,110,216,255,236,230,128,128,128,128,128]],[[1,101,251,255,241,255,128,128,128,128,128],[170,139,241,252,236,209,255,255,128,128,128],[37,116,196,243,228,255,255,255,128,128,128]],[[1,204,254,255,245,255,128,128,128,128,128],[207,160,250,255,238,128,128,128,128,128,128],[102,103,231,255,211,171,128,128,128,128,128]],[[1,152,252,255,240,255,128,128,128,128,128],[177,135,243,255,234,225,128,128,128,128,128],[80,129,211,255,194,224,128,128,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[246,1,255,128,128,128,128,128,128,128,128],[255,128,128,128,128,128,128,128,128,128,128]]],[[[198,35,237,223,193,187,162,160,145,155,62],[131,45,198,221,172,176,220,157,252,221,1],[68,47,146,208,149,167,221,162,255,223,128]],[[1,149,241,255,221,224,255,255,128,128,128],[184,141,234,253,222,220,255,199,128,128,128],[81,99,181,242,176,190,249,202,255,255,128]],[[1,129,232,253,214,197,242,196,255,255,128],[99,121,210,250,201,198,255,202,128,128,128],[23,91,163,242,170,187,247,210,255,255,128]],[[1,200,246,255,234,255,128,128,128,128,128],[109,178,241,255,231,245,255,255,128,128,128],[44,130,201,253,205,192,255,255,128,128,128]],[[1,132,239,251,219,209,255,165,128,128,128],[94,136,225,251,218,190,255,255,128,128,128],[22,100,174,245,186,161,255,199,128,128,128]],[[1,182,249,255,232,235,128,128,128,128,128],[124,143,241,255,227,234,128,128,128,128,128],[35,77,181,251,193,211,255,205,128,128,128]],[[1,157,247,255,236,231,255,255,128,128,128],[121,141,235,255,225,227,255,255,128,128,128],[45,99,188,251,195,217,255,224,128,128,128]],[[1,1,251,255,213,255,128,128,128,128,128],[203,1,248,255,255,128,128,128,128,128,128],[137,1,177,255,224,255,128,128,128,128,128]]],[[[253,9,248,251,207,208,255,192,128,128,128],[175,13,224,243,193,185,249,198,255,255,128],[73,17,171,221,161,179,236,167,255,234,128]],[[1,95,247,253,212,183,255,255,128,128,128],[239,90,244,250,211,209,255,255,128,128,128],[155,77,195,248,188,195,255,255,128,128,128]],[[1,24,239,251,218,219,255,205,128,128,128],[201,51,219,255,196,186,128,128,128,128,128],[69,46,190,239,201,218,255,228,128,128,128]],[[1,191,251,255,255,128,128,128,128,128,128],[223,165,249,255,213,255,128,128,128,128,128],[141,124,248,255,255,128,128,128,128,128,128]],[[1,16,248,255,255,128,128,128,128,128,128],[190,36,230,255,236,255,128,128,128,128,128],[149,1,255,128,128,128,128,128,128,128,128]],[[1,226,255,128,128,128,128,128,128,128,128],[247,192,255,128,128,128,128,128,128,128,128],[240,128,255,128,128,128,128,128,128,128,128]],[[1,134,252,255,255,128,128,128,128,128,128],[213,62,250,255,255,128,128,128,128,128,128],[55,93,255,128,128,128,128,128,128,128,128]],[[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128],[128,128,128,128,128,128,128,128,128,128,128]]],[[[202,24,213,235,186,191,220,160,240,175,255],[126,38,182,232,169,184,228,174,255,187,128],[61,46,138,219,151,178,240,170,255,216,128]],[[1,112,230,250,199,191,247,159,255,255,128],[166,109,228,252,211,215,255,174,128,128,128],[39,77,162,232,172,180,245,178,255,255,128]],[[1,52,220,246,198,199,249,220,255,255,128],[124,74,191,243,183,193,250,221,255,255,128],[24,71,130,219,154,170,243,182,255,255,128]],[[1,182,225,249,219,240,255,224,128,128,128],[149,150,226,252,216,205,255,171,128,128,128],[28,108,170,242,183,194,254,223,255,255,128]],[[1,81,230,252,204,203,255,192,128,128,128],[123,102,209,247,188,196,255,233,128,128,128],[20,95,153,243,164,173,255,203,128,128,128]],[[1,222,248,255,216,213,128,128,128,128,128],[168,175,246,252,235,205,255,255,128,128,128],[47,116,215,255,211,212,255,255,128,128,128]],[[1,121,236,253,212,214,255,255,128,128,128],[141,84,213,252,201,202,255,219,128,128,128],[42,80,160,240,162,185,255,205,128,128,128]],[[1,1,255,128,128,128,128,128,128,128,128],[244,1,255,128,128,128,128,128,128,128,128],[238,1,255,128,128,128,128,128,128,128,128]]]],ui=[[[231,120,48,89,115,113,120,152,112],[152,179,64,126,170,118,46,70,95],[175,69,143,80,85,82,72,155,103],[56,58,10,171,218,189,17,13,152],[114,26,17,163,44,195,21,10,173],[121,24,80,195,26,62,44,64,85],[144,71,10,38,171,213,144,34,26],[170,46,55,19,136,160,33,206,71],[63,20,8,114,114,208,12,9,226],[81,40,11,96,182,84,29,16,36]],[[134,183,89,137,98,101,106,165,148],[72,187,100,130,157,111,32,75,80],[66,102,167,99,74,62,40,234,128],[41,53,9,178,241,141,26,8,107],[74,43,26,146,73,166,49,23,157],[65,38,105,160,51,52,31,115,128],[104,79,12,27,217,255,87,17,7],[87,68,71,44,114,51,15,186,23],[47,41,14,110,182,183,21,17,194],[66,45,25,102,197,189,23,18,22]],[[88,88,147,150,42,46,45,196,205],[43,97,183,117,85,38,35,179,61],[39,53,200,87,26,21,43,232,171],[56,34,51,104,114,102,29,93,77],[39,28,85,171,58,165,90,98,64],[34,22,116,206,23,34,43,166,73],[107,54,32,26,51,1,81,43,31],[68,25,106,22,64,171,36,225,114],[34,19,21,102,132,188,16,76,124],[62,18,78,95,85,57,50,48,51]],[[193,101,35,159,215,111,89,46,111],[60,148,31,172,219,228,21,18,111],[112,113,77,85,179,255,38,120,114],[40,42,1,196,245,209,10,25,109],[88,43,29,140,166,213,37,43,154],[61,63,30,155,67,45,68,1,209],[100,80,8,43,154,1,51,26,71],[142,78,78,16,255,128,34,197,171],[41,40,5,102,211,183,4,1,221],[51,50,17,168,209,192,23,25,82]],[[138,31,36,171,27,166,38,44,229],[67,87,58,169,82,115,26,59,179],[63,59,90,180,59,166,93,73,154],[40,40,21,116,143,209,34,39,175],[47,15,16,183,34,223,49,45,183],[46,17,33,183,6,98,15,32,183],[57,46,22,24,128,1,54,17,37],[65,32,73,115,28,128,23,128,205],[40,3,9,115,51,192,18,6,223],[87,37,9,115,59,77,64,21,47]],[[104,55,44,218,9,54,53,130,226],[64,90,70,205,40,41,23,26,57],[54,57,112,184,5,41,38,166,213],[30,34,26,133,152,116,10,32,134],[39,19,53,221,26,114,32,73,255],[31,9,65,234,2,15,1,118,73],[75,32,12,51,192,255,160,43,51],[88,31,35,67,102,85,55,186,85],[56,21,23,111,59,205,45,37,192],[55,38,70,124,73,102,1,34,98]],[[125,98,42,88,104,85,117,175,82],[95,84,53,89,128,100,113,101,45],[75,79,123,47,51,128,81,171,1],[57,17,5,71,102,57,53,41,49],[38,33,13,121,57,73,26,1,85],[41,10,67,138,77,110,90,47,114],[115,21,2,10,102,255,166,23,6],[101,29,16,10,85,128,101,196,26],[57,18,10,102,102,213,34,20,43],[117,20,15,36,163,128,68,1,26]],[[102,61,71,37,34,53,31,243,192],[69,60,71,38,73,119,28,222,37],[68,45,128,34,1,47,11,245,171],[62,17,19,70,146,85,55,62,70],[37,43,37,154,100,163,85,160,1],[63,9,92,136,28,64,32,201,85],[75,15,9,9,64,255,184,119,16],[86,6,28,5,64,255,25,248,1],[56,8,17,132,137,255,55,116,128],[58,15,20,82,135,57,26,121,40]],[[164,50,31,137,154,133,25,35,218],[51,103,44,131,131,123,31,6,158],[86,40,64,135,148,224,45,183,128],[22,26,17,131,240,154,14,1,209],[45,16,21,91,64,222,7,1,197],[56,21,39,155,60,138,23,102,213],[83,12,13,54,192,255,68,47,28],[85,26,85,85,128,128,32,146,171],[18,11,7,63,144,171,4,4,246],[35,27,10,146,174,171,12,26,128]],[[190,80,35,99,180,80,126,54,45],[85,126,47,87,176,51,41,20,32],[101,75,128,139,118,146,116,128,85],[56,41,15,176,236,85,37,9,62],[71,30,17,119,118,255,17,18,138],[101,38,60,138,55,70,43,26,142],[146,36,19,30,171,255,97,27,20],[138,45,61,62,219,1,81,188,64],[32,41,20,117,151,142,20,21,163],[112,19,12,61,195,128,48,4,24]]],ci=[[[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[176,246,255,255,255,255,255,255,255,255,255],[223,241,252,255,255,255,255,255,255,255,255],[249,253,253,255,255,255,255,255,255,255,255]],[[255,244,252,255,255,255,255,255,255,255,255],[234,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255]],[[255,246,254,255,255,255,255,255,255,255,255],[239,253,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[251,255,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[251,254,254,255,255,255,255,255,255,255,255],[254,255,254,255,255,255,255,255,255,255,255]],[[255,254,253,255,254,255,255,255,255,255,255],[250,255,254,255,254,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[217,255,255,255,255,255,255,255,255,255,255],[225,252,241,253,255,255,254,255,255,255,255],[234,250,241,250,253,255,253,254,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[223,254,254,255,255,255,255,255,255,255,255],[238,253,254,254,255,255,255,255,255,255,255]],[[255,248,254,255,255,255,255,255,255,255,255],[249,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,255,255,255,255,255,255,255,255,255],[247,254,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[252,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[253,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[186,251,250,255,255,255,255,255,255,255,255],[234,251,244,254,255,255,255,255,255,255,255],[251,251,243,253,254,255,254,255,255,255,255]],[[255,253,254,255,255,255,255,255,255,255,255],[236,253,254,255,255,255,255,255,255,255,255],[251,253,253,254,254,255,255,255,255,255,255]],[[255,254,254,255,255,255,255,255,255,255,255],[254,254,254,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,254,255,255,255,255,255,255,255,255,255],[254,254,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]],[[[248,255,255,255,255,255,255,255,255,255,255],[250,254,252,254,255,255,255,255,255,255,255],[248,254,249,253,255,255,255,255,255,255,255]],[[255,253,253,255,255,255,255,255,255,255,255],[246,253,253,255,255,255,255,255,255,255,255],[252,254,251,254,254,255,255,255,255,255,255]],[[255,254,252,255,255,255,255,255,255,255,255],[248,254,253,255,255,255,255,255,255,255,255],[253,255,254,254,255,255,255,255,255,255,255]],[[255,251,254,255,255,255,255,255,255,255,255],[245,251,254,255,255,255,255,255,255,255,255],[253,253,254,255,255,255,255,255,255,255,255]],[[255,251,253,255,255,255,255,255,255,255,255],[252,253,254,255,255,255,255,255,255,255,255],[255,254,255,255,255,255,255,255,255,255,255]],[[255,252,255,255,255,255,255,255,255,255,255],[249,255,254,255,255,255,255,255,255,255,255],[255,255,254,255,255,255,255,255,255,255,255]],[[255,255,253,255,255,255,255,255,255,255,255],[250,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]],[[255,255,255,255,255,255,255,255,255,255,255],[254,255,255,255,255,255,255,255,255,255,255],[255,255,255,255,255,255,255,255,255,255,255]]]],li=[0,1,2,3,6,4,5,6,6,6,6,6,6,6,6,7,0],hi=[],fi=[],di=[],pi=1,gi=2,mi=[],vi=[];vr(\"UpsampleRgbLinePair\",Ar,3),vr(\"UpsampleBgrLinePair\",xr,3),vr(\"UpsampleRgbaLinePair\",Ir,4),vr(\"UpsampleBgraLinePair\",kr,4),vr(\"UpsampleArgbLinePair\",Pr,4),vr(\"UpsampleRgba4444LinePair\",_r,2),vr(\"UpsampleRgb565LinePair\",Sr,2);var bi=t.UpsampleRgbLinePair,yi=t.UpsampleBgrLinePair,wi=t.UpsampleRgbaLinePair,Ni=t.UpsampleBgraLinePair,Li=t.UpsampleArgbLinePair,Ai=t.UpsampleRgba4444LinePair,xi=t.UpsampleRgb565LinePair,Si=16,_i=1<<Si-1,Pi=-227,ki=482,Ii=6,Fi=(256<<Ii)-1,Ci=0,ji=a(256),Oi=a(256),Bi=a(256),Mi=a(256),Ei=a(ki-Pi),qi=a(ki-Pi);Fr(\"YuvToRgbRow\",Ar,3),Fr(\"YuvToBgrRow\",xr,3),Fr(\"YuvToRgbaRow\",Ir,4),Fr(\"YuvToBgraRow\",kr,4),Fr(\"YuvToArgbRow\",Pr,4),Fr(\"YuvToRgba4444Row\",_r,2),Fr(\"YuvToRgb565Row\",Sr,2);var Ri=[0,4,8,12,128,132,136,140,256,260,264,268,384,388,392,396],Ti=[0,2,8],Di=[8,7,6,4,4,2,2,2,1,1,1,1],Ui=1;this.WebPDecodeRGBA=function(t,r,n,i,a){var o=qn,s=new rr,u=new ot;s.ba=u,u.S=o,u.width=[u.width],u.height=[u.height];var c=u.width,l=u.height,h=new st;if(null==h||null==t)var f=2;else e(null!=h),f=Br(t,r,n,h.width,h.height,h.Pd,h.Qd,h.format,null);if(0!=f?c=0:(null!=c&&(c[0]=h.width[0]),null!=l&&(l[0]=h.height[0]),c=1),c){u.width=u.width[0],u.height=u.height[0],null!=i&&(i[0]=u.width),null!=a&&(a[0]=u.height);t:{if(i=new Gt,(a=new nr).data=t,a.w=r,a.ha=n,a.kd=1,r=[0],e(null!=a),(0==(t=Br(a.data,a.w,a.ha,null,null,null,r,null,a))||7==t)&&r[0]&&(t=4),0==(r=t)){if(e(null!=s),i.data=a.data,i.w=a.w+a.offset,i.ha=a.ha-a.offset,i.put=dt,i.ac=ft,i.bc=pt,i.ma=s,a.xa){if(null==(t=kt())){s=1;break t}if(function(t,r){var n=[0],i=[0],a=[0];e:for(;;){if(null==t)return 0;if(null==r)return t.a=2,0;if(t.l=r,t.a=0,v(t.m,r.data,r.w,r.ha),!gt(t.m,n,i,a)){t.a=3;break e}if(t.xb=gi,r.width=n[0],r.height=i[0],!It(n[0],i[0],1,t,null))break e;return 1}return e(0!=t.a),0}(t,i)){if(i=0==(r=qr(i.width,i.height,s.Oa,s.ba))){e:{i=t;r:for(;;){if(null==i){i=0;break e}if(e(null!=i.s.yc),e(null!=i.s.Ya),e(0<i.s.Wb),e(null!=(n=i.l)),e(null!=(a=n.ma)),0!=i.xb){if(i.ca=a.ba,i.tb=a.tb,e(null!=i.ca),!Mr(a.Oa,n,Tn)){i.a=2;break r}if(!Ft(i,n.width))break r;if(n.da)break r;if((n.da||nt(i.ca.S))&&mr(),11>i.ca.S||(alert(\"todo:WebPInitConvertARGBToYUV\"),null!=i.ca.f.kb.F&&mr()),i.Pb&&0<i.s.ua&&null==i.s.vb.X&&!O(i.s.vb,i.s.Wa.Xa)){i.a=1;break r}i.xb=0}if(!_t(i,i.V,i.Ba,i.c,i.i,n.o,Lt))break r;a.Dc=i.Ma,i=1;break e}e(0!=i.a),i=0}i=!i}i&&(r=t.a)}else r=t.a}else{if(null==(t=new Yt)){s=1;break t}if(t.Fa=a.na,t.P=a.P,t.qc=a.Sa,Kt(t,i)){if(0==(r=qr(i.width,i.height,s.Oa,s.ba))){if(t.Aa=0,n=s.Oa,e(null!=(a=t)),null!=n){if(0<(c=0>(c=n.Md)?0:100<c?255:255*c/100)){for(l=h=0;4>l;++l)12>(f=a.pb[l]).lc&&(f.ia=c*Di[0>f.lc?0:f.lc]>>3),h|=f.ia;h&&(alert(\"todo:VP8InitRandom\"),a.ia=1)}a.Ga=n.Id,100<a.Ga?a.Ga=100:0>a.Ga&&(a.Ga=0)}Qt(t,i)||(r=t.a)}}else r=t.a}0==r&&null!=s.Oa&&s.Oa.fd&&(r=Er(s.ba))}s=r}o=0!=s?null:11>o?u.f.RGBA.eb:u.f.kb.y}else o=null;return o};var zi=[3,4,3,4,4,2,2,4,4,4,2,1,1]});var h=[0],f=[0],d=[],p=new $t,g=t,m=function(t,e){var r={},n=0,i=!1,a=0,o=0;if(r.frames=[],!\n/** @license\n   * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\nfunction(t,e,r,n){for(var i=0;i<n;i++)if(t[e+i]!=r.charCodeAt(i))return!0;return!1}(t,e,\"RIFF\",4)){var s,h;l(t,e+=4);for(e+=8;e<t.length;){var f=u(t,e),d=l(t,e+=4);e+=4;var p=d+(1&d);switch(f){case\"VP8 \":case\"VP8L\":void 0===r.frames[n]&&(r.frames[n]={});(v=r.frames[n]).src_off=i?o:e-8,v.src_size=a+d+8,n++,i&&(i=!1,a=0,o=0);break;case\"VP8X\":(v=r.header={}).feature_flags=t[e];var g=e+4;v.canvas_width=1+c(t,g);g+=3;v.canvas_height=1+c(t,g);g+=3;break;case\"ALPH\":i=!0,a=p+8,o=e-8;break;case\"ANIM\":(v=r.header).bgcolor=l(t,e);g=e+4;v.loop_count=(s=t)[(h=g)+0]<<0|s[h+1]<<8;g+=2;break;case\"ANMF\":var m,v;(v=r.frames[n]={}).offset_x=2*c(t,e),e+=3,v.offset_y=2*c(t,e),e+=3,v.width=1+c(t,e),e+=3,v.height=1+c(t,e),e+=3,v.duration=c(t,e),e+=3,m=t[e++],v.dispose=1&m,v.blend=m>>1&1}\"ANMF\"!=f&&(e+=p)}return r}}(g,0);m.response=g,m.rgbaoutput=!0,m.dataurl=!1;var v=m.header?m.header:null,b=m.frames?m.frames:null;if(v){v.loop_counter=v.loop_count,h=[v.canvas_height],f=[v.canvas_width];for(var y=0;y<b.length&&0!=b[y].blend;y++);}var w=b[0],N=p.WebPDecodeRGBA(g,w.src_off,w.src_size,f,h);w.rgba=N,w.imgwidth=f[0],w.imgheight=h[0];for(var L=0;L<f[0]*h[0]*4;L++)d[L]=N[L];return this.width=f,this.height=h,this.data=d,this}!function(e){var r=function(){return\"function\"==typeof t},n=function(r,n,a,l){var h=4,f=s;switch(l){case e.image_compression.FAST:h=1,f=o;break;case e.image_compression.MEDIUM:h=6,f=u;break;case e.image_compression.SLOW:h=9,f=c}r=i(r,n,a,f);var d=t(r,{level:h});return e.__addimage__.arrayBufferToBinaryString(d)},i=function(t,e,r,n){for(var i,a,o,s=t.length/e,u=new Uint8Array(t.length+s),c=h(),l=0;l<s;l+=1){if(o=l*e,i=t.subarray(o,o+e),n)u.set(n(i,r,a),o+l);else{for(var d,p=c.length,g=[];d<p;d+=1)g[d]=c[d](i,r,a);var m=f(g.concat());u.set(g[m],o+l)}a=i}return u},a=function(t){var e=Array.apply([],t);return e.unshift(0),e},o=function(t,e){var r,n=[],i=t.length;n[0]=1;for(var a=0;a<i;a+=1)r=t[a-e]||0,n[a+1]=t[a]-r+256&255;return n},s=function(t,e,r){var n,i=[],a=t.length;i[0]=2;for(var o=0;o<a;o+=1)n=r&&r[o]||0,i[o+1]=t[o]-n+256&255;return i},u=function(t,e,r){var n,i,a=[],o=t.length;a[0]=3;for(var s=0;s<o;s+=1)n=t[s-e]||0,i=r&&r[s]||0,a[s+1]=t[s]+256-(n+i>>>1)&255;return a},c=function(t,e,r){var n,i,a,o,s=[],u=t.length;s[0]=4;for(var c=0;c<u;c+=1)n=t[c-e]||0,i=r&&r[c]||0,a=r&&r[c-e]||0,o=l(n,i,a),s[c+1]=t[c]-o+256&255;return s},l=function(t,e,r){if(t===e&&e===r)return t;var n=Math.abs(e-r),i=Math.abs(t-r),a=Math.abs(t+e-r-r);return n<=i&&n<=a?t:i<=a?e:r},h=function(){return[a,o,s,u,c]},f=function(t){var e=t.map((function(t){return t.reduce((function(t,e){return t+Math.abs(e)}),0)}));return e.indexOf(Math.min.apply(null,e))};e.processPNG=function(t,i,a,o){var s,u,c,l,h,f,d,p,g,m,v,b,y,w,N,L=this.decode.FLATE_DECODE,A=\"\";if(this.__addimage__.isArrayBuffer(t)&&(t=new Uint8Array(t)),this.__addimage__.isArrayBufferView(t)){if(t=(c=new Yt(t)).imgData,u=c.bits,s=c.colorSpace,h=c.colors,-1!==[4,6].indexOf(c.colorType)){if(8===c.bits){g=(p=32==c.pixelBitlength?new Uint32Array(c.decodePixels().buffer):16==c.pixelBitlength?new Uint16Array(c.decodePixels().buffer):new Uint8Array(c.decodePixels().buffer)).length,v=new Uint8Array(g*c.colors),m=new Uint8Array(g);var x,S=c.pixelBitlength-c.bits;for(w=0,N=0;w<g;w++){for(y=p[w],x=0;x<S;)v[N++]=y>>>x&255,x+=c.bits;m[w]=y>>>x&255}}if(16===c.bits){g=(p=new Uint32Array(c.decodePixels().buffer)).length,v=new Uint8Array(g*(32/c.pixelBitlength)*c.colors),m=new Uint8Array(g*(32/c.pixelBitlength)),b=c.colors>1,w=0,N=0;for(var _=0;w<g;)y=p[w++],v[N++]=y>>>0&255,b&&(v[N++]=y>>>16&255,y=p[w++],v[N++]=y>>>0&255),m[_++]=y>>>16&255;u=8}o!==e.image_compression.NONE&&r()?(t=n(v,c.width*c.colors,c.colors,o),d=n(m,c.width,1,o)):(t=v,d=m,L=void 0)}if(3===c.colorType&&(s=this.color_spaces.INDEXED,f=c.palette,c.transparency.indexed)){var P=c.transparency.indexed,k=0;for(w=0,g=P.length;w<g;++w)k+=P[w];if((k/=255)===g-1&&-1!==P.indexOf(0))l=[P.indexOf(0)];else if(k!==g){for(p=c.decodePixels(),m=new Uint8Array(p.length),w=0,g=p.length;w<g;w++)m[w]=P[p[w]];d=n(m,c.width,1)}}var I=function(t){var r;switch(t){case e.image_compression.FAST:r=11;break;case e.image_compression.MEDIUM:r=13;break;case e.image_compression.SLOW:r=14;break;default:r=12}return r}(o);return L===this.decode.FLATE_DECODE&&(A=\"/Predictor \"+I+\" \"),A+=\"/Colors \"+h+\" /BitsPerComponent \"+u+\" /Columns \"+c.width,(this.__addimage__.isArrayBuffer(t)||this.__addimage__.isArrayBufferView(t))&&(t=this.__addimage__.arrayBufferToBinaryString(t)),(d&&this.__addimage__.isArrayBuffer(d)||this.__addimage__.isArrayBufferView(d))&&(d=this.__addimage__.arrayBufferToBinaryString(d)),{alias:a,data:t,index:i,filter:L,decodeParameters:A,transparency:l,palette:f,sMask:d,predictor:I,width:c.width,height:c.height,bitsPerComponent:u,colorSpace:s}}}}(O.API),function(t){t.processGIF89A=function(e,r,n,i){var a=new Jt(e),o=a.width,s=a.height,u=[];a.decodeAndBlitFrameRGBA(0,u);var c={data:u,width:o,height:s},l=new Kt(100).encode(c,100);return t.processJPEG.call(this,l,r,n,i)},t.processGIF87A=t.processGIF89A}(O.API),Zt.prototype.parseHeader=function(){if(this.fileSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.reserved=this.datav.getUint32(this.pos,!0),this.pos+=4,this.offset=this.datav.getUint32(this.pos,!0),this.pos+=4,this.headerSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.width=this.datav.getUint32(this.pos,!0),this.pos+=4,this.height=this.datav.getInt32(this.pos,!0),this.pos+=4,this.planes=this.datav.getUint16(this.pos,!0),this.pos+=2,this.bitPP=this.datav.getUint16(this.pos,!0),this.pos+=2,this.compress=this.datav.getUint32(this.pos,!0),this.pos+=4,this.rawSize=this.datav.getUint32(this.pos,!0),this.pos+=4,this.hr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.vr=this.datav.getUint32(this.pos,!0),this.pos+=4,this.colors=this.datav.getUint32(this.pos,!0),this.pos+=4,this.importantColors=this.datav.getUint32(this.pos,!0),this.pos+=4,16===this.bitPP&&this.is_with_alpha&&(this.bitPP=15),this.bitPP<15){var t=0===this.colors?1<<this.bitPP:this.colors;this.palette=new Array(t);for(var e=0;e<t;e++){var r=this.datav.getUint8(this.pos++,!0),n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0);this.palette[e]={red:i,green:n,blue:r,quad:a}}}this.height<0&&(this.height*=-1,this.bottom_up=!1)},Zt.prototype.parseBGR=function(){this.pos=this.offset;try{var t=\"bit\"+this.bitPP,e=this.width*this.height*4;this.data=new Uint8Array(e),this[t]()}catch(t){i.log(\"bit decode error:\"+t)}},Zt.prototype.bit1=function(){var t,e=Math.ceil(this.width/8),r=e%4;for(t=this.height-1;t>=0;t--){for(var n=this.bottom_up?t:this.height-1-t,i=0;i<e;i++)for(var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+8*i*4,s=0;s<8&&8*i+s<this.width;s++){var u=this.palette[a>>7-s&1];this.data[o+4*s]=u.blue,this.data[o+4*s+1]=u.green,this.data[o+4*s+2]=u.red,this.data[o+4*s+3]=255}0!==r&&(this.pos+=4-r)}},Zt.prototype.bit4=function(){for(var t=Math.ceil(this.width/2),e=t%4,r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<t;i++){var a=this.datav.getUint8(this.pos++,!0),o=n*this.width*4+2*i*4,s=a>>4,u=15&a,c=this.palette[s];if(this.data[o]=c.blue,this.data[o+1]=c.green,this.data[o+2]=c.red,this.data[o+3]=255,2*i+1>=this.width)break;c=this.palette[u],this.data[o+4]=c.blue,this.data[o+4+1]=c.green,this.data[o+4+2]=c.red,this.data[o+4+3]=255}0!==e&&(this.pos+=4-e)}},Zt.prototype.bit8=function(){for(var t=this.width%4,e=this.height-1;e>=0;e--){for(var r=this.bottom_up?e:this.height-1-e,n=0;n<this.width;n++){var i=this.datav.getUint8(this.pos++,!0),a=r*this.width*4+4*n;if(i<this.palette.length){var o=this.palette[i];this.data[a]=o.red,this.data[a+1]=o.green,this.data[a+2]=o.blue,this.data[a+3]=255}else this.data[a]=255,this.data[a+1]=255,this.data[a+2]=255,this.data[a+3]=255}0!==t&&(this.pos+=4-t)}},Zt.prototype.bit15=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=this.height-1;r>=0;r--){for(var n=this.bottom_up?r:this.height-1-r,i=0;i<this.width;i++){var a=this.datav.getUint16(this.pos,!0);this.pos+=2;var o=(a&e)/e*255|0,s=(a>>5&e)/e*255|0,u=(a>>10&e)/e*255|0,c=a>>15?255:0,l=n*this.width*4+4*i;this.data[l]=u,this.data[l+1]=s,this.data[l+2]=o,this.data[l+3]=c}this.pos+=t}},Zt.prototype.bit16=function(){for(var t=this.width%3,e=parseInt(\"11111\",2),r=parseInt(\"111111\",2),n=this.height-1;n>=0;n--){for(var i=this.bottom_up?n:this.height-1-n,a=0;a<this.width;a++){var o=this.datav.getUint16(this.pos,!0);this.pos+=2;var s=(o&e)/e*255|0,u=(o>>5&r)/r*255|0,c=(o>>11)/e*255|0,l=i*this.width*4+4*a;this.data[l]=c,this.data[l+1]=u,this.data[l+2]=s,this.data[l+3]=255}this.pos+=t}},Zt.prototype.bit24=function(){for(var t=this.height-1;t>=0;t--){for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=e*this.width*4+4*r;this.data[o]=a,this.data[o+1]=i,this.data[o+2]=n,this.data[o+3]=255}this.pos+=this.width%4}},Zt.prototype.bit32=function(){for(var t=this.height-1;t>=0;t--)for(var e=this.bottom_up?t:this.height-1-t,r=0;r<this.width;r++){var n=this.datav.getUint8(this.pos++,!0),i=this.datav.getUint8(this.pos++,!0),a=this.datav.getUint8(this.pos++,!0),o=this.datav.getUint8(this.pos++,!0),s=e*this.width*4+4*r;this.data[s]=a,this.data[s+1]=i,this.data[s+2]=n,this.data[s+3]=o}},Zt.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processBMP=function(e,r,n,i){var a=new Zt(e,!1),o=a.width,s=a.height,u={data:a.getData(),width:o,height:s},c=new Kt(100).encode(u,100);return t.processJPEG.call(this,c,r,n,i)}}(O.API),$t.prototype.getData=function(){return this.data},\n/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){t.processWEBP=function(e,r,n,i){var a=new $t(e,!1),o=a.width,s=a.height,u={data:a.getData(),width:o,height:s},c=new Kt(100).encode(u,100);return t.processJPEG.call(this,c,r,n,i)}}(O.API),O.API.setLanguage=function(t){return void 0===this.internal.languageSettings&&(this.internal.languageSettings={},this.internal.languageSettings.isSubscribed=!1),void 0!=={af:\"Afrikaans\",sq:\"Albanian\",ar:\"Arabic (Standard)\",\"ar-DZ\":\"Arabic (Algeria)\",\"ar-BH\":\"Arabic (Bahrain)\",\"ar-EG\":\"Arabic (Egypt)\",\"ar-IQ\":\"Arabic (Iraq)\",\"ar-JO\":\"Arabic (Jordan)\",\"ar-KW\":\"Arabic (Kuwait)\",\"ar-LB\":\"Arabic (Lebanon)\",\"ar-LY\":\"Arabic (Libya)\",\"ar-MA\":\"Arabic (Morocco)\",\"ar-OM\":\"Arabic (Oman)\",\"ar-QA\":\"Arabic (Qatar)\",\"ar-SA\":\"Arabic (Saudi Arabia)\",\"ar-SY\":\"Arabic (Syria)\",\"ar-TN\":\"Arabic (Tunisia)\",\"ar-AE\":\"Arabic (U.A.E.)\",\"ar-YE\":\"Arabic (Yemen)\",an:\"Aragonese\",hy:\"Armenian\",as:\"Assamese\",ast:\"Asturian\",az:\"Azerbaijani\",eu:\"Basque\",be:\"Belarusian\",bn:\"Bengali\",bs:\"Bosnian\",br:\"Breton\",bg:\"Bulgarian\",my:\"Burmese\",ca:\"Catalan\",ch:\"Chamorro\",ce:\"Chechen\",zh:\"Chinese\",\"zh-HK\":\"Chinese (Hong Kong)\",\"zh-CN\":\"Chinese (PRC)\",\"zh-SG\":\"Chinese (Singapore)\",\"zh-TW\":\"Chinese (Taiwan)\",cv:\"Chuvash\",co:\"Corsican\",cr:\"Cree\",hr:\"Croatian\",cs:\"Czech\",da:\"Danish\",nl:\"Dutch (Standard)\",\"nl-BE\":\"Dutch (Belgian)\",en:\"English\",\"en-AU\":\"English (Australia)\",\"en-BZ\":\"English (Belize)\",\"en-CA\":\"English (Canada)\",\"en-IE\":\"English (Ireland)\",\"en-JM\":\"English (Jamaica)\",\"en-NZ\":\"English (New Zealand)\",\"en-PH\":\"English (Philippines)\",\"en-ZA\":\"English (South Africa)\",\"en-TT\":\"English (Trinidad & Tobago)\",\"en-GB\":\"English (United Kingdom)\",\"en-US\":\"English (United States)\",\"en-ZW\":\"English (Zimbabwe)\",eo:\"Esperanto\",et:\"Estonian\",fo:\"Faeroese\",fj:\"Fijian\",fi:\"Finnish\",fr:\"French (Standard)\",\"fr-BE\":\"French (Belgium)\",\"fr-CA\":\"French (Canada)\",\"fr-FR\":\"French (France)\",\"fr-LU\":\"French (Luxembourg)\",\"fr-MC\":\"French (Monaco)\",\"fr-CH\":\"French (Switzerland)\",fy:\"Frisian\",fur:\"Friulian\",gd:\"Gaelic (Scots)\",\"gd-IE\":\"Gaelic (Irish)\",gl:\"Galacian\",ka:\"Georgian\",de:\"German (Standard)\",\"de-AT\":\"German (Austria)\",\"de-DE\":\"German (Germany)\",\"de-LI\":\"German (Liechtenstein)\",\"de-LU\":\"German (Luxembourg)\",\"de-CH\":\"German (Switzerland)\",el:\"Greek\",gu:\"Gujurati\",ht:\"Haitian\",he:\"Hebrew\",hi:\"Hindi\",hu:\"Hungarian\",is:\"Icelandic\",id:\"Indonesian\",iu:\"Inuktitut\",ga:\"Irish\",it:\"Italian (Standard)\",\"it-CH\":\"Italian (Switzerland)\",ja:\"Japanese\",kn:\"Kannada\",ks:\"Kashmiri\",kk:\"Kazakh\",km:\"Khmer\",ky:\"Kirghiz\",tlh:\"Klingon\",ko:\"Korean\",\"ko-KP\":\"Korean (North Korea)\",\"ko-KR\":\"Korean (South Korea)\",la:\"Latin\",lv:\"Latvian\",lt:\"Lithuanian\",lb:\"Luxembourgish\",mk:\"FYRO Macedonian\",ms:\"Malay\",ml:\"Malayalam\",mt:\"Maltese\",mi:\"Maori\",mr:\"Marathi\",mo:\"Moldavian\",nv:\"Navajo\",ng:\"Ndonga\",ne:\"Nepali\",no:\"Norwegian\",nb:\"Norwegian (Bokmal)\",nn:\"Norwegian (Nynorsk)\",oc:\"Occitan\",or:\"Oriya\",om:\"Oromo\",fa:\"Persian\",\"fa-IR\":\"Persian/Iran\",pl:\"Polish\",pt:\"Portuguese\",\"pt-BR\":\"Portuguese (Brazil)\",pa:\"Punjabi\",\"pa-IN\":\"Punjabi (India)\",\"pa-PK\":\"Punjabi (Pakistan)\",qu:\"Quechua\",rm:\"Rhaeto-Romanic\",ro:\"Romanian\",\"ro-MO\":\"Romanian (Moldavia)\",ru:\"Russian\",\"ru-MO\":\"Russian (Moldavia)\",sz:\"Sami (Lappish)\",sg:\"Sango\",sa:\"Sanskrit\",sc:\"Sardinian\",sd:\"Sindhi\",si:\"Singhalese\",sr:\"Serbian\",sk:\"Slovak\",sl:\"Slovenian\",so:\"Somani\",sb:\"Sorbian\",es:\"Spanish\",\"es-AR\":\"Spanish (Argentina)\",\"es-BO\":\"Spanish (Bolivia)\",\"es-CL\":\"Spanish (Chile)\",\"es-CO\":\"Spanish (Colombia)\",\"es-CR\":\"Spanish (Costa Rica)\",\"es-DO\":\"Spanish (Dominican Republic)\",\"es-EC\":\"Spanish (Ecuador)\",\"es-SV\":\"Spanish (El Salvador)\",\"es-GT\":\"Spanish (Guatemala)\",\"es-HN\":\"Spanish (Honduras)\",\"es-MX\":\"Spanish (Mexico)\",\"es-NI\":\"Spanish (Nicaragua)\",\"es-PA\":\"Spanish (Panama)\",\"es-PY\":\"Spanish (Paraguay)\",\"es-PE\":\"Spanish (Peru)\",\"es-PR\":\"Spanish (Puerto Rico)\",\"es-ES\":\"Spanish (Spain)\",\"es-UY\":\"Spanish (Uruguay)\",\"es-VE\":\"Spanish (Venezuela)\",sx:\"Sutu\",sw:\"Swahili\",sv:\"Swedish\",\"sv-FI\":\"Swedish (Finland)\",\"sv-SV\":\"Swedish (Sweden)\",ta:\"Tamil\",tt:\"Tatar\",te:\"Teluga\",th:\"Thai\",tig:\"Tigre\",ts:\"Tsonga\",tn:\"Tswana\",tr:\"Turkish\",tk:\"Turkmen\",uk:\"Ukrainian\",hsb:\"Upper Sorbian\",ur:\"Urdu\",ve:\"Venda\",vi:\"Vietnamese\",vo:\"Volapuk\",wa:\"Walloon\",cy:\"Welsh\",xh:\"Xhosa\",ji:\"Yiddish\",zu:\"Zulu\"}[t]&&(this.internal.languageSettings.languageCode=t,!1===this.internal.languageSettings.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){this.internal.write(\"/Lang (\"+this.internal.languageSettings.languageCode+\")\")})),this.internal.languageSettings.isSubscribed=!0)),this},\n/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n *               2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nzt=O.API,Ht=zt.getCharWidthsArray=function(t,e){var r,n,i=(e=e||{}).font||this.internal.getFont(),a=e.fontSize||this.internal.getFontSize(),o=e.charSpace||this.internal.getCharSpace(),s=e.widths?e.widths:i.metadata.Unicode.widths,u=s.fof?s.fof:1,c=e.kerning?e.kerning:i.metadata.Unicode.kerning,l=c.fof?c.fof:1,h=!1!==e.doKerning,f=0,d=t.length,p=0,g=s[0]||u,m=[];for(r=0;r<d;r++)n=t.charCodeAt(r),\"function\"==typeof i.metadata.widthOfString?m.push((i.metadata.widthOfGlyph(i.metadata.characterToGlyph(n))+o*(1e3/a)||0)/1e3):(f=h&&\"object\"==typeof c[n]&&!isNaN(parseInt(c[n][p],10))?c[n][p]/l:0,m.push((s[n]||g)/u+f)),p=n;return m},Vt=zt.getStringUnitWidth=function(t,e){var r=(e=e||{}).fontSize||this.internal.getFontSize(),n=e.font||this.internal.getFont(),i=e.charSpace||this.internal.getCharSpace();return zt.processArabic&&(t=zt.processArabic(t)),\"function\"==typeof n.metadata.widthOfString?n.metadata.widthOfString(t,r,i)/r:Ht.apply(this,arguments).reduce((function(t,e){return t+e}),0)},Wt=function(t,e,r,n){for(var i=[],a=0,o=t.length,s=0;a!==o&&s+e[a]<r;)s+=e[a],a++;i.push(t.slice(0,a));var u=a;for(s=0;a!==o;)s+e[a]>n&&(i.push(t.slice(u,a)),s=0,u=a),s+=e[a],a++;return u!==a&&i.push(t.slice(u,a)),i},Gt=function(t,e,r){r||(r={});var n,i,a,o,s,u,c,l=[],h=[l],f=r.textIndent||0,d=0,p=0,g=t.split(\" \"),m=Ht.apply(this,[\" \",r])[0];if(u=-1===r.lineIndent?g[0].length+2:r.lineIndent||0){var v=Array(u).join(\" \"),b=[];g.map((function(t){(t=t.split(/\\s*\\n/)).length>1?b=b.concat(t.map((function(t,e){return(e&&t.length?\"\\n\":\"\")+t}))):b.push(t[0])})),g=b,u=Vt.apply(this,[v,r])}for(a=0,o=g.length;a<o;a++){var y=0;if(n=g[a],u&&\"\\n\"==n[0]&&(n=n.substr(1),y=1),f+d+(p=(i=Ht.apply(this,[n,r])).reduce((function(t,e){return t+e}),0))>e||y){if(p>e){for(s=Wt.apply(this,[n,i,e-(f+d),e]),l.push(s.shift()),l=[s.pop()];s.length;)h.push([s.shift()]);p=i.slice(n.length-(l[0]?l[0].length:0)).reduce((function(t,e){return t+e}),0)}else l=[n];h.push(l),f=p+u,d=m}else l.push(n),f+=d+p,d=m}return c=u?function(t,e){return(e?v:\"\")+t.join(\" \")}:function(t){return t.join(\" \")},h.map(c)},zt.splitTextToSize=function(t,e,r){var n,i=(r=r||{}).fontSize||this.internal.getFontSize(),a=function(t){if(t.widths&&t.kerning)return{widths:t.widths,kerning:t.kerning};var e=this.internal.getFont(t.fontName,t.fontStyle);return e.metadata.Unicode?{widths:e.metadata.Unicode.widths||{0:1},kerning:e.metadata.Unicode.kerning||{}}:{font:e.metadata,fontSize:this.internal.getFontSize(),charSpace:this.internal.getCharSpace()}}.call(this,r);n=Array.isArray(t)?t:String(t).split(/\\r?\\n/);var o=1*this.internal.scaleFactor*e/i;a.textIndent=r.textIndent?1*r.textIndent*this.internal.scaleFactor/i:0,a.lineIndent=r.lineIndent;var s,u,c=[];for(s=0,u=n.length;s<u;s++)c=c.concat(Gt.apply(this,[n[s],o,a]));return c},\n/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){t.__fontmetrics__=t.__fontmetrics__||{};for(var e=\"klmnopqrstuvwxyz\",r={},n={},i=0;i<e.length;i++)r[e[i]]=\"0123456789abcdef\"[i],n[\"0123456789abcdef\"[i]]=e[i];var a=function(t){return\"0x\"+parseInt(t,10).toString(16)},o=t.__fontmetrics__.compress=function(t){var e,r,i,s,u=[\"{\"];for(var c in t){if(e=t[c],isNaN(parseInt(c,10))?r=\"'\"+c+\"'\":(c=parseInt(c,10),r=(r=a(c).slice(2)).slice(0,-1)+n[r.slice(-1)]),\"number\"==typeof e)e<0?(i=a(e).slice(3),s=\"-\"):(i=a(e).slice(2),s=\"\"),i=s+i.slice(0,-1)+n[i.slice(-1)];else{if(\"object\"!=typeof e)throw new Error(\"Don't know what to do with value type \"+typeof e+\".\");i=o(e)}u.push(r+i)}return u.push(\"}\"),u.join(\"\")},s=t.__fontmetrics__.uncompress=function(t){if(\"string\"!=typeof t)throw new Error(\"Invalid argument passed to uncompress.\");for(var e,n,i,a,o={},s=1,u=o,c=[],l=\"\",h=\"\",f=t.length-1,d=1;d<f;d+=1)\"'\"==(a=t[d])?e?(i=e.join(\"\"),e=void 0):e=[]:e?e.push(a):\"{\"==a?(c.push([u,i]),u={},i=void 0):\"}\"==a?((n=c.pop())[0][n[1]]=u,i=void 0,u=n[0]):\"-\"==a?s=-1:void 0===i?r.hasOwnProperty(a)?(l+=r[a],i=parseInt(l,16)*s,s=1,l=\"\"):l+=a:r.hasOwnProperty(a)?(h+=r[a],u[i]=parseInt(h,16)*s,s=1,i=void 0,h=\"\"):h+=a;return o},u={codePages:[\"WinAnsiEncoding\"],WinAnsiEncoding:s(\"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\")},c={Unicode:{Courier:u,\"Courier-Bold\":u,\"Courier-BoldOblique\":u,\"Courier-Oblique\":u,Helvetica:u,\"Helvetica-Bold\":u,\"Helvetica-BoldOblique\":u,\"Helvetica-Oblique\":u,\"Times-Roman\":u,\"Times-Bold\":u,\"Times-BoldItalic\":u,\"Times-Italic\":u}},l={Unicode:{\"Courier-Oblique\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-BoldItalic\":s(\"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"),\"Helvetica-Bold\":s(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),Courier:s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-BoldOblique\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Bold\":s(\"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"),Symbol:s(\"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"),Helvetica:s(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"),\"Helvetica-BoldOblique\":s(\"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"),ZapfDingbats:s(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\"Courier-Bold\":s(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\"Times-Italic\":s(\"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"),\"Times-Roman\":s(\"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"),\"Helvetica-Oblique\":s(\"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\")}};t.events.push([\"addFont\",function(t){var e=t.font,r=l.Unicode[e.postScriptName];r&&(e.metadata.Unicode={},e.metadata.Unicode.widths=r.widths,e.metadata.Unicode.kerning=r.kerning);var n=c.Unicode[e.postScriptName];n&&(e.metadata.Unicode.encoding=n,e.encoding=n.codePages[0])}])}(O.API),\n/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++)r[n]=t.charCodeAt(n);return r};t.API.events.push([\"addFont\",function(r){var n=void 0,i=r.font,a=r.instance;if(!i.isStandardFont){if(void 0===a)throw new Error(\"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");if(\"string\"!=typeof(n=!1===a.existsFileInVFS(i.postScriptName)?a.loadFile(i.postScriptName):a.getFileFromVFS(i.postScriptName)))throw new Error(\"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\"+i.postScriptName+\"').\");!function(r,n){n=/^\\x00\\x01\\x00\\x00/.test(n)?e(n):e(u(n)),r.metadata=t.API.TTFFont.open(n),r.metadata.Unicode=r.metadata.Unicode||{encoding:{},kerning:{},widths:[]},r.metadata.glyIdsUsed=[0]}(i,n)}}])}(O),\n/** @license\n * Copyright (c) 2012 Willow Systems Corporation, willow-systems.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){function e(){return(r.canvg?Promise.resolve(r.canvg):import(\"canvg\")).catch((function(t){return Promise.reject(new Error(\"Could not load canvg: \"+t))})).then((function(t){return t.default?t.default:t}))}O.API.addSvgAsImage=function(t,r,n,a,o,s,u,c){if(isNaN(r)||isNaN(n))throw i.error(\"jsPDF.addSvgAsImage: Invalid coordinates\",arguments),new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");if(isNaN(a)||isNaN(o))throw i.error(\"jsPDF.addSvgAsImage: Invalid measurements\",arguments),new Error(\"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\");var l=document.createElement(\"canvas\");l.width=a,l.height=o;var h=l.getContext(\"2d\");h.fillStyle=\"#fff\",h.fillRect(0,0,l.width,l.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(h,t,f)}),(function(){return Promise.reject(new Error(\"Could not load canvg.\"))})).then((function(t){return t.render(f)})).then((function(){d.addImage(l.toDataURL(\"image/jpeg\",1),r,n,a,o,u,c)}))}}(),O.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,\"g\"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),\"g\"),r=this.pdfEscape16(this.internal.getNumberOfPages()+\"\",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},O.API.viewerPreferences=function(t,e){var r;t=t||{},e=e||!1;var n,i,a,o={HideToolbar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:\"UseNone\",value:\"UseNone\",type:\"name\",explicitSet:!1,valueSet:[\"UseNone\",\"UseOutlines\",\"UseThumbs\",\"UseOC\"],pdfVersion:1.3},Direction:{defaultValue:\"L2R\",value:\"L2R\",type:\"name\",explicitSet:!1,valueSet:[\"L2R\",\"R2L\"],pdfVersion:1.3},ViewArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},ViewClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintArea:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintClip:{defaultValue:\"CropBox\",value:\"CropBox\",type:\"name\",explicitSet:!1,valueSet:[\"MediaBox\",\"CropBox\",\"TrimBox\",\"BleedBox\",\"ArtBox\"],pdfVersion:1.4},PrintScaling:{defaultValue:\"AppDefault\",value:\"AppDefault\",type:\"name\",explicitSet:!1,valueSet:[\"AppDefault\",\"None\"],pdfVersion:1.6},Duplex:{defaultValue:\"\",value:\"none\",type:\"name\",explicitSet:!1,valueSet:[\"Simplex\",\"DuplexFlipShortEdge\",\"DuplexFlipLongEdge\",\"none\"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:\"boolean\",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:\"\",value:\"\",type:\"array\",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:\"integer\",explicitSet:!1,valueSet:null,pdfVersion:1.7}},s=Object.keys(o),u=[],c=0,l=0,h=0;function f(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(o)),this.internal.viewerpreferences.isSubscribed=!1),r=this.internal.viewerpreferences.configuration,\"reset\"===t||!0===e){var d=s.length;for(h=0;h<d;h+=1)r[s[h]].value=r[s[h]].defaultValue,r[s[h]].explicitSet=!1}if(\"object\"==typeof t)for(i in t)if(a=t[i],f(s,i)&&void 0!==a){if(\"boolean\"===r[i].type&&\"boolean\"==typeof a)r[i].value=a;else if(\"name\"===r[i].type&&f(r[i].valueSet,a))r[i].value=a;else if(\"integer\"===r[i].type&&Number.isInteger(a))r[i].value=a;else if(\"array\"===r[i].type){for(c=0;c<a.length;c+=1)if(n=!0,1===a[c].length&&\"number\"==typeof a[c][0])u.push(String(a[c]-1));else if(a[c].length>1){for(l=0;l<a[c].length;l+=1)\"number\"!=typeof a[c][l]&&(n=!1);!0===n&&u.push([a[c][0]-1,a[c][1]-1].join(\" \"))}r[i].value=\"[\"+u.join(\" \")+\"]\"}else r[i].value=r[i].defaultValue;r[i].explicitSet=!0}return!1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe(\"putCatalog\",(function(){var t,e=[];for(t in r)!0===r[t].explicitSet&&(\"name\"===r[t].type?e.push(\"/\"+t+\" /\"+r[t].value):e.push(\"/\"+t+\" \"+r[t].value));0!==e.length&&this.internal.write(\"/ViewerPreferences\\n<<\\n\"+e.join(\"\\n\")+\"\\n>>\")})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=r,this},\n/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\nfunction(t){var e=function(){var t='<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"><rdf:Description rdf:about=\"\" xmlns:jspdf=\"'+this.internal.__metadata__.namespaceuri+'\"><jspdf:metadata>',e=unescape(encodeURIComponent('<x:xmpmeta xmlns:x=\"adobe:ns:meta/\">')),r=unescape(encodeURIComponent(t)),n=unescape(encodeURIComponent(this.internal.__metadata__.metadata)),i=unescape(encodeURIComponent(\"</jspdf:metadata></rdf:Description></rdf:RDF>\")),a=unescape(encodeURIComponent(\"</x:xmpmeta>\")),o=r.length+n.length+i.length+e.length+a.length;this.internal.__metadata__.metadata_object_number=this.internal.newObject(),this.internal.write(\"<< /Type /Metadata /Subtype /XML /Length \"+o+\" >>\"),this.internal.write(\"stream\"),this.internal.write(e+r+n+i+a),this.internal.write(\"endstream\"),this.internal.write(\"endobj\")},r=function(){this.internal.__metadata__.metadata_object_number&&this.internal.write(\"/Metadata \"+this.internal.__metadata__.metadata_object_number+\" 0 R\")};t.addMetadata=function(t,n){return void 0===this.internal.__metadata__&&(this.internal.__metadata__={metadata:t,namespaceuri:n||\"http://jspdf.default.namespaceuri/\"},this.internal.events.subscribe(\"putCatalog\",r),this.internal.events.subscribe(\"postPutResources\",e)),this}}(O.API),function(t){var e=t.API,r=e.pdfEscape16=function(t,e){for(var r,n=e.metadata.Unicode.widths,i=[\"\",\"0\",\"00\",\"000\",\"0000\"],a=[\"\"],o=0,s=t.length;o<s;++o){if(r=e.metadata.characterToGlyph(t.charCodeAt(o)),e.metadata.glyIdsUsed.push(r),e.metadata.toUnicode[r]=t.charCodeAt(o),-1==n.indexOf(r)&&(n.push(r),n.push([parseInt(e.metadata.widthOfGlyph(r),10)])),\"0\"==r)return a.join(\"\");r=r.toString(16),a.push(i[4-r.length],r)}return a.join(\"\")},n=function(t){var e,r,n,i,a,o,s;for(a=\"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n  /Registry (Adobe)\\n  /Ordering (UCS)\\n  /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000><ffff>\\nendcodespacerange\",n=[],o=0,s=(r=Object.keys(t).sort((function(t,e){return t-e}))).length;o<s;o++)e=r[o],n.length>=100&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\",n=[]),void 0!==t[e]&&null!==t[e]&&\"function\"==typeof t[e].toString&&(i=(\"0000\"+t[e].toString(16)).slice(-4),e=(\"0000\"+(+e).toString(16)).slice(-4),n.push(\"<\"+e+\"><\"+i+\">\"));return n.length&&(a+=\"\\n\"+n.length+\" beginbfchar\\n\"+n.join(\"\\n\")+\"\\nendbfchar\\n\"),a+=\"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"};e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream,s=e.pdfEscapeWithNeededParanthesis;if(r.metadata instanceof t.API.TTFFont&&\"Identity-H\"===r.encoding){for(var u=r.metadata.Unicode.widths,c=r.metadata.subset.encode(r.metadata.glyIdsUsed,1),l=\"\",h=0;h<c.length;h++)l+=String.fromCharCode(c[h]);var f=a();o({data:l,addLength1:!0,objectId:f}),i(\"endobj\");var d=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:d}),i(\"endobj\");var p=a();i(\"<<\"),i(\"/Type /FontDescriptor\"),i(\"/FontName /\"+s(r.fontName)),i(\"/FontFile2 \"+f+\" 0 R\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/Flags \"+r.metadata.flags),i(\"/StemV \"+r.metadata.stemV),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\">>\"),i(\"endobj\");var g=a();i(\"<<\"),i(\"/Type /Font\"),i(\"/BaseFont /\"+s(r.fontName)),i(\"/FontDescriptor \"+p+\" 0 R\"),i(\"/W \"+t.API.PDFObject.convert(u)),i(\"/CIDToGIDMap /Identity\"),i(\"/DW 1000\"),i(\"/Subtype /CIDFontType2\"),i(\"/CIDSystemInfo\"),i(\"<<\"),i(\"/Supplement 0\"),i(\"/Registry (Adobe)\"),i(\"/Ordering (\"+r.encoding+\")\"),i(\">>\"),i(\">>\"),i(\"endobj\"),r.objectNumber=a(),i(\"<<\"),i(\"/Type /Font\"),i(\"/Subtype /Type0\"),i(\"/ToUnicode \"+d+\" 0 R\"),i(\"/BaseFont /\"+s(r.fontName)),i(\"/Encoding /\"+r.encoding),i(\"/DescendantFonts [\"+g+\" 0 R]\"),i(\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);e.events.push([\"putFont\",function(e){!function(e){var r=e.font,i=e.out,a=e.newObject,o=e.putStream,s=e.pdfEscapeWithNeededParanthesis;if(r.metadata instanceof t.API.TTFFont&&\"WinAnsiEncoding\"===r.encoding){for(var u=r.metadata.rawData,c=\"\",l=0;l<u.length;l++)c+=String.fromCharCode(u[l]);var h=a();o({data:c,addLength1:!0,objectId:h}),i(\"endobj\");var f=a();o({data:n(r.metadata.toUnicode),addLength1:!0,objectId:f}),i(\"endobj\");var d=a();i(\"<<\"),i(\"/Descent \"+r.metadata.decender),i(\"/CapHeight \"+r.metadata.capHeight),i(\"/StemV \"+r.metadata.stemV),i(\"/Type /FontDescriptor\"),i(\"/FontFile2 \"+h+\" 0 R\"),i(\"/Flags 96\"),i(\"/FontBBox \"+t.API.PDFObject.convert(r.metadata.bbox)),i(\"/FontName /\"+s(r.fontName)),i(\"/ItalicAngle \"+r.metadata.italicAngle),i(\"/Ascent \"+r.metadata.ascender),i(\">>\"),i(\"endobj\"),r.objectNumber=a();for(var p=0;p<r.metadata.hmtx.widths.length;p++)r.metadata.hmtx.widths[p]=parseInt(r.metadata.hmtx.widths[p]*(1e3/r.metadata.head.unitsPerEm));i(\"<</Subtype/TrueType/Type/Font/ToUnicode \"+f+\" 0 R/BaseFont/\"+s(r.fontName)+\"/FontDescriptor \"+d+\" 0 R/Encoding/\"+r.encoding+\" /FirstChar 29 /LastChar 255 /Widths \"+t.API.PDFObject.convert(r.metadata.hmtx.widths)+\">>\"),i(\"endobj\"),r.isAlreadyPutted=!0}}(e)}]);var i=function(t){var e,n=t.text||\"\",i=t.x,a=t.y,o=t.options||{},s=t.mutex||{},u=s.pdfEscape,c=s.activeFontKey,l=s.fonts,h=c,f=\"\",d=0,p=\"\",g=l[h].encoding;if(\"Identity-H\"!==l[h].encoding)return{text:n,x:i,y:a,options:o,mutex:s};for(p=n,h=c,Array.isArray(n)&&(p=n[0]),d=0;d<p.length;d+=1)l[h].metadata.hasOwnProperty(\"cmap\")&&(e=l[h].metadata.cmap.unicode.codeMap[p[d].charCodeAt(0)]),e||p[d].charCodeAt(0)<256&&l[h].metadata.hasOwnProperty(\"Unicode\")?f+=p[d]:f+=\"\";var m=\"\";return parseInt(h.slice(1))<14||\"WinAnsiEncoding\"===g?m=u(f,h).split(\"\").map((function(t){return t.charCodeAt(0).toString(16)})).join(\"\"):\"Identity-H\"===g&&(m=r(f,l[h])),s.isHex=!0,{text:m,x:i,y:a,options:o,mutex:s}};e.events.push([\"postProcessText\",function(t){var e=t.text||\"\",r=[],n={text:e,x:t.x,y:t.y,options:t.options,mutex:t.mutex};if(Array.isArray(e)){var a=0;for(a=0;a<e.length;a+=1)Array.isArray(e[a])&&3===e[a].length?r.push([i(Object.assign({},n,{text:e[a][0]})).text,e[a][1],e[a][2]]):r.push(i(Object.assign({},n,{text:e[a]})).text);t.text=r}else t.text=i(Object.assign({},n,{text:e})).text}])}(O),\n/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\nfunction(t){var e=function(){return void 0===this.internal.vFS&&(this.internal.vFS={}),!0};t.existsFileInVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]},t.addFileToVFS=function(t,r){return e.call(this),this.internal.vFS[t]=r,this},t.getFileFromVFS=function(t){return e.call(this),void 0!==this.internal.vFS[t]?this.internal.vFS[t]:null}}(O.API),\n/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\nfunction(t){t.__bidiEngine__=t.prototype.__bidiEngine__=function(t){var r,n,i,a,o,s,u,c=e,l=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],h=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],f={L:0,R:1,EN:2,AN:3,N:4,B:5,S:6},d={0:0,5:1,6:2,7:3,32:4,251:5,254:6,255:7},p=[\"(\",\")\",\"(\",\"<\",\">\",\"<\",\"[\",\"]\",\"[\",\"{\",\"}\",\"{\",\"«\",\"»\",\"«\",\"‹\",\"›\",\"‹\",\"⁅\",\"⁆\",\"⁅\",\"⁽\",\"⁾\",\"⁽\",\"₍\",\"₎\",\"₍\",\"≤\",\"≥\",\"≤\",\"〈\",\"〉\",\"〈\",\"﹙\",\"﹚\",\"﹙\",\"﹛\",\"﹜\",\"﹛\",\"﹝\",\"﹞\",\"﹝\",\"﹤\",\"﹥\",\"﹤\"],g=new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/),m=!1,v=0;this.__bidiEngine__={};var b=function(t){var e=t.charCodeAt(),r=e>>8,n=d[r];return void 0!==n?c[256*n+(255&e)]:252===r||253===r?\"AL\":g.test(r)?\"L\":8===r?\"R\":\"N\"},y=function(t){for(var e,r=0;r<t.length;r++){if(\"L\"===(e=b(t.charAt(r))))return!1;if(\"R\"===e)return!0}return!1},w=function(t,e,o,s){var u,c,l,h,f=e[s];switch(f){case\"L\":case\"R\":m=!1;break;case\"N\":case\"AN\":break;case\"EN\":m&&(f=\"AN\");break;case\"AL\":m=!0,f=\"R\";break;case\"WS\":f=\"N\";break;case\"CS\":s<1||s+1>=e.length||\"EN\"!==(u=o[s-1])&&\"AN\"!==u||\"EN\"!==(c=e[s+1])&&\"AN\"!==c?f=\"N\":m&&(c=\"AN\"),f=c===u?c:\"N\";break;case\"ES\":f=\"EN\"===(u=s>0?o[s-1]:\"B\")&&s+1<e.length&&\"EN\"===e[s+1]?\"EN\":\"N\";break;case\"ET\":if(s>0&&\"EN\"===o[s-1]){f=\"EN\";break}if(m){f=\"N\";break}for(l=s+1,h=e.length;l<h&&\"ET\"===e[l];)l++;f=l<h&&\"EN\"===e[l]?\"EN\":\"N\";break;case\"NSM\":if(i&&!a){for(h=e.length,l=s+1;l<h&&\"NSM\"===e[l];)l++;if(l<h){var d=t[s],p=d>=1425&&d<=2303||64286===d;if(u=e[l],p&&(\"R\"===u||\"AL\"===u)){f=\"R\";break}}}f=s<1||\"B\"===(u=e[s-1])?\"N\":o[s-1];break;case\"B\":m=!1,r=!0,f=v;break;case\"S\":n=!0,f=\"N\";break;case\"LRE\":case\"RLE\":case\"LRO\":case\"RLO\":case\"PDF\":m=!1;break;case\"BN\":f=\"N\"}return f},N=function(t,e,r){var n=t.split(\"\");return r&&L(n,r,{hiLevel:v}),n.reverse(),e&&e.reverse(),n.join(\"\")},L=function(t,e,i){var a,o,s,u,c,d=-1,p=t.length,g=0,y=[],N=v?h:l,L=[];for(m=!1,r=!1,n=!1,o=0;o<p;o++)L[o]=b(t[o]);for(s=0;s<p;s++){if(c=g,y[s]=w(t,L,y,s),a=240&(g=N[c][f[y[s]]]),g&=15,e[s]=u=N[g][5],a>0)if(16===a){for(o=d;o<s;o++)e[o]=1;d=-1}else d=-1;if(N[g][6])-1===d&&(d=s);else if(d>-1){for(o=d;o<s;o++)e[o]=u;d=-1}\"B\"===L[s]&&(e[s]=0),i.hiLevel|=u}n&&function(t,e,r){for(var n=0;n<r;n++)if(\"S\"===t[n]){e[n]=v;for(var i=n-1;i>=0&&\"WS\"===t[i];i--)e[i]=v}}(L,e,p)},A=function(t,e,n,i,a){if(!(a.hiLevel<t)){if(1===t&&1===v&&!r)return e.reverse(),void(n&&n.reverse());for(var o,s,u,c,l=e.length,h=0;h<l;){if(i[h]>=t){for(u=h+1;u<l&&i[u]>=t;)u++;for(c=h,s=u-1;c<s;c++,s--)o=e[c],e[c]=e[s],e[s]=o,n&&(o=n[c],n[c]=n[s],n[s]=o);h=u}h++}}},x=function(t,e,r){var n=t.split(\"\"),i={hiLevel:v};return r||(r=[]),L(n,r,i),function(t,e,r){if(0!==r.hiLevel&&u)for(var n,i=0;i<t.length;i++)1===e[i]&&(n=p.indexOf(t[i]))>=0&&(t[i]=p[n+1])}(n,r,i),A(2,n,e,r,i),A(1,n,e,r,i),n.join(\"\")};return this.__bidiEngine__.doBidiReorder=function(t,e,r){if(function(t,e){if(e)for(var r=0;r<t.length;r++)e[r]=r;void 0===a&&(a=y(t)),void 0===s&&(s=y(t))}(t,e),i||!o||s)if(i&&o&&a^s)v=a?1:0,t=N(t,e,r);else if(!i&&o&&s)v=a?1:0,t=x(t,e,r),t=N(t,e);else if(!i||a||o||s){if(i&&!o&&a^s)t=N(t,e),a?(v=0,t=x(t,e,r)):(v=1,t=x(t,e,r),t=N(t,e));else if(i&&a&&!o&&s)v=1,t=x(t,e,r),t=N(t,e);else if(!i&&!o&&a^s){var n=u;a?(v=1,t=x(t,e,r),v=0,u=!1,t=x(t,e,r),u=n):(v=0,t=x(t,e,r),t=N(t,e),v=1,u=!1,t=x(t,e,r),u=n,t=N(t,e))}}else v=0,t=x(t,e,r);else v=a?1:0,t=x(t,e,r);return t},this.__bidiEngine__.setOptions=function(t){t&&(i=t.isInputVisual,o=t.isOutputVisual,a=t.isInputRtl,s=t.isOutputRtl,u=t.isSymmetricSwapping)},this.__bidiEngine__.setOptions(t),this.__bidiEngine__};var e=[\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"S\",\"B\",\"S\",\"WS\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"B\",\"B\",\"S\",\"WS\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"B\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"CS\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"L\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"ET\",\"ET\",\"EN\",\"EN\",\"N\",\"L\",\"N\",\"N\",\"N\",\"EN\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"NSM\",\"R\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"N\",\"N\",\"AL\",\"ET\",\"ET\",\"AL\",\"CS\",\"AL\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"AN\",\"ET\",\"AN\",\"AN\",\"AL\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AN\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"AL\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"NSM\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"R\",\"R\",\"N\",\"N\",\"N\",\"N\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"WS\",\"BN\",\"BN\",\"BN\",\"L\",\"R\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"B\",\"LRE\",\"RLE\",\"PDF\",\"LRO\",\"RLO\",\"CS\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"WS\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"N\",\"LRI\",\"RLI\",\"FSI\",\"PDI\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"BN\",\"EN\",\"L\",\"N\",\"N\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"L\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"R\",\"NSM\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"ES\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"N\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"N\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"R\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"NSM\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"CS\",\"N\",\"CS\",\"N\",\"N\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"N\",\"N\",\"ES\",\"ES\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"AL\",\"N\",\"N\",\"BN\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"ES\",\"CS\",\"ES\",\"CS\",\"CS\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"EN\",\"CS\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"L\",\"L\",\"L\",\"N\",\"N\",\"L\",\"L\",\"L\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"ET\",\"ET\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\",\"N\"],r=new t.__bidiEngine__({isInputVisual:!0});t.API.events.push([\"postProcessText\",function(t){var e=t.text,n=(t.x,t.y,t.options||{}),i=(t.mutex,n.lang,[]);if(n.isInputVisual=\"boolean\"!=typeof n.isInputVisual||n.isInputVisual,r.setOptions(n),\"[object Array]\"===Object.prototype.toString.call(e)){var a=0;for(i=[],a=0;a<e.length;a+=1)\"[object Array]\"===Object.prototype.toString.call(e[a])?i.push([r.doBidiReorder(e[a][0]),e[a][1],e[a][2]]):i.push([r.doBidiReorder(e[a])]);t.text=i}else t.text=r.doBidiReorder(e);r.setOptions({isInputVisual:!0})}])}(O),O.API.TTFFont=function(){function t(t){var e;if(this.rawData=t,e=this.contents=new te(t),this.contents.pos=4,\"ttcf\"===e.readString(4))throw new Error(\"TTCF not supported.\");e.pos=0,this.parse(),this.subset=new ye(this),this.registerTTF()}return t.open=function(e){return new t(e)},t.prototype.parse=function(){return this.directory=new ee(this.contents),this.head=new ie(this),this.name=new he(this),this.cmap=new oe(this),this.toUnicode={},this.hhea=new se(this),this.maxp=new fe(this),this.hmtx=new de(this),this.post=new ce(this),this.os2=new ue(this),this.loca=new be(this),this.glyf=new ge(this),this.ascender=this.os2.exists&&this.os2.ascender||this.hhea.ascender,this.decender=this.os2.exists&&this.os2.decender||this.hhea.decender,this.lineGap=this.os2.exists&&this.os2.lineGap||this.hhea.lineGap,this.bbox=[this.head.xMin,this.head.yMin,this.head.xMax,this.head.yMax]},t.prototype.registerTTF=function(){var t,e,r,n,i;if(this.scaleFactor=1e3/this.head.unitsPerEm,this.bbox=function(){var e,r,n,i;for(i=[],e=0,r=(n=this.bbox).length;e<r;e++)t=n[e],i.push(Math.round(t*this.scaleFactor));return i}.call(this),this.stemV=0,this.post.exists?(r=255&(n=this.post.italic_angle),0!=(32768&(e=n>>16))&&(e=-(1+(65535^e))),this.italicAngle=+(e+\".\"+r)):this.italicAngle=0,this.ascender=Math.round(this.ascender*this.scaleFactor),this.decender=Math.round(this.decender*this.scaleFactor),this.lineGap=Math.round(this.lineGap*this.scaleFactor),this.capHeight=this.os2.exists&&this.os2.capHeight||this.ascender,this.xHeight=this.os2.exists&&this.os2.xHeight||0,this.familyClass=(this.os2.exists&&this.os2.familyClass||0)>>8,this.isSerif=1===(i=this.familyClass)||2===i||3===i||4===i||5===i||7===i,this.isScript=10===this.familyClass,this.flags=0,this.post.isFixedPitch&&(this.flags|=1),this.isSerif&&(this.flags|=2),this.isScript&&(this.flags|=8),0!==this.italicAngle&&(this.flags|=64),this.flags|=32,!this.cmap.unicode)throw new Error(\"No unicode cmap for font\")},t.prototype.characterToGlyph=function(t){var e;return(null!=(e=this.cmap.unicode)?e.codeMap[t]:void 0)||0},t.prototype.widthOfGlyph=function(t){var e;return e=1e3/this.head.unitsPerEm,this.hmtx.forGlyph(t).advance*e},t.prototype.widthOfString=function(t,e,r){var n,i,a,o;for(a=0,i=0,o=(t=\"\"+t).length;0<=o?i<o:i>o;i=0<=o?++i:--i)n=t.charCodeAt(i),a+=this.widthOfGlyph(this.characterToGlyph(n))+r*(1e3/e)||0;return a*(e/1e3)},t.prototype.lineHeight=function(t,e){var r;return null==e&&(e=!1),r=e?this.lineGap:0,(this.ascender+r-this.decender)/1e3*t},t}();var Qt,te=function(){function t(t){this.data=null!=t?t:[],this.pos=0,this.length=this.data.length}return t.prototype.readByte=function(){return this.data[this.pos++]},t.prototype.writeByte=function(t){return this.data[this.pos++]=t},t.prototype.readUInt32=function(){return 16777216*this.readByte()+(this.readByte()<<16)+(this.readByte()<<8)+this.readByte()},t.prototype.writeUInt32=function(t){return this.writeByte(t>>>24&255),this.writeByte(t>>16&255),this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt32=function(){var t;return(t=this.readUInt32())>=2147483648?t-4294967296:t},t.prototype.writeInt32=function(t){return t<0&&(t+=4294967296),this.writeUInt32(t)},t.prototype.readUInt16=function(){return this.readByte()<<8|this.readByte()},t.prototype.writeUInt16=function(t){return this.writeByte(t>>8&255),this.writeByte(255&t)},t.prototype.readInt16=function(){var t;return(t=this.readUInt16())>=32768?t-65536:t},t.prototype.writeInt16=function(t){return t<0&&(t+=65536),this.writeUInt16(t)},t.prototype.readString=function(t){var e,r;for(r=[],e=0;0<=t?e<t:e>t;e=0<=t?++e:--e)r[e]=String.fromCharCode(this.readByte());return r.join(\"\")},t.prototype.writeString=function(t){var e,r,n;for(n=[],e=0,r=t.length;0<=r?e<r:e>r;e=0<=r?++e:--e)n.push(this.writeByte(t.charCodeAt(e)));return n},t.prototype.readShort=function(){return this.readInt16()},t.prototype.writeShort=function(t){return this.writeInt16(t)},t.prototype.readLongLong=function(){var t,e,r,n,i,a,o,s;return t=this.readByte(),e=this.readByte(),r=this.readByte(),n=this.readByte(),i=this.readByte(),a=this.readByte(),o=this.readByte(),s=this.readByte(),128&t?-1*(72057594037927940*(255^t)+281474976710656*(255^e)+1099511627776*(255^r)+4294967296*(255^n)+16777216*(255^i)+65536*(255^a)+256*(255^o)+(255^s)+1):72057594037927940*t+281474976710656*e+1099511627776*r+4294967296*n+16777216*i+65536*a+256*o+s},t.prototype.writeLongLong=function(t){var e,r;return e=Math.floor(t/4294967296),r=4294967295&t,this.writeByte(e>>24&255),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e),this.writeByte(r>>24&255),this.writeByte(r>>16&255),this.writeByte(r>>8&255),this.writeByte(255&r)},t.prototype.readInt=function(){return this.readInt32()},t.prototype.writeInt=function(t){return this.writeInt32(t)},t.prototype.read=function(t){var e,r;for(e=[],r=0;0<=t?r<t:r>t;r=0<=t?++r:--r)e.push(this.readByte());return e},t.prototype.write=function(t){var e,r,n,i;for(i=[],r=0,n=t.length;r<n;r++)e=t[r],i.push(this.writeByte(e));return i},t}(),ee=function(){var t;function e(t){var e,r,n;for(this.scalarType=t.readInt(),this.tableCount=t.readShort(),this.searchRange=t.readShort(),this.entrySelector=t.readShort(),this.rangeShift=t.readShort(),this.tables={},r=0,n=this.tableCount;0<=n?r<n:r>n;r=0<=n?++r:--r)e={tag:t.readString(4),checksum:t.readInt(),offset:t.readInt(),length:t.readInt()},this.tables[e.tag]=e}return e.prototype.encode=function(e){var r,n,i,a,o,s,u,c,l,h,f,d,p;for(p in f=Object.keys(e).length,s=Math.log(2),l=16*Math.floor(Math.log(f)/s),a=Math.floor(l/s),c=16*f-l,(n=new te).writeInt(this.scalarType),n.writeShort(f),n.writeShort(l),n.writeShort(a),n.writeShort(c),i=16*f,u=n.pos+i,o=null,d=[],e)for(h=e[p],n.writeString(p),n.writeInt(t(h)),n.writeInt(u),n.writeInt(h.length),d=d.concat(h),\"head\"===p&&(o=u),u+=h.length;u%4;)d.push(0),u++;return n.write(d),r=2981146554-t(n.data),n.pos=o+8,n.writeUInt32(r),n.data},t=function(t){var e,r,n,i;for(t=pe.call(t);t.length%4;)t.push(0);for(n=new te(t),r=0,e=0,i=t.length;e<i;e=e+=4)r+=n.readUInt32();return 4294967295&r},e}(),re={}.hasOwnProperty,ne=function(t,e){for(var r in e)re.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t};Qt=function(){function t(t){var e;this.file=t,e=this.file.directory.tables[this.tag],this.exists=!!e,e&&(this.offset=e.offset,this.length=e.length,this.parse(this.file.contents))}return t.prototype.parse=function(){},t.prototype.encode=function(){},t.prototype.raw=function(){return this.exists?(this.file.contents.pos=this.offset,this.file.contents.read(this.length)):null},t}();var ie=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"head\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.revision=t.readInt(),this.checkSumAdjustment=t.readInt(),this.magicNumber=t.readInt(),this.flags=t.readShort(),this.unitsPerEm=t.readShort(),this.created=t.readLongLong(),this.modified=t.readLongLong(),this.xMin=t.readShort(),this.yMin=t.readShort(),this.xMax=t.readShort(),this.yMax=t.readShort(),this.macStyle=t.readShort(),this.lowestRecPPEM=t.readShort(),this.fontDirectionHint=t.readShort(),this.indexToLocFormat=t.readShort(),this.glyphDataFormat=t.readShort()},e.prototype.encode=function(t){var e;return(e=new te).writeInt(this.version),e.writeInt(this.revision),e.writeInt(this.checkSumAdjustment),e.writeInt(this.magicNumber),e.writeShort(this.flags),e.writeShort(this.unitsPerEm),e.writeLongLong(this.created),e.writeLongLong(this.modified),e.writeShort(this.xMin),e.writeShort(this.yMin),e.writeShort(this.xMax),e.writeShort(this.yMax),e.writeShort(this.macStyle),e.writeShort(this.lowestRecPPEM),e.writeShort(this.fontDirectionHint),e.writeShort(t),e.writeShort(this.glyphDataFormat),e.data},e}(),ae=function(){function t(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m,v,b;switch(this.platformID=t.readUInt16(),this.encodingID=t.readShort(),this.offset=e+t.readInt(),l=t.pos,t.pos=this.offset,this.format=t.readUInt16(),this.length=t.readUInt16(),this.language=t.readUInt16(),this.isUnicode=3===this.platformID&&1===this.encodingID&&4===this.format||0===this.platformID&&4===this.format,this.codeMap={},this.format){case 0:for(s=0;s<256;++s)this.codeMap[s]=t.readByte();break;case 4:for(f=t.readUInt16(),h=f/2,t.pos+=6,i=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),t.pos+=2,p=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),u=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),c=function(){var e,r;for(r=[],s=e=0;0<=h?e<h:e>h;s=0<=h?++e:--e)r.push(t.readUInt16());return r}(),n=(this.length-t.pos+this.offset)/2,o=function(){var e,r;for(r=[],s=e=0;0<=n?e<n:e>n;s=0<=n?++e:--e)r.push(t.readUInt16());return r}(),s=m=0,b=i.length;m<b;s=++m)for(g=i[s],r=v=d=p[s];d<=g?v<=g:v>=g;r=d<=g?++v:--v)0===c[s]?a=r+u[s]:0!==(a=o[c[s]/2+(r-d)-(h-s)]||0)&&(a+=u[s]),this.codeMap[r]=65535&a}t.pos=l}return t.encode=function(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m,v,b,y,w,N,L,A,x,S,_,P,k,I,F,C,j,O,B,M,E,q,R,T,D,U,z,H,V,W,G,Y;switch(I=new te,a=Object.keys(t).sort((function(t,e){return t-e})),e){case\"macroman\":for(p=0,g=function(){var t=[];for(d=0;d<256;++d)t.push(0);return t}(),v={0:0},i={},F=0,B=a.length;F<B;F++)null==v[V=t[n=a[F]]]&&(v[V]=++p),i[n]={old:t[n],new:v[t[n]]},g[n]=v[t[n]];return I.writeUInt16(1),I.writeUInt16(0),I.writeUInt32(12),I.writeUInt16(0),I.writeUInt16(262),I.writeUInt16(0),I.write(g),{charMap:i,subtable:I.data,maxGlyphID:p+1};case\"unicode\":for(P=[],l=[],b=0,v={},r={},m=u=null,C=0,M=a.length;C<M;C++)null==v[w=t[n=a[C]]]&&(v[w]=++b),r[n]={old:w,new:v[w]},o=v[w]-n,null!=m&&o===u||(m&&l.push(m),P.push(n),u=o),m=n;for(m&&l.push(m),l.push(65535),P.push(65535),S=2*(x=P.length),A=2*Math.pow(Math.log(x)/Math.LN2,2),h=Math.log(A/2)/Math.LN2,L=2*x-A,s=[],N=[],f=[],d=j=0,E=P.length;j<E;d=++j){if(_=P[d],c=l[d],65535===_){s.push(0),N.push(0);break}if(_-(k=r[_].new)>=32768)for(s.push(0),N.push(2*(f.length+x-d)),n=O=_;_<=c?O<=c:O>=c;n=_<=c?++O:--O)f.push(r[n].new);else s.push(k-_),N.push(0)}for(I.writeUInt16(3),I.writeUInt16(1),I.writeUInt32(12),I.writeUInt16(4),I.writeUInt16(16+8*x+2*f.length),I.writeUInt16(0),I.writeUInt16(S),I.writeUInt16(A),I.writeUInt16(h),I.writeUInt16(L),z=0,q=l.length;z<q;z++)n=l[z],I.writeUInt16(n);for(I.writeUInt16(0),H=0,R=P.length;H<R;H++)n=P[H],I.writeUInt16(n);for(W=0,T=s.length;W<T;W++)o=s[W],I.writeUInt16(o);for(G=0,D=N.length;G<D;G++)y=N[G],I.writeUInt16(y);for(Y=0,U=f.length;Y<U;Y++)p=f[Y],I.writeUInt16(p);return{charMap:r,subtable:I.data,maxGlyphID:b+1}}},t}(),oe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"cmap\",e.prototype.parse=function(t){var e,r,n;for(t.pos=this.offset,this.version=t.readUInt16(),n=t.readUInt16(),this.tables=[],this.unicode=null,r=0;0<=n?r<n:r>n;r=0<=n?++r:--r)e=new ae(t,this.offset),this.tables.push(e),e.isUnicode&&null==this.unicode&&(this.unicode=e);return!0},e.encode=function(t,e){var r,n;return null==e&&(e=\"macroman\"),r=ae.encode(t,e),(n=new te).writeUInt16(0),n.writeUInt16(1),r.table=n.data.concat(r.subtable),r},e}(),se=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"hhea\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.ascender=t.readShort(),this.decender=t.readShort(),this.lineGap=t.readShort(),this.advanceWidthMax=t.readShort(),this.minLeftSideBearing=t.readShort(),this.minRightSideBearing=t.readShort(),this.xMaxExtent=t.readShort(),this.caretSlopeRise=t.readShort(),this.caretSlopeRun=t.readShort(),this.caretOffset=t.readShort(),t.pos+=8,this.metricDataFormat=t.readShort(),this.numberOfMetrics=t.readUInt16()},e}(),ue=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"OS/2\",e.prototype.parse=function(t){if(t.pos=this.offset,this.version=t.readUInt16(),this.averageCharWidth=t.readShort(),this.weightClass=t.readUInt16(),this.widthClass=t.readUInt16(),this.type=t.readShort(),this.ySubscriptXSize=t.readShort(),this.ySubscriptYSize=t.readShort(),this.ySubscriptXOffset=t.readShort(),this.ySubscriptYOffset=t.readShort(),this.ySuperscriptXSize=t.readShort(),this.ySuperscriptYSize=t.readShort(),this.ySuperscriptXOffset=t.readShort(),this.ySuperscriptYOffset=t.readShort(),this.yStrikeoutSize=t.readShort(),this.yStrikeoutPosition=t.readShort(),this.familyClass=t.readShort(),this.panose=function(){var e,r;for(r=[],e=0;e<10;++e)r.push(t.readByte());return r}(),this.charRange=function(){var e,r;for(r=[],e=0;e<4;++e)r.push(t.readInt());return r}(),this.vendorID=t.readString(4),this.selection=t.readShort(),this.firstCharIndex=t.readShort(),this.lastCharIndex=t.readShort(),this.version>0&&(this.ascent=t.readShort(),this.descent=t.readShort(),this.lineGap=t.readShort(),this.winAscent=t.readShort(),this.winDescent=t.readShort(),this.codePageRange=function(){var e,r;for(r=[],e=0;e<2;e=++e)r.push(t.readInt());return r}(),this.version>1))return this.xHeight=t.readShort(),this.capHeight=t.readShort(),this.defaultChar=t.readShort(),this.breakChar=t.readShort(),this.maxContext=t.readShort()},e}(),ce=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"post\",e.prototype.parse=function(t){var e,r,n;switch(t.pos=this.offset,this.format=t.readInt(),this.italicAngle=t.readInt(),this.underlinePosition=t.readShort(),this.underlineThickness=t.readShort(),this.isFixedPitch=t.readInt(),this.minMemType42=t.readInt(),this.maxMemType42=t.readInt(),this.minMemType1=t.readInt(),this.maxMemType1=t.readInt(),this.format){case 65536:break;case 131072:var i;for(r=t.readUInt16(),this.glyphNameIndex=[],i=0;0<=r?i<r:i>r;i=0<=r?++i:--i)this.glyphNameIndex.push(t.readUInt16());for(this.names=[],n=[];t.pos<this.offset+this.length;)e=t.readByte(),n.push(this.names.push(t.readString(e)));return n;case 151552:return r=t.readUInt16(),this.offsets=t.read(r);case 196608:break;case 262144:return this.map=function(){var e,r,n;for(n=[],i=e=0,r=this.file.maxp.numGlyphs;0<=r?e<r:e>r;i=0<=r?++e:--e)n.push(t.readUInt32());return n}.call(this)}},e}(),le=function(t,e){this.raw=t,this.length=t.length,this.platformID=e.platformID,this.encodingID=e.encodingID,this.languageID=e.languageID},he=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"name\",e.prototype.parse=function(t){var e,r,n,i,a,o,s,u,c,l,h;for(t.pos=this.offset,t.readShort(),e=t.readShort(),o=t.readShort(),r=[],i=0;0<=e?i<e:i>e;i=0<=e?++i:--i)r.push({platformID:t.readShort(),encodingID:t.readShort(),languageID:t.readShort(),nameID:t.readShort(),length:t.readShort(),offset:this.offset+o+t.readShort()});for(s={},i=c=0,l=r.length;c<l;i=++c)n=r[i],t.pos=n.offset,u=t.readString(n.length),a=new le(u,n),null==s[h=n.nameID]&&(s[h]=[]),s[n.nameID].push(a);this.strings=s,this.copyright=s[0],this.fontFamily=s[1],this.fontSubfamily=s[2],this.uniqueSubfamily=s[3],this.fontName=s[4],this.version=s[5];try{this.postscriptName=s[6][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}catch(t){this.postscriptName=s[4][0].raw.replace(/[\\x00-\\x19\\x80-\\xff]/g,\"\")}return this.trademark=s[7],this.manufacturer=s[8],this.designer=s[9],this.description=s[10],this.vendorUrl=s[11],this.designerUrl=s[12],this.license=s[13],this.licenseUrl=s[14],this.preferredFamily=s[15],this.preferredSubfamily=s[17],this.compatibleFull=s[18],this.sampleText=s[19]},e}(),fe=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"maxp\",e.prototype.parse=function(t){return t.pos=this.offset,this.version=t.readInt(),this.numGlyphs=t.readUInt16(),this.maxPoints=t.readUInt16(),this.maxContours=t.readUInt16(),this.maxCompositePoints=t.readUInt16(),this.maxComponentContours=t.readUInt16(),this.maxZones=t.readUInt16(),this.maxTwilightPoints=t.readUInt16(),this.maxStorage=t.readUInt16(),this.maxFunctionDefs=t.readUInt16(),this.maxInstructionDefs=t.readUInt16(),this.maxStackElements=t.readUInt16(),this.maxSizeOfInstructions=t.readUInt16(),this.maxComponentElements=t.readUInt16(),this.maxComponentDepth=t.readUInt16()},e}(),de=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"hmtx\",e.prototype.parse=function(t){var e,r,n,i,a,o,s;for(t.pos=this.offset,this.metrics=[],e=0,o=this.file.hhea.numberOfMetrics;0<=o?e<o:e>o;e=0<=o?++e:--e)this.metrics.push({advance:t.readUInt16(),lsb:t.readInt16()});for(n=this.file.maxp.numGlyphs-this.file.hhea.numberOfMetrics,this.leftSideBearings=function(){var r,i;for(i=[],e=r=0;0<=n?r<n:r>n;e=0<=n?++r:--r)i.push(t.readInt16());return i}(),this.widths=function(){var t,e,r,n;for(n=[],t=0,e=(r=this.metrics).length;t<e;t++)i=r[t],n.push(i.advance);return n}.call(this),r=this.widths[this.widths.length-1],s=[],e=a=0;0<=n?a<n:a>n;e=0<=n?++a:--a)s.push(this.widths.push(r));return s},e.prototype.forGlyph=function(t){return t in this.metrics?this.metrics[t]:{advance:this.metrics[this.metrics.length-1].advance,lsb:this.leftSideBearings[t-this.metrics.length]}},e}(),pe=[].slice,ge=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"glyf\",e.prototype.parse=function(){return this.cache={}},e.prototype.glyphFor=function(t){var e,r,n,i,a,o,s,u,c,l;return t in this.cache?this.cache[t]:(i=this.file.loca,e=this.file.contents,r=i.indexOf(t),0===(n=i.lengthOf(t))?this.cache[t]=null:(e.pos=this.offset+r,a=(o=new te(e.read(n))).readShort(),u=o.readShort(),l=o.readShort(),s=o.readShort(),c=o.readShort(),this.cache[t]=-1===a?new ve(o,u,l,s,c):new me(o,a,u,l,s,c),this.cache[t]))},e.prototype.encode=function(t,e,r){var n,i,a,o,s;for(a=[],i=[],o=0,s=e.length;o<s;o++)n=t[e[o]],i.push(a.length),n&&(a=a.concat(n.encode(r)));return i.push(a.length),{table:a,offsets:i}},e}(),me=function(){function t(t,e,r,n,i,a){this.raw=t,this.numberOfContours=e,this.xMin=r,this.yMin=n,this.xMax=i,this.yMax=a,this.compound=!1}return t.prototype.encode=function(){return this.raw.data},t}(),ve=function(){function t(t,e,r,n,i){var a,o;for(this.raw=t,this.xMin=e,this.yMin=r,this.xMax=n,this.yMax=i,this.compound=!0,this.glyphIDs=[],this.glyphOffsets=[],a=this.raw;o=a.readShort(),this.glyphOffsets.push(a.pos),this.glyphIDs.push(a.readUInt16()),32&o;)a.pos+=1&o?4:2,128&o?a.pos+=8:64&o?a.pos+=4:8&o&&(a.pos+=2)}return 1,8,32,64,128,t.prototype.encode=function(){var t,e,r;for(e=new te(pe.call(this.raw.data)),t=0,r=this.glyphIDs.length;t<r;++t)e.pos=this.glyphOffsets[t];return e.data},t}(),be=function(t){function e(){return e.__super__.constructor.apply(this,arguments)}return ne(e,Qt),e.prototype.tag=\"loca\",e.prototype.parse=function(t){var e,r;return t.pos=this.offset,e=this.file.head.indexToLocFormat,this.offsets=0===e?function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=2)n.push(2*t.readUInt16());return n}.call(this):function(){var e,n;for(n=[],r=0,e=this.length;r<e;r+=4)n.push(t.readUInt32());return n}.call(this)},e.prototype.indexOf=function(t){return this.offsets[t]},e.prototype.lengthOf=function(t){return this.offsets[t+1]-this.offsets[t]},e.prototype.encode=function(t,e){for(var r=new Uint32Array(this.offsets.length),n=0,i=0,a=0;a<r.length;++a)if(r[a]=n,i<e.length&&e[i]==a){++i,r[a]=n;var o=this.offsets[a],s=this.offsets[a+1]-o;s>0&&(n+=s)}for(var u=new Array(4*r.length),c=0;c<r.length;++c)u[4*c+3]=255&r[c],u[4*c+2]=(65280&r[c])>>8,u[4*c+1]=(16711680&r[c])>>16,u[4*c]=(4278190080&r[c])>>24;return u},e}(),ye=function(){function t(t){this.font=t,this.subset={},this.unicodes={},this.next=33}return t.prototype.generateCmap=function(){var t,e,r,n,i;for(e in n=this.font.cmap.tables[0].codeMap,t={},i=this.subset)r=i[e],t[e]=n[r];return t},t.prototype.glyphsFor=function(t){var e,r,n,i,a,o,s;for(n={},a=0,o=t.length;a<o;a++)n[i=t[a]]=this.font.glyf.glyphFor(i);for(i in e=[],n)(null!=(r=n[i])?r.compound:void 0)&&e.push.apply(e,r.glyphIDs);if(e.length>0)for(i in s=this.glyphsFor(e))r=s[i],n[i]=r;return n},t.prototype.encode=function(t,e){var r,n,i,a,o,s,u,c,l,h,f,d,p,g,m;for(n in r=oe.encode(this.generateCmap(),\"unicode\"),a=this.glyphsFor(t),f={0:0},m=r.charMap)f[(s=m[n]).old]=s.new;for(d in h=r.maxGlyphID,a)d in f||(f[d]=h++);return c=function(t){var e,r;for(e in r={},t)r[t[e]]=e;return r}(f),l=Object.keys(c).sort((function(t,e){return t-e})),p=function(){var t,e,r;for(r=[],t=0,e=l.length;t<e;t++)o=l[t],r.push(c[o]);return r}(),i=this.font.glyf.encode(a,p,f),u=this.font.loca.encode(i.offsets,p),g={cmap:this.font.cmap.raw(),glyf:i.table,loca:u,hmtx:this.font.hmtx.raw(),hhea:this.font.hhea.raw(),maxp:this.font.maxp.raw(),post:this.font.post.raw(),name:this.font.name.raw(),head:this.font.head.encode(e)},this.font.os2.exists&&(g[\"OS/2\"]=this.font.os2.raw()),this.font.directory.encode(g)},t}();O.API.PDFObject=function(){var t;function e(){}return t=function(t,e){return(Array(e+1).join(\"0\")+t).slice(-e)},e.convert=function(r){var n,i,a,o;if(Array.isArray(r))return\"[\"+function(){var t,i,a;for(a=[],t=0,i=r.length;t<i;t++)n=r[t],a.push(e.convert(n));return a}().join(\" \")+\"]\";if(\"string\"==typeof r)return\"/\"+r;if(null!=r?r.isString:void 0)return\"(\"+r+\")\";if(r instanceof Date)return\"(D:\"+t(r.getUTCFullYear(),4)+t(r.getUTCMonth(),2)+t(r.getUTCDate(),2)+t(r.getUTCHours(),2)+t(r.getUTCMinutes(),2)+t(r.getUTCSeconds(),2)+\"Z)\";if(\"[object Object]\"==={}.toString.call(r)){for(i in a=[\"<<\"],r)o=r[i],a.push(\"/\"+i+\" \"+e.convert(o));return a.push(\">>\"),a.join(\"\\n\")}return\"\"+r},e}();export default O;export{Lt as AcroForm,wt as AcroFormAppearance,dt as AcroFormButton,vt as AcroFormCheckBox,ct as AcroFormChoiceField,ht as AcroFormComboBox,ft as AcroFormEditBox,lt as AcroFormListBox,yt as AcroFormPasswordField,pt as AcroFormPushButton,gt as AcroFormRadioButton,bt as AcroFormTextField,I as GState,C as ShadingPattern,j as TilingPattern,O as jsPDF};\n//# sourceMappingURL=jspdf.es.min.js.map\n","import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';\r\nimport { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AuctionService, LoaderService } from '../../../services';\r\nimport { AuctionDetail, AuctionLocation } from '../../../models';\r\nimport constants from '../../../utility/constants';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { AuthenticationService } from './../../../services/authentication.service';\r\nimport messages from '../../../utility/messages';\r\nimport { environment } from '../../../../environments/environment';\r\nimport { MatMenu } from '@angular/material/menu';\r\nimport {  Subscription } from 'rxjs';\r\n\r\n@Component({\r\n  selector: 'app-view-auction',\r\n  templateUrl: './view-auction.component.html',\r\n  styleUrls: ['./view-auction.component.css'],\r\n})\r\nexport class ViewAuctionComponent implements OnInit {\r\n  @ViewChild('listingMenu') listingMenu: MatMenu;\r\n\r\n  modalRef: BsModalRef;\r\n  submitLoader: boolean = false;\r\n  // one step back\r\n  returnUrl: string = '../';\r\n  upcomingAuctions: any;\r\n  approveCommonForm: FormGroup;\r\n  disableCommonRegistrationButton: boolean = true;\r\n  lots: Array<any>;\r\n  pageNumber: number = 1;\r\n  totalLots: number;\r\n  pageSize: number = 10;\r\n  currentUrl: string = '../';\r\n  editUrl: string = '../';\r\n  auctionCode: string;\r\n  forAdmin: boolean = true;\r\n  auctionStatuses = constants.common.auctionStatus;\r\n  registrationFormat = constants.common.saletypeRegistrationFormat;\r\n  displaySection = constants.common.displaySection;\r\n  roles = constants.common.role;\r\n  isLoading: boolean = true;\r\n\r\n  showMatMenu: boolean = true;\r\n  private subscriptions: Array<Subscription> = [];\r\n  imagesSlider = {\r\n    slidesToShow: 1,\r\n    slidesToScroll: 1,\r\n    arrows: true,\r\n    fade: true,\r\n    asNavFor: '.custom-lot .thumbs',\r\n  };\r\n\r\n  thumbnailsSlider = {\r\n    slidesToShow: 8,\r\n    slidesToScroll: 1,\r\n    asNavFor: '.custom-lot .image-slides',\r\n    arrows: false,\r\n    dots: false,\r\n    centerMode: true,\r\n    focusOnSelect: true,\r\n  };\r\n\r\n  imagesSlider2 = {\r\n    adaptiveHeight: true,\r\n    slidesToShow: 1,\r\n    slidesToScroll: 1,\r\n    arrows: true,\r\n    fade: true,\r\n    asNavFor: '.view-more-slider .thumbs',\r\n  };\r\n\r\n  thumbnailsSlider2 = {\r\n    slidesToShow: 8,\r\n    slidesToScroll: 1,\r\n    arrows: false,\r\n    dots: false,\r\n    centerMode: true,\r\n    focusOnSelect: true,\r\n    asNavFor: '.view-more-slider .image-slides2',\r\n    responsive: [\r\n      {\r\n        breakpoint: 1024,\r\n        settings: {\r\n          slidesToShow: 5,\r\n        },\r\n      },\r\n      {\r\n        breakpoint: 600,\r\n        settings: {\r\n          slidesToShow: 3,\r\n        },\r\n      },\r\n      {\r\n        breakpoint: 480,\r\n        settings: {\r\n          slidesToShow: 2,\r\n        },\r\n      },\r\n    ],\r\n  };\r\n\r\n  openModalLotImages(template: TemplateRef<any>) {\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign(\r\n        {},\r\n        {\r\n          class:\r\n            'custom-popup lot-images-slider modal-dialog modal-dialog-centered',\r\n        }\r\n      )\r\n    );\r\n  }\r\n\r\n  openLink(url) {\r\n    window.open(url, '_blank');\r\n  }\r\n\r\n  openLotsLink(url) {\r\n    window.open(url + '#check', '_blank');\r\n  }\r\n\r\n  openModalViewMore(template3: TemplateRef<any>) {\r\n    this.modalRef = this.modalService.show(\r\n      template3,\r\n      Object.assign(\r\n        {},\r\n        {\r\n          class:\r\n            'custom-popup lot-images-slider modal-dialog modal-dialog-centered',\r\n        }\r\n      )\r\n    );\r\n  }\r\n\r\n  showLocationDetail(locationId: number, template: TemplateRef<any>) {\r\n    this.location = this.auctionDetail.auctionLocations.find(\r\n      (item) => item.id == locationId\r\n    );\r\n\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign(\r\n        {},\r\n        {\r\n          class:\r\n            'custom-popup location-details modal-dialog modal-dialog-centered',\r\n        }\r\n      )\r\n    );\r\n  }\r\n\r\n  openModalLocationDetails(template2: TemplateRef<any>) {\r\n    this.modalRef = this.modalService.show(\r\n      template2,\r\n      Object.assign(\r\n        {},\r\n        {\r\n          class:\r\n            'custom-popup location-details modal-dialog modal-dialog-centered',\r\n        }\r\n      )\r\n    );\r\n  }\r\n\r\n  displayedColumns: string[] = ['locationName', 'address', 'lot', 'status'];\r\n\r\n  displayedColumns2: string[] = [\r\n    'lotNum',\r\n    'lotDescription',\r\n    'location',\r\n    'startingDate',\r\n    'lotEndDate',\r\n    'currentBid',\r\n    'lotImages',\r\n  ];\r\n\r\n  displayedColumns3: string[] = ['locationName', 'address', 'lot', 'status'];\r\n\r\n  // step number\r\n  stepActive = 1;\r\n\r\n  showView: boolean = false;\r\n\r\n  auctionDetail: AuctionDetail = null;\r\n  auctionId: number;\r\n  location: AuctionLocation = null;\r\n  websiteUrl: string = environment.websiteUrl;\r\n\r\n  constructor(\r\n    private auctionService: AuctionService,\r\n    private modalService: BsModalService,\r\n    private route: ActivatedRoute,\r\n    private router: Router,\r\n    private toastr: ToastrService,\r\n    private authenticateService: AuthenticationService\r\n  ) {\r\n    this.currentUrl = router.url;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.route.params.subscribe((params) => {\r\n      this.auctionId = +params['id'];\r\n      this.auctionCode = params['auctionCode'];\r\n\r\n      if (!isNaN(this.auctionId)) {\r\n        this.forAdmin = true;\r\n        this.getAuction(this.auctionId);\r\n      }\r\n\r\n      if (this.auctionCode != undefined) {\r\n        this.forAdmin = false;\r\n        this.getAuctionByCode();\r\n      }\r\n    });\r\n\r\n    this.approveCommonForm = new FormGroup({\r\n      auctionId: new FormControl(''),\r\n      syncWithAuctionId: new FormControl(''),\r\n    });\r\n  }\r\n\r\n  private checkMenu() {\r\n    const allitems = this.listingMenu._allItems.changes.subscribe((res: any) => {\r\n      this.showMatMenu = res?.length > 0;\r\n    });\r\n    this.subscriptions.push(allitems);\r\n  }\r\n\r\n  goToEdit() {\r\n    this.router.navigate(['edit'], {\r\n      relativeTo: this.route,\r\n    });\r\n  }\r\n\r\n  goToBack(numberOfStepsBack: number = 1) {\r\n    this.route.queryParams.subscribe((res) => {\r\n      let param = res['returnTo'];\r\n      if (param) {\r\n        this.router.navigateByUrl(param);\r\n        return;\r\n      } else {\r\n        let routeFragments = this.router.url.split('/');\r\n        let returnUrl = routeFragments\r\n          .splice(0, routeFragments.length - numberOfStepsBack)\r\n          .join('/');\r\n        if (this.auctionDetail.auctionStatus == 1) {\r\n          this.router.navigate([returnUrl], {\r\n            relativeTo: this.route,\r\n            queryParams: { type: 'live' },\r\n          });\r\n        } else if (this.auctionDetail.auctionStatus == 2) {\r\n          this.router.navigate([returnUrl], {\r\n            relativeTo: this.route,\r\n            queryParams: { type: 'upcoming' },\r\n          });\r\n        } else if (this.auctionDetail.auctionStatus == 4) {\r\n          this.router.navigate([returnUrl], {\r\n            relativeTo: this.route,\r\n            queryParams: { type: 'recent' },\r\n          });\r\n        } else {\r\n          this.router.navigate([returnUrl], {\r\n            relativeTo: this.route,\r\n            queryParams: { type: 'pending' },\r\n          });\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  getAuction(auctionId: number) {\r\n    this.isLoading = true;\r\n    const aucDetails = this.auctionService.getAuctionDetail(auctionId).subscribe(\r\n      (response) => {\r\n        this.auctionDetail = response;\r\n        this.checkMenu();\r\n        this.isLoading = false;\r\n      },\r\n      (err) => {\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.isLoading = false;\r\n        this.goToBack();\r\n      }\r\n    );\r\n    this.subscriptions.push(aucDetails);\r\n  }\r\n\r\n  getAuctionByCode() {\r\n    const detailCode = this.auctionService.getAuctionDetailByCode(this.auctionCode).subscribe(\r\n      (response) => {\r\n        this.auctionDetail = response;\r\n        this.showView = true;\r\n      },\r\n      (err) => {\r\n        this.showView = true;\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.goToBack();\r\n      }\r\n    );\r\n    this.subscriptions.push(detailCode);\r\n  }\r\n\r\n  auctionStartRegistration(id) {\r\n    this.submitLoader = true;\r\n    const startRegistration = this.auctionService.auctionStartRegistration({ id: id }).subscribe(() => {\r\n      this.getAuction(id);\r\n      this.submitLoader = false;\r\n      this.modalService.hide();\r\n      this.toastr.success(\r\n        messages.auctionListing.auctionStartRegistration,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n    });\r\n    this.subscriptions.push(startRegistration);\r\n  }\r\n\r\n  closeModal() {\r\n    this.modalService.hide();\r\n  }\r\n\r\n  auctionStopRegistration(id) {\r\n    this.submitLoader = true;\r\n    const stopRegister = this.auctionService.auctionStopRegistration({ id: id }).subscribe(() => {\r\n      this.getAuction(id);\r\n      this.submitLoader = false;\r\n      this.modalService.hide();\r\n      this.toastr.success(\r\n        messages.auctionListing.auctionStopRegistration,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n    });\r\n    this.subscriptions.push(stopRegister);\r\n  }\r\n  markItFeatured(id) {\r\n    let formData = new FormGroup({\r\n      id: new FormControl(''),\r\n      updatedBy: new FormControl(''),\r\n    });\r\n    formData.patchValue({ id: id });\r\n    formData.patchValue({\r\n      updatedBy: this.authenticateService.currentUserValue()?.user?.id,\r\n    });\r\n    const mfeature = this.auctionService.markItFeatured(formData.value).subscribe(() => {\r\n      this.getAuction(id);\r\n      this.toastr.success(\r\n        messages.auctionListing.markItFeatured,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n    });\r\n    this.subscriptions.push(mfeature);\r\n  }\r\n  markAsSold(id) {\r\n    const msold = this.auctionService.markAsSold({ id: id }).subscribe(() => {\r\n      this.getAuction(id);\r\n      this.toastr.success(\r\n        messages.auctionListing.markItFeatured,\r\n        constants.common.toast.successTitle,\r\n        constants.common.toast.config\r\n      );\r\n    });\r\n    this.subscriptions.push(msold);\r\n  }\r\n  stopSyncRegistrationWithOtherAuction(id) {\r\n    const stopsync = this.auctionService\r\n      .stopSyncRegistrationWithOtherAuction({ id: id })\r\n      .subscribe(() => {\r\n        this.getAuction(id);\r\n        this.toastr.success(\r\n          messages.auctionListing.stopSyncRegistrationWithOtherAuction,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n      });\r\n      this.subscriptions.push(stopsync);\r\n  }\r\n\r\n  startCommonAuctionRegistration(template: TemplateRef<any>, id: number) {\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign({\r\n        backdrop: 'static',\r\n        keyboard: false,\r\n        class:\r\n          'custom-popup activate-modal activate-lmodal text-left modal-dialog modal-dialog-centered approve-auction',\r\n      })\r\n    );\r\n    this.getUpcomingAuctions(id);\r\n  }\r\n  getUpcomingAuctions(id) {\r\n    const uauctions = this.auctionService.getUpcomingAuctions(id).subscribe(\r\n      (res) => {\r\n        this.upcomingAuctions = res;\r\n      },\r\n      () => {}\r\n    );\r\n    this.subscriptions.push(uauctions);\r\n  }\r\n\r\n  syncRegistrationWithOtherAuction() {\r\n    this.approveCommonForm.patchValue({ auctionId: this.auctionDetail.id });\r\n    this.approveCommonForm.patchValue({\r\n      syncWithAuctionId: this.approveCommonForm.get('syncWithAuctionId').value,\r\n    });\r\n    const rothers = this.auctionService\r\n      .syncRegistrationWithOtherAuction(this.approveCommonForm.getRawValue())\r\n      .subscribe(() => {\r\n        this.submitLoader = false;\r\n        this.getAuction(this.auctionId);\r\n        this.approveCommonForm.reset();\r\n        this.modalRef.hide();\r\n        this.toastr.success(\r\n          messages.auctionListing.startSyncRegistrationWithOtherAuction,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n      });\r\n    this.subscriptions.push(rothers);\r\n    const sregister = this.auctionService\r\n      .syncRegistrationWithOtherAuction(this.approveCommonForm.getRawValue())\r\n      .subscribe(() => {\r\n        this.submitLoader = false;\r\n        this.approveCommonForm.reset();\r\n        this.modalRef.hide();\r\n        this.toastr.success(\r\n          messages.auctionListing.startSyncRegistrationWithOtherAuction,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n      });\r\n      this.subscriptions.push(sregister);\r\n  }\r\n\r\n  upcomingAuctionChange(value: string) {\r\n    this.disableCommonRegistrationButton = Number(value) > 0 ? false : true;\r\n  }\r\n\r\n  goToUsers() {\r\n    this.router.navigate(['./', 'users'], {\r\n      relativeTo: this.route,\r\n      queryParams: {\r\n        returnTo: this.router.url,\r\n      },\r\n    });\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n\r\n  goToBidders() {\r\n    this.router.navigate(['./', 'bids', 'bidder'], {\r\n      relativeTo: this.route,\r\n      queryParams: {\r\n        returnTo: this.router.url,\r\n      },\r\n    });\r\n  }\r\n}\r\n","<app-loader [showLoader]=\"isLoading\"></app-loader>\r\n\r\n<div class=\"white-wrap-admin\">\r\n  <div class=\"back-link-outer d-flex row mb-2 mb-md-0\">\r\n    <div class=\"back-link-outer mb-0 mb-md-2 d-flex col-3 align-items-center\">\r\n      <a role=\"button\" (click)=\"goToBack()\" class=\"back-link\">\r\n        <img alt=\"back\" src=\"../assets/images/back.svg\" /> back\r\n      </a>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"row mb-3\">\r\n    <div class=\"col-12 col-md-7\">\r\n      <p class=\"body-txt-22 mb-3\">Auction Details</p>\r\n    </div>\r\n    <div class=\"col-12 col-md-5 d-md-block\">\r\n      <div class=\"for-icons justify-content-end\">\r\n        <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n          <ng-container *ngIf=\"!auctionDetail?.saleType?.isCatalogReadOnly\">\r\n            <button *ngIf=\"\r\n                auctionDetail?.auctionStatus == auctionStatuses.live ||\r\n                (auctionDetail?.auctionStatus == auctionStatuses.past &&\r\n                  auctionDetail?.isBidAvailable)\r\n              \" type=\"button\" routerLink=\"bids\" class=\"btn btn-colored mr-2 btn-13\">\r\n              View Bids\r\n            </button>\r\n          </ng-container>\r\n        </ng-container>\r\n\r\n        <a class=\"hover-icon edit-icon mr-2\" role=\"button\" (click)=\"goToEdit()\"></a>\r\n\r\n        <div class=\"custom-dropdown\" *ngIf=\"showMatMenu\">\r\n          <button *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\" class=\"no-bg-btn hover-icon\" mat-icon-button\r\n            [matMenuTriggerFor]=\"listingMenu\">\r\n            <mat-icon>more_vert</mat-icon>\r\n          </button>\r\n          <mat-menu #listingMenu=\"matMenu\">\r\n            <div class=\"custom-dropdown\">\r\n              <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n                <ng-container *ngIf=\"\r\n                    auctionDetail?.saleType?.registrationFormat ===\r\n                      registrationFormat.tbgRegistration &&\r\n                    auctionDetail?.saleType?.isCatalogUploadAllowed &&\r\n                    auctionDetail?.saleType?.isCatalogReadOnly\r\n                  \">\r\n                  <button mat-menu-item *ngIf=\"\r\n                      auctionDetail?.auctionStatus != auctionStatuses.past &&\r\n                      auctionDetail?.isRegistrationActive == false\r\n                    \" role=\"button\" (click)=\"auctionStartRegistration(auctionDetail?.id)\" type=\"button\">\r\n                    <span>Start Registration</span>\r\n                  </button>\r\n                  <button mat-menu-item *ngIf=\"\r\n                      auctionDetail?.auctionStatus != auctionStatuses.past &&\r\n                      auctionDetail?.isRegistrationActive == true\r\n                    \" role=\"button\" (click)=\"auctionStopRegistration(auctionDetail?.id)\" type=\"button\">\r\n                    <span>Stop Registration</span>\r\n                  </button>\r\n                  <button mat-menu-item role=\"button\" (click)=\"goToUsers()\" *ngIf=\"\r\n                      auctionDetail?.auctionStatus != auctionStatuses.pending\r\n                    \">\r\n                    <span>View Registered Users</span>\r\n                  </button>\r\n                  <button mat-menu-item *ngIf=\"\r\n                      auctionDetail?.isEligibleForCommonRegistration &&\r\n                      (auctionDetail?.auctionStatus == auctionStatuses.live ||\r\n                        auctionDetail?.auctionStatus == auctionStatuses.past) &&\r\n                      auctionDetail?.isRegistrationSyncEnabled == false\r\n                    \" role=\"button\" (click)=\"\r\n                      startCommonAuctionRegistration(\r\n                        templateCommon,\r\n                        auctionDetail?.id\r\n                      )\r\n                    \" type=\"button\">\r\n                    <span>Start Common Registration</span>\r\n                  </button>\r\n                  <button mat-menu-item *ngIf=\"\r\n                      (auctionDetail?.auctionStatus == 1 ||\r\n                        auctionDetail?.auctionStatus == 2) &&\r\n                      auctionDetail?.isRegistrationSyncEnabled == true\r\n                    \" role=\"button\" (click)=\"\r\n                      stopSyncRegistrationWithOtherAuction(auctionDetail?.id)\r\n                    \" type=\"button\">\r\n                    <span>Stop Common Registration</span>\r\n                  </button>\r\n                  <button mat-menu-item role=\"button\" (click)=\"goToBidders()\" *ngIf=\"auctionDetail?.auctionStatus == 4\">\r\n                    <span>View Bidders</span>\r\n                  </button>\r\n                </ng-container>\r\n\r\n                <ng-container *ngIf=\"auctionDetail?.saleType?.isCatalogUploadAllowed\">\r\n                  <button mat-menu-item [routerLink]=\"['configure-lot']\"\r\n                    [queryParams]=\"{ returnTo: currentUrl, stepActive: 3 }\" *ngIf=\"\r\n                      auctionDetail?.auctionStatus != auctionStatuses.past &&\r\n                      auctionDetail?.saleType.isCatalogUploadAllowed == true\r\n                    \">\r\n                    <span>Manage Lots</span>\r\n                  </button>\r\n                  <a class=\"no-decoration\" [routerLink]=\"['configure-lot']\" [queryParams]=\"{ returnTo: currentUrl }\"\r\n                    mat-menu-item *ngIf=\"auctionDetail?.auctionStatus != auctionStatuses.past\">\r\n                    <span>Configure Lot Catalog</span>\r\n                  </a>\r\n                </ng-container>\r\n              </ng-container>\r\n\r\n              <button mat-menu-item *ngIf=\"\r\n                  auctionDetail?.auctionStatus == 2 &&\r\n                  auctionDetail?.isPublic == false\r\n                \" role=\"button\" (click)=\"markItFeatured(auctionDetail?.id)\" type=\"button\">\r\n                <span>Make Featured Auction</span>\r\n              </button>\r\n\r\n              <button mat-menu-item *ngIf=\"\r\n                  auctionDetail?.auctionStatus == 1 ||\r\n                  auctionDetail?.auctionStatus == 2\r\n                \" role=\"button\" (click)=\"markAsSold(auctionDetail?.id)\" type=\"button\">\r\n                <span>Mark auction as Sold</span>\r\n              </button>\r\n            </div>\r\n          </mat-menu>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <div class=\"grey-well\">\r\n        <div class=\"for-badge mb-2\">\r\n          <span class=\"card-badge badge-dark\">{{ auctionDetail?.saleType.publicName | isEmpty }}\r\n          </span>\r\n        </div>\r\n        <h1 class=\"well-name mb-2\">\r\n          {{ auctionDetail?.auctionCode | isEmpty }}\r\n        </h1>\r\n        <h3 class=\"well-des mb-2\" [innerHTML]=\"auctionDetail?.tagline | isEmpty\"></h3>\r\n        <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n          <h3 class=\"well-des\">\r\n            Public Link For The Sale :\r\n            <div> <a (click)=\"openLink(websiteUrl + auctionDetail?.auctionCode)\" style=\"cursor: pointer; color: #8d1231;\r\n            text-decoration: underline;\r\n            cursor: pointer;\">Click to view auction detail</a></div>\r\n            <div><a (click)=\"openLotsLink(websiteUrl + auctionDetail?.auctionCode + '/lots')\" style=\"cursor: pointer; color: #8d1231;\r\n            text-decoration: underline;\r\n            cursor: pointer;\">Click to view lot catalog</a></div>\r\n          </h3>\r\n\r\n\r\n        </ng-container>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n    <div class=\"row\">\r\n      <div class=\"col-12 mb-3 mb-md-5\">\r\n        <div class=\"list-filter-tabs list-filter-dark pt-4 inline-tab-view\">\r\n          <button class=\"list-tab\" [ngClass]=\"{\r\n              'active-tab': stepActive == 1,\r\n              'completed-tab': stepActive > 1\r\n            }\" role=\"button\" (click)=\"stepActive = 1\">\r\n            Basic Details\r\n          </button>\r\n          <button class=\"list-tab\" [ngClass]=\"{\r\n              'active-tab': stepActive == 2,\r\n              'completed-tab': stepActive > 2\r\n            }\" role=\"button\" (click)=\"stepActive = 2\">\r\n            Display Details\r\n          </button>\r\n          <button class=\"list-tab\" [ngClass]=\"{\r\n              'active-tab': stepActive == 3,\r\n              'completed-tab': stepActive > 3\r\n            }\" role=\"button\" (click)=\"stepActive = 3\">\r\n            Locations & Contacts\r\n          </button>\r\n          <button class=\"list-tab\" [ngClass]=\"{\r\n              'active-tab': stepActive == 4,\r\n              'completed-tab': stepActive > 4\r\n            }\" role=\"button\" (click)=\"stepActive = 4\">\r\n            Lot Catalog\r\n          </button>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </ng-container>\r\n\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <div class=\"auction-details-tabs-data\" *ngIf=\"stepActive == 1\">\r\n        <div class=\"edit-auction-tab-data\">\r\n          <div class=\"max-width-720\">\r\n            <div class=\"row\">\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Title</h3>\r\n                  <p class=\"des\">{{ auctionDetail?.title | isEmpty }}</p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">By Order Of</h3>\r\n                  <p class=\"des\">{{ auctionDetail?.byOrderOf | isEmpty }}</p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Tagline</h3>\r\n                  <p class=\"des\" [innerHTML]=\"auctionDetail?.tagline | isEmpty\"></p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Auction/Sale Code</h3>\r\n                  <p class=\"des\">{{ auctionDetail?.auctionCode | isEmpty }}</p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Sale Type</h3>\r\n                  <p class=\"des\">{{ auctionDetail?.saleTypeName | isEmpty }}</p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Auction Category</h3>\r\n                  <p class=\"des\">{{ auctionDetail?.categoryName | isEmpty }}</p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Sale Manager</h3>\r\n                  <p class=\"des\">\r\n                    {{ auctionDetail?.saleManagerName | isEmpty }}\r\n                  </p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Currency</h3>\r\n                  <p class=\"des\">{{ auctionDetail?.currencyName | isEmpty }}</p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Timezone</h3>\r\n                  <p class=\"des\">{{ auctionDetail?.timeZoneName | isEmpty }}</p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Start Date & Time</h3>\r\n                  <p class=\"des\">\r\n                    {{\r\n                    auctionDetail?.startDateTime\r\n                    | toLocalDateTime: false:auctionDetail?.timeZoneName\r\n                    }}\r\n                  </p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">End Date & Time</h3>\r\n                  <p class=\"des\">\r\n                    {{\r\n                    auctionDetail?.endDateTime\r\n                    | toLocalDateTime: false:auctionDetail?.timeZoneName\r\n                    }}\r\n                  </p>\r\n                </div>\r\n              </div>\r\n\r\n              <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Stagger Auction Completion Time</h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.staggerLotCloseTime | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Registrations</h3>\r\n                    <p class=\"des\">\r\n                      {{\r\n                      auctionDetail?.isRegistrationActive\r\n                      ? \"Enabled\"\r\n                      : \"Disabled\"\r\n                      }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Featured</h3>\r\n                  <p class=\"des\">\r\n                    {{ auctionDetail?.isPublic ? \"Yes\" : \"No\" }}\r\n                  </p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Last Updated</h3>\r\n                  <p class=\"des\">\r\n                    {{ auctionDetail?.updateByName | isEmpty }}\r\n                    <br />\r\n                    {{ auctionDetail?.updateOn | toLocalDateTime }}\r\n                  </p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Approved By</h3>\r\n                  <p class=\"des\" *ngIf=\"auctionDetail?.approvedByName; else elseBlock\">\r\n                    {{ auctionDetail?.approvedByName }}\r\n                    <br />\r\n                    {{ auctionDetail?.approvedOn | toLocalDateTime }}\r\n                  </p>\r\n                  <ng-template #elseBlock>\r\n                    <p class=\"des\">Pending Approval</p>\r\n                  </ng-template>\r\n                </div>\r\n              </div>\r\n\r\n              <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Every Lot Closes In</h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.staggerLotCloseTime | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Minutes To Extend</h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.extendMinutes | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n\r\n              <ng-container *ngIf=\"!auctionDetail?.saleType?.isDetailPageInHouse\">\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Redirection Link</h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.detailPageLinkUrl | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Cover Photo</h3>\r\n                  <p class=\"des d-flex\">\r\n                    <img class=\"thumb-icon2 img-fluid\" AuctionDefaultImage *ngIf=\"auctionDetail\"\r\n                      [image]=\"auctionDetail?.coverPhoto\" />\r\n                  </p>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"col-12 col-md-6\">\r\n                <div class=\"auction-basic-part\">\r\n                  <h3 class=\"hdg\">Client Logo</h3>\r\n                  <p class=\"des d-flex\">\r\n                    <img class=\"thumb-icon2 img-fluid\" AuctionDefaultImage *ngIf=\"auctionDetail\"\r\n                      [image]=\"auctionDetail?.clientLogo\" />\r\n                  </p>\r\n                </div>\r\n              </div>\r\n\r\n              <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n                <div class=\"col-12\">\r\n                  <div class=\"auction-basic-part mb-3\">\r\n                    <h3 class=\"hdg mb-2 pb-1\">Slider Images</h3>\r\n                    <div class=\"slider-images\">\r\n                      <div class=\"slide-image-wrap\" *ngFor=\"\r\n                          let item of auctionDetail?.sliderImages;\r\n                          index as i;\r\n                          count as len\r\n                        \">\r\n                        <span *ngIf=\"len == 0; else elseBlock\">-</span>\r\n                        <ng-template #elseBlock>\r\n                          <img [src]=\"item.name\" *ngIf=\"i < 3\" />\r\n                          <div *ngIf=\"i == 3\" class=\"slide-image-wrap view-more cursor-pointer\" role=\"button\"\r\n                            (click)=\"openModalViewMore(template3)\">\r\n                            <img [src]=\"item.name\" />\r\n                            <div class=\"view-more-text\">\r\n                              <span>View More</span>\r\n                            </div>\r\n                          </div>\r\n                        </ng-template>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12\">\r\n                  <div class=\"auction-basic-part mb-3\">\r\n                    <h3 class=\"hdg mb-2 pb-1\">Photo Gallery</h3>\r\n                    <div class=\"slider-images\">\r\n                      <div *ngFor=\"\r\n                          let item of auctionDetail?.photoGallery;\r\n                          index as i;\r\n                          count as len\r\n                        \">\r\n                        <span *ngIf=\"len == 0; else elseBlock1\">-</span>\r\n                        <ng-template #elseBlock1>\r\n                          <div class=\"slide-image-wrap\" *ngIf=\"i < 3\">\r\n                            <img [src]=\"item.name\" />\r\n                          </div>\r\n                          <div *ngIf=\"i == 3\" class=\"slide-image-wrap view-more cursor-pointer\" role=\"button\"\r\n                            (click)=\"openModalViewMore(template4)\">\r\n                            <img [src]=\"item.name\" />\r\n                            <div class=\"view-more-text\">\r\n                              <span>View More</span>\r\n                            </div>\r\n                          </div>\r\n                        </ng-template>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </ng-container>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </div>\r\n\r\n      <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n        <div class=\"auction-details-tabs-data\" *ngIf=\"stepActive == 2\">\r\n          <div class=\"display-tab-data\">\r\n            <div class=\"max-width-720\">\r\n              <div class=\"row\">\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Registration Link URL</h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.registrationLinkUrl | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Catalog Link URL</h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.catalogLinkUrl | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Page Title</h3>\r\n                    <p class=\"des\">{{ auctionDetail?.pageTitle | isEmpty }}</p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Meta Description</h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.metaDescription | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Keywords</h3>\r\n                    <p class=\"tags-outer m-0\" *ngFor=\"\r\n                        let key of auctionDetail?.keywords?.split(',');\r\n                        count as len\r\n                      \">\r\n                      <span *ngIf=\"len == 0; else elseBlock2\">-</span>\r\n                      <ng-template #elseBlock2></ng-template>\r\n                      <span class=\"tag\">{{ key }}</span>\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Related Auctions</h3>\r\n                    <p class=\"tags-outer m-0\" *ngFor=\"\r\n                        let key of auctionDetail?.relatedAuctionNames?.split(\r\n                          ','\r\n                        );\r\n                        count as len\r\n                      \">\r\n                      <span *ngIf=\"len == 0; else elseBlock2\">-</span>\r\n                      <ng-template #elseBlock2>\r\n                        <span class=\"tag\">{{ key }}</span>\r\n                      </ng-template>\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">\r\n                      Pre Approval Registration Email Template\r\n                    </h3>\r\n                    <p class=\"des\">\r\n                      {{\r\n                      auctionDetail?.preApprovalRegistrationEmailTemplateName\r\n                      | isEmpty\r\n                      }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">\r\n                      Post Approval Registration Email Template\r\n                    </h3>\r\n                    <p class=\"des\">\r\n                      {{\r\n                      auctionDetail?.postApprovalRegistrationEmailTemplateName\r\n                      | isEmpty\r\n                      }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Email Notes</h3>\r\n                    <p class=\"des\">{{ auctionDetail?.emailNotes | isEmpty }}</p>\r\n                  </div>\r\n\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg pb-2\">Documents</h3>\r\n                    <div class=\"file-preview-outer file-with-hover\" *ngFor=\"\r\n                        let item of auctionDetail?.documents;\r\n                        count as len\r\n                      \">\r\n                      <span *ngIf=\"len == 0; else elseBlock34\">-</span>\r\n                      <ng-template #elseBlock34>\r\n                        <div class=\"file-preview\">\r\n                          <a [href]=\"item.name\">\r\n                            <div class=\"file-icon\">\r\n                              <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"28\" viewBox=\"0 0 17 28\">\r\n                                <g fill=\"none\" fill-rule=\"evenodd\">\r\n                                  <g fill=\"#68677B\" fill-rule=\"nonzero\" stroke=\"#FFF\" stroke-width=\".7\">\r\n                                    <path\r\n                                      d=\"M341.5 1020c-4.14-.004-7.495-3.305-7.5-7.378V999.27c0-2.91 2.398-5.27 5.357-5.27s5.357 2.36 5.357 5.27v11.595c0 1.746-1.439 3.162-3.214 3.162s-3.214-1.416-3.214-3.162v-8.081c0-.582.48-1.054 1.071-1.054.592 0 1.072.472 1.072 1.054v8.08c0 .583.48 1.055 1.071 1.055.592 0 1.071-.472 1.071-1.054V999.27c0-1.746-1.439-3.162-3.214-3.162s-3.214 1.416-3.214 3.162v13.352c0 2.91 2.398 5.27 5.357 5.27s5.357-2.36 5.357-5.27v-14.054c0-.583.48-1.054 1.072-1.054.591 0 1.071.471 1.071 1.054v14.054c-.005 4.073-3.36 7.374-7.5 7.378z\"\r\n                                      transform=\"translate(-333 -993)\" />\r\n                                  </g>\r\n                                </g>\r\n                              </svg>\r\n                            </div>\r\n                            <div class=\"file-dtls\">\r\n                              <p class=\"file-name\">\r\n                                {{ item.title | isEmpty }}\r\n                              </p>\r\n                            </div>\r\n                          </a>\r\n                        </div>\r\n                      </ng-template>\r\n                    </div>\r\n                  </div>\r\n\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg pb-2\">In Conjuction With</h3>\r\n                    <p class=\"des conjuctation-logo\" *ngFor=\"\r\n                        let item of auctionDetail?.partnerLogos;\r\n                        count as len\r\n                      \">\r\n                      <span *ngIf=\"len == 0; else elseBlock4\">-</span>\r\n                      <ng-template #elseBlock4>\r\n                        <img class=\"img-fluid\" [src]=\"item.name\" />\r\n                      </ng-template>\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Payment Instructions</h3>\r\n                    <p class=\"des\" [innerHTML]=\"auctionDetail?.paymentInstructions | isEmpty\"></p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Buyer's Premium</h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.generalBuyerPremium | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Featured Items</h3>\r\n                    <span *ngIf=\"\r\n                        auctionDetail?.featuredItems == null ||\r\n                          auctionDetail?.featuredItems == '';\r\n                        else elseBlock45\r\n                      \">-</span>\r\n                    <ng-template #elseBlock45>\r\n                      <p class=\"des\" [innerHtml]=\"auctionDetail?.featuredItems\"></p>\r\n                    </ng-template>\r\n                  </div>\r\n                </div>\r\n\r\n                <div class=\"col-12 col-md-6\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">\r\n                      Featured Items Header\r\n                      <span\r\n                        matTooltip='Type or paste the \"Featured Items\" into this field and review the formatting before posting'\r\n                        [matTooltipPosition]=\"'above'\">\r\n                        <img src=\"../assets/images/info.svg\" />\r\n                      </span>\r\n                    </h3>\r\n                    <p class=\"des\">\r\n                      {{ auctionDetail?.featuredItemHeader | isEmpty }}\r\n                    </p>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"row\">\r\n                <div class=\"col-12 col-md-6\" *ngFor=\"let item of auctionDetail?.customButtons\">\r\n                  <div class=\"auction-basic-part\">\r\n                    <h3 class=\"hdg\">Custom Buttons</h3>\r\n                    <div class=\"btn-display\">\r\n                      <div class=\"display-parts\">\r\n                        <h4 class=\"parts-hdg\">Button Logo/Image</h4>\r\n                        <p class=\"parts-dtl\">\r\n                          <a href=\"{{\r\n                            item.isUrl\r\n                              ? item.url\r\n                              : item.auctionFileName\r\n                          }}\" target=\"_blank\">\r\n                            <img [src]=\"item.buttonName\" height=\"100\" />\r\n                          </a>\r\n                        </p>\r\n                      </div>\r\n\r\n                      <div class=\"display-parts\">\r\n                        <h4 class=\"parts-hdg\">Button Label</h4>\r\n                        <p class=\"parts-dtl\">{{ item.label }}</p>\r\n                      </div>\r\n\r\n                      <div class=\"display-parts\">\r\n                        <h4 class=\"parts-hdg\">Button Type</h4>\r\n                        <p class=\"parts-dtl\" *ngIf=\"item.isUrl == true\">Link</p>\r\n                        <p class=\"des\" *ngIf=\"item.isUrl == false\">Button</p>\r\n                      </div>\r\n\r\n                      <div class=\"display-parts\">\r\n                        <h4 class=\"parts-hdg\">URL</h4>\r\n                        <p class=\"parts-dtl\">{{ item.url | isEmpty }}</p>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n        <div class=\"auction-details-tabs-data\" *ngIf=\"stepActive == 3\">\r\n          <div class=\"location-tab-data\">\r\n            <div class=\"location-hdg\">\r\n              <h3 class=\"hdg\">Locations</h3>\r\n            </div>\r\n            <section class=\"data-table-wrap\">\r\n              <div class=\"empty-auction-location\" *ngIf=\"\r\n                  auctionDetail?.auctionLocations.length <= 0;\r\n                  else showLocations\r\n                \">\r\n                <div class=\"not-found\">\r\n                  <img class=\"not-found-icon\" src=\"../assets/images/location.svg\" />\r\n                  <h3 class=\"not-added\">Location not added</h3>\r\n                </div>\r\n              </div>\r\n\r\n              <ng-template #showLocations>\r\n                <table mat-table [dataSource]=\"auctionDetail?.auctionLocations\"\r\n                  class=\"mat-elevation-z8 border-0 dark-table location-tab-table location-table\">\r\n                  <ng-container matColumnDef=\"locationName\">\r\n                    <th class=\"column-1 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n                      <h3></h3>\r\n                    </th>\r\n                    <td class=\"column-1 listing-data-entry name table-grey-row\" data-column=\"\" mat-cell\r\n                      *matCellDef=\"let element\">\r\n                      <p class=\"row-name m-0\">Location Name</p>\r\n                      <p class=\"user-val\">\r\n                        {{ element.name | isEmpty: \"TBD\" }}\r\n                      </p>\r\n                    </td>\r\n                  </ng-container>\r\n\r\n                  <ng-container matColumnDef=\"address\">\r\n                    <th class=\"column-2 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n                      <h3>Name</h3>\r\n                    </th>\r\n                    <td class=\"column-2 listing-data-entry yellow-bg name\" data-column=\"Name\" mat-cell\r\n                      *matCellDef=\"let element\">\r\n                      <p class=\"row-name m-0\">Address</p>\r\n                      <p class=\"user-val\" [innerHTML]=\"element.address | isEmpty\"></p>\r\n                    </td>\r\n                  </ng-container>\r\n\r\n                  <ng-container matColumnDef=\"lot\">\r\n                    <th class=\"column-3 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n                      <h3>Company</h3>\r\n                    </th>\r\n                    <td class=\"column-3 listing-data-entry name table-grey-row\" data-column=\"Company\" mat-cell\r\n                      *matCellDef=\"let element\">\r\n                      <p class=\"row-name m-0\">Lot#</p>\r\n                      <p class=\"user-val\">{{ element.lotNumbers | isEmpty }}</p>\r\n                    </td>\r\n                  </ng-container>\r\n\r\n                  <ng-container matColumnDef=\"status\">\r\n                    <th class=\"column-4 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n                      <h3>Phone</h3>\r\n                    </th>\r\n                    <td class=\"column-4 listing-data-entry name\" data-column=\"Phone\" mat-cell *matCellDef=\"let element\">\r\n                      <div class=\"for-icons ml-auto\">\r\n                        <a class=\"hover-icon eye-icon\" role=\"button\"\r\n                          (click)=\"showLocationDetail(element.id, template2)\"></a>\r\n                      </div>\r\n                    </td>\r\n                  </ng-container>\r\n                  <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n                </table>\r\n              </ng-template>\r\n            </section>\r\n\r\n            <div class=\"location-hdg mt-4 pt-2\">\r\n              <h3 class=\"hdg\">Contacts</h3>\r\n            </div>\r\n            <section class=\"data-table-wrap\">\r\n              <div class=\"empty-auction-location\" *ngIf=\"\r\n                  auctionDetail?.auctionContacts.length <= 0;\r\n                  else showContacts\r\n                \">\r\n                <div class=\"not-found border-top-only\">\r\n                  <img class=\"not-found-icon\" src=\"../assets/images/contact.svg\" />\r\n                  <h3 class=\"not-added\">Contact not added</h3>\r\n                </div>\r\n              </div>\r\n              <ng-template #showContacts>\r\n                <table mat-table [dataSource]=\"auctionDetail?.auctionContacts\"\r\n                  class=\"mat-elevation-z8 border-0 dark-table contact-tab-table\">\r\n                  <ng-container matColumnDef=\"locationName\">\r\n                    <th class=\"column-1 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n                      <h3></h3>\r\n                    </th>\r\n                    <td class=\"column-1 listing-data-entry name table-grey-row\" data-column=\"\" mat-cell\r\n                      *matCellDef=\"let element\">\r\n                      <p class=\"row-name m-0\">Contact Name</p>\r\n                      <p class=\"user-val\">\r\n                        {{ element.contactName | isEmpty }}\r\n                      </p>\r\n                    </td>\r\n                  </ng-container>\r\n\r\n                  <ng-container matColumnDef=\"address\">\r\n                    <th class=\"column-2 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n                      <h3>Name</h3>\r\n                    </th>\r\n                    <td class=\"column-2 listing-data-entry yellow-bg name\" data-column=\"Name\" mat-cell\r\n                      *matCellDef=\"let element\">\r\n                      <p class=\"row-name m-0\">Designation</p>\r\n                      <p class=\"user-val\">\r\n                        {{ element.description | isEmpty }}\r\n                      </p>\r\n                    </td>\r\n                  </ng-container>\r\n\r\n                  <ng-container matColumnDef=\"lot\">\r\n                    <th class=\"column-3 listing-header-name\" mat-header-cell *matHeaderCellDef></th>\r\n                    <td class=\"column-3 listing-data-entry name table-grey-row\" data-column=\"Company\" mat-cell\r\n                      *matCellDef=\"let element\">\r\n                      <p class=\"row-name m-0\">Email</p>\r\n                      <p class=\"user-val\">\r\n                        <a href=\"mailto:{{ element.email }}\">\r\n                          {{ element.email | isEmpty }}\r\n                        </a>\r\n                      </p>\r\n                    </td>\r\n                  </ng-container>\r\n\r\n                  <ng-container matColumnDef=\"status\">\r\n                    <th class=\"column-4 listing-header-name\" mat-header-cell *matHeaderCellDef>\r\n                      <h3>Phone</h3>\r\n                    </th>\r\n                    <td class=\"column-4 listing-data-entry name\" data-column=\"Phone\" mat-cell *matCellDef=\"let element\">\r\n                      <p class=\"row-name m-0\">Phone Number</p>\r\n                      <p class=\"user-val\">\r\n                        {{ element.mobileNumber | isEmpty }}\r\n                      </p>\r\n                    </td>\r\n                  </ng-container>\r\n                  <tr mat-row *matRowDef=\"let row; columns: displayedColumns3\"></tr>\r\n                </table>\r\n              </ng-template>\r\n            </section>\r\n          </div>\r\n        </div>\r\n      </ng-container>\r\n\r\n      <ng-container *ngIf=\"auctionDetail?.saleType?.isDetailPageInHouse\">\r\n        <div class=\"auction-details-tabs-data\" *ngIf=\"stepActive == 4\">\r\n          <lot-listing [isAdminViewLot]=\"true\" [auctionId]=\"auctionId\" [auctionData]=\"auctionDetail\"></lot-listing>\r\n        </div>\r\n      </ng-container>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #template>\r\n  <div class=\"modal-header align-items-start\">\r\n    <h4 class=\"modal-title pull-left\">View Lot Images</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n      <img src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"lot-slider custom-slick-arrow custom-lot\">\r\n      <div class=\"main-slides\">\r\n        <div class=\"image-slides-wrap\">\r\n          <ngx-slick-carousel class=\"carousel image-slides\" [config]=\"imagesSlider\">\r\n            <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.photoGallery\" class=\"slide\">\r\n              <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n            </div>\r\n          </ngx-slick-carousel>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"thumbs-outer\">\r\n        <ngx-slick-carousel class=\"carousel thumbs\" [config]=\"thumbnailsSlider\">\r\n          <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.photoGallery\" class=\"slide\">\r\n            <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n          </div>\r\n        </ngx-slick-carousel>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #template2>\r\n  <div *ngIf=\"location\">\r\n    <div class=\"modal-header\">\r\n      <h4 class=\"modal-title pull-left\">View Location</h4>\r\n      <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n        <img src=\"../assets/images/cross.svg\" />\r\n      </button>\r\n    </div>\r\n    <div class=\"modal-body\">\r\n      <div class=\"row\">\r\n        <div class=\"col-12 col-md-6\">\r\n          <div class=\"auction-basic-part\">\r\n            <h3 class=\"hdg\">Location Name</h3>\r\n            <p class=\"des\">{{ location.name | isEmpty }}</p>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"col-12 col-md-6\">\r\n          <div class=\"auction-basic-part\">\r\n            <h3 class=\"hdg\">Lot #</h3>\r\n            <p class=\"des\">{{ location.lotNumbers | isEmpty }}</p>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"col-12 col-md-6\">\r\n          <div class=\"auction-basic-part\">\r\n            <h3 class=\"hdg\">Address</h3>\r\n            <p class=\"des\" [innerHTML]=\"location.address | isEmpty\"></p>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"col-12 col-md-6\">\r\n          <div class=\"auction-basic-part\">\r\n            <h3 class=\"hdg\">Sales Tax Rate (%)</h3>\r\n            <p class=\"des\">{{ location.salesTaxRate }}</p>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"col-12 col-md-6\">\r\n          <div class=\"auction-basic-part\">\r\n            <h3 class=\"hdg\">Removal Dates & Rules</h3>\r\n            <p class=\"des\" [innerHtml]=\"location.removalDateAndRules\"></p>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"col-12 col-md-6\">\r\n          <div class=\"auction-basic-part\">\r\n            <h3 class=\"hdg\">Sales Tax Details</h3>\r\n            <p class=\"des inner-scroller\" [innerHtml]=\"location.salesTaxDetail\"></p>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"col-12 col-md-6\">\r\n          <div class=\"auction-basic-part\">\r\n            <h3 class=\"hdg\">Inspection Preview</h3>\r\n            <p class=\"des inner-scroller\" [innerHtml]=\"location.inspectionPreview\"></p>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"col-12 col-md-6\">\r\n          <div class=\"auction-basic-part\">\r\n            <h3 class=\"hdg\">Rigging/Shipping</h3>\r\n            <p class=\"des inner-scroller\" [innerHtml]=\"location.riggingAndShipping\"></p>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #template3>\r\n  <div class=\"modal-header align-items-start\">\r\n    <h4 class=\"modal-title pull-left\">Slider Images</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n      <img src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"lot-slider custom-slick-arrow view-more-slider\">\r\n      <div class=\"main-slides\">\r\n        <div class=\"image-slides-wrap\">\r\n          <ngx-slick-carousel class=\"carousel image-slides2\" [config]=\"imagesSlider2\">\r\n            <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.sliderImages\" class=\"slide\">\r\n              <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n            </div>\r\n          </ngx-slick-carousel>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"thumbs-outer\">\r\n        <ngx-slick-carousel class=\"carousel thumbs\" [config]=\"thumbnailsSlider2\">\r\n          <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.sliderImages\" class=\"slide\">\r\n            <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n          </div>\r\n        </ngx-slick-carousel>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #template4>\r\n  <div class=\"modal-header align-items-start\">\r\n    <h4 class=\"modal-title pull-left\">Photo Gallery</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n      <img src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <div class=\"lot-slider custom-slick-arrow view-more-slider\">\r\n      <div class=\"main-slides\">\r\n        <div class=\"image-slides-wrap\">\r\n          <ngx-slick-carousel class=\"carousel image-slides2\" [config]=\"imagesSlider2\">\r\n            <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.photoGallery\" class=\"slide\">\r\n              <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n            </div>\r\n          </ngx-slick-carousel>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"thumbs-outer\">\r\n        <ngx-slick-carousel class=\"carousel thumbs\" [config]=\"thumbnailsSlider2\">\r\n          <div ngxSlickItem *ngFor=\"let slide of auctionDetail?.photoGallery\" class=\"slide\">\r\n            <img src=\"{{ slide.name }}\" alt=\"\" width=\"100%\" />\r\n          </div>\r\n        </ngx-slick-carousel>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #startStopTemplate>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n      <img src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body my-activate\">\r\n    <img class=\"act-icon\" src=\"../assets/images/deactivate_user.svg\" />\r\n    <p class=\"des mb-4\"></p>\r\n    <p class=\"des\" *ngIf=\"auctionDetail?.isRegistrationActive == true\">\r\n      Are you sure you want to stop registration for this Auction?\r\n    </p>\r\n    <p class=\"des\" *ngIf=\"auctionDetail?.isRegistrationActive == false\">\r\n      Are you sure you want to start registration for this Auction?\r\n    </p>\r\n    <button *ngIf=\"auctionDetail?.isRegistrationActive == true\" [disabled]=\"submitLoader\" class=\"btn btn-colored\"\r\n      role=\"button\" (click)=\"auctionStopRegistration(auctionDetail?.id)\" type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Stop\r\n    </button>\r\n    <button *ngIf=\"auctionDetail?.isRegistrationActive == false\" [disabled]=\"submitLoader\" class=\"btn btn-colored\"\r\n      role=\"button\" (click)=\"auctionStartRegistration(auctionDetail?.id)\" type=\"button\">\r\n      <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n      Start\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #templateCommon>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\">Start Common Registration</h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n  <div class=\"modal-body\">\r\n    <form [formGroup]=\"approveCommonForm\">\r\n      <div class=\"form-group m-0 pb-1\">\r\n        <div class=\"mat-field-width\">\r\n          <div class=\"custom-select-option select-with-label input-with-tooltip\">\r\n            <mat-form-field appearance=\"outline\">\r\n              <mat-label>Select Auction For Common Registration</mat-label>\r\n              <mat-select #selectUpcomingAuction (ngModelChange)=\"\r\n                  upcomingAuctionChange(selectUpcomingAuction.value)\r\n                \" formControlName=\"syncWithAuctionId\" *ngIf=\"upcomingAuctions != undefined\">\r\n                <mat-option value=\"0\" selected>None</mat-option>\r\n                <mat-option *ngFor=\"let auction of upcomingAuctions\" [value]=\"auction.value\">\r\n                  {{ auction.text }}\r\n                </mat-option>\r\n              </mat-select>\r\n            </mat-form-field>\r\n            <span class=\"custom-tooltip\" #tooltip=\"matTooltip\" matTooltip=\"Select an Auction to link to this sale.\"\r\n              [matTooltipPosition]=\"'above'\">\r\n              <img src=\"../assets/images/info.svg\" />\r\n            </span>\r\n          </div>\r\n        </div>\r\n        <p class=\"note-text\">\r\n          Please note common registration auction once selected cannot be\r\n          changed.\r\n        </p>\r\n      </div>\r\n      <div class=\"image-popup-wrap pt-4 mt-2\">\r\n        <button class=\"btn btn-white-border mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-colored\" [disabled]=\"\r\n            submitLoader ||\r\n            approveCommonForm.invalid ||\r\n            disableCommonRegistrationButton\r\n          \" role=\"button\" (click)=\"syncRegistrationWithOtherAuction()\">\r\n          <span *ngIf=\"submitLoader\" class=\"spinner-border spinner-border-sm mr-1\"></span>\r\n          Start Common Auction\r\n        </button>\r\n      </div>\r\n    </form>\r\n  </div>\r\n</ng-template>\r\n","import { DOCUMENT, CommonModule } from '@angular/common';\nimport { forwardRef, EventEmitter, Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, ChangeDetectorRef, Optional, Attribute, NgZone, Inject, Input, Output, ViewChild, NgModule } from '@angular/core';\nimport { mixinTabIndex, mixinColor, mixinDisabled, MatCommonModule } from '@angular/material/core';\nimport { FocusMonitor } from '@angular/cdk/a11y';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { hasModifierKey, DOWN_ARROW, RIGHT_ARROW, UP_ARROW, LEFT_ARROW, HOME, END, PAGE_DOWN, PAGE_UP } from '@angular/cdk/keycodes';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\nimport { normalizePassiveListenerOptions } from '@angular/cdk/platform';\nimport { Subscription } from 'rxjs';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/a11y';\nimport * as ɵngcc2 from '@angular/cdk/bidi';\nimport * as ɵngcc3 from '@angular/common';\n\nconst _c0 = [\"sliderWrapper\"];\nconst activeEventOptions = normalizePassiveListenerOptions({ passive: false });\n/**\n * Visually, a 30px separation between tick marks looks best. This is very subjective but it is\n * the default separation we chose.\n */\nconst MIN_AUTO_TICK_SEPARATION = 30;\n/** The thumb gap size for a disabled slider. */\nconst DISABLED_THUMB_GAP = 7;\n/** The thumb gap size for a non-active slider at its minimum value. */\nconst MIN_VALUE_NONACTIVE_THUMB_GAP = 7;\n/** The thumb gap size for an active slider at its minimum value. */\nconst MIN_VALUE_ACTIVE_THUMB_GAP = 10;\n/**\n * Provider Expression that allows mat-slider to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)] and [formControl].\n * @docs-private\n */\nconst MAT_SLIDER_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => MatSlider),\n    multi: true\n};\n/** A simple change event emitted by the MatSlider component. */\nclass MatSliderChange {\n}\n// Boilerplate for applying mixins to MatSlider.\n/** @docs-private */\nclass MatSliderBase {\n    constructor(_elementRef) {\n        this._elementRef = _elementRef;\n    }\n}\nconst _MatSliderMixinBase = mixinTabIndex(mixinColor(mixinDisabled(MatSliderBase), 'accent'));\n/**\n * Allows users to select from a range of values by moving the slider thumb. It is similar in\n * behavior to the native `<input type=\"range\">` element.\n */\nclass MatSlider extends _MatSliderMixinBase {\n    constructor(elementRef, _focusMonitor, _changeDetectorRef, _dir, tabIndex, _ngZone, _document, _animationMode) {\n        super(elementRef);\n        this._focusMonitor = _focusMonitor;\n        this._changeDetectorRef = _changeDetectorRef;\n        this._dir = _dir;\n        this._ngZone = _ngZone;\n        this._animationMode = _animationMode;\n        this._invert = false;\n        this._max = 100;\n        this._min = 0;\n        this._step = 1;\n        this._thumbLabel = false;\n        this._tickInterval = 0;\n        this._value = null;\n        this._vertical = false;\n        /** Event emitted when the slider value has changed. */\n        this.change = new EventEmitter();\n        /** Event emitted when the slider thumb moves. */\n        this.input = new EventEmitter();\n        /**\n         * Emits when the raw value of the slider changes. This is here primarily\n         * to facilitate the two-way binding for the `value` input.\n         * @docs-private\n         */\n        this.valueChange = new EventEmitter();\n        /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n        this.onTouched = () => { };\n        this._percent = 0;\n        /**\n         * Whether or not the thumb is sliding.\n         * Used to determine if there should be a transition for the thumb and fill track.\n         */\n        this._isSliding = false;\n        /**\n         * Whether or not the slider is active (clicked or sliding).\n         * Used to shrink and grow the thumb as according to the Material Design spec.\n         */\n        this._isActive = false;\n        /** The size of a tick interval as a percentage of the size of the track. */\n        this._tickIntervalPercent = 0;\n        /** The dimensions of the slider. */\n        this._sliderDimensions = null;\n        this._controlValueAccessorChangeFn = () => { };\n        /** Subscription to the Directionality change EventEmitter. */\n        this._dirChangeSubscription = Subscription.EMPTY;\n        /** Called when the user has put their pointer down on the slider. */\n        this._pointerDown = (event) => {\n            // Don't do anything if the slider is disabled or the\n            // user is using anything other than the main mouse button.\n            if (this.disabled || this._isSliding || (!isTouchEvent(event) && event.button !== 0)) {\n                return;\n            }\n            this._ngZone.run(() => {\n                const oldValue = this.value;\n                const pointerPosition = getPointerPositionOnPage(event);\n                this._isSliding = true;\n                this._lastPointerEvent = event;\n                event.preventDefault();\n                this._focusHostElement();\n                this._onMouseenter(); // Simulate mouseenter in case this is a mobile device.\n                this._bindGlobalEvents(event);\n                this._focusHostElement();\n                this._updateValueFromPosition(pointerPosition);\n                this._valueOnSlideStart = oldValue;\n                // Emit a change and input event if the value changed.\n                if (oldValue != this.value) {\n                    this._emitInputEvent();\n                }\n            });\n        };\n        /**\n         * Called when the user has moved their pointer after\n         * starting to drag. Bound on the document level.\n         */\n        this._pointerMove = (event) => {\n            if (this._isSliding) {\n                // Prevent the slide from selecting anything else.\n                event.preventDefault();\n                const oldValue = this.value;\n                this._lastPointerEvent = event;\n                this._updateValueFromPosition(getPointerPositionOnPage(event));\n                // Native range elements always emit `input` events when the value changed while sliding.\n                if (oldValue != this.value) {\n                    this._emitInputEvent();\n                }\n            }\n        };\n        /** Called when the user has lifted their pointer. Bound on the document level. */\n        this._pointerUp = (event) => {\n            if (this._isSliding) {\n                event.preventDefault();\n                this._removeGlobalEvents();\n                this._isSliding = false;\n                if (this._valueOnSlideStart != this.value && !this.disabled) {\n                    this._emitChangeEvent();\n                }\n                this._valueOnSlideStart = this._lastPointerEvent = null;\n            }\n        };\n        /** Called when the window has lost focus. */\n        this._windowBlur = () => {\n            // If the window is blurred while dragging we need to stop dragging because the\n            // browser won't dispatch the `mouseup` and `touchend` events anymore.\n            if (this._lastPointerEvent) {\n                this._pointerUp(this._lastPointerEvent);\n            }\n        };\n        this._document = _document;\n        this.tabIndex = parseInt(tabIndex) || 0;\n        _ngZone.runOutsideAngular(() => {\n            const element = elementRef.nativeElement;\n            element.addEventListener('mousedown', this._pointerDown, activeEventOptions);\n            element.addEventListener('touchstart', this._pointerDown, activeEventOptions);\n        });\n    }\n    /** Whether the slider is inverted. */\n    get invert() { return this._invert; }\n    set invert(value) {\n        this._invert = coerceBooleanProperty(value);\n    }\n    /** The maximum value that the slider can have. */\n    get max() { return this._max; }\n    set max(v) {\n        this._max = coerceNumberProperty(v, this._max);\n        this._percent = this._calculatePercentage(this._value);\n        // Since this also modifies the percentage, we need to let the change detection know.\n        this._changeDetectorRef.markForCheck();\n    }\n    /** The minimum value that the slider can have. */\n    get min() { return this._min; }\n    set min(v) {\n        this._min = coerceNumberProperty(v, this._min);\n        // If the value wasn't explicitly set by the user, set it to the min.\n        if (this._value === null) {\n            this.value = this._min;\n        }\n        this._percent = this._calculatePercentage(this._value);\n        // Since this also modifies the percentage, we need to let the change detection know.\n        this._changeDetectorRef.markForCheck();\n    }\n    /** The values at which the thumb will snap. */\n    get step() { return this._step; }\n    set step(v) {\n        this._step = coerceNumberProperty(v, this._step);\n        if (this._step % 1 !== 0) {\n            this._roundToDecimal = this._step.toString().split('.').pop().length;\n        }\n        // Since this could modify the label, we need to notify the change detection.\n        this._changeDetectorRef.markForCheck();\n    }\n    /** Whether or not to show the thumb label. */\n    get thumbLabel() { return this._thumbLabel; }\n    set thumbLabel(value) { this._thumbLabel = coerceBooleanProperty(value); }\n    /**\n     * How often to show ticks. Relative to the step so that a tick always appears on a step.\n     * Ex: Tick interval of 4 with a step of 3 will draw a tick every 4 steps (every 12 values).\n     */\n    get tickInterval() { return this._tickInterval; }\n    set tickInterval(value) {\n        if (value === 'auto') {\n            this._tickInterval = 'auto';\n        }\n        else if (typeof value === 'number' || typeof value === 'string') {\n            this._tickInterval = coerceNumberProperty(value, this._tickInterval);\n        }\n        else {\n            this._tickInterval = 0;\n        }\n    }\n    /** Value of the slider. */\n    get value() {\n        // If the value needs to be read and it is still uninitialized, initialize it to the min.\n        if (this._value === null) {\n            this.value = this._min;\n        }\n        return this._value;\n    }\n    set value(v) {\n        if (v !== this._value) {\n            let value = coerceNumberProperty(v);\n            // While incrementing by a decimal we can end up with values like 33.300000000000004.\n            // Truncate it to ensure that it matches the label and to make it easier to work with.\n            if (this._roundToDecimal) {\n                value = parseFloat(value.toFixed(this._roundToDecimal));\n            }\n            this._value = value;\n            this._percent = this._calculatePercentage(this._value);\n            // Since this also modifies the percentage, we need to let the change detection know.\n            this._changeDetectorRef.markForCheck();\n        }\n    }\n    /** Whether the slider is vertical. */\n    get vertical() { return this._vertical; }\n    set vertical(value) {\n        this._vertical = coerceBooleanProperty(value);\n    }\n    /** The value to be used for display purposes. */\n    get displayValue() {\n        if (this.displayWith) {\n            // Value is never null but since setters and getters cannot have\n            // different types, the value getter is also typed to return null.\n            return this.displayWith(this.value);\n        }\n        // Note that this could be improved further by rounding something like 0.999 to 1 or\n        // 0.899 to 0.9, however it is very performance sensitive, because it gets called on\n        // every change detection cycle.\n        if (this._roundToDecimal && this.value && this.value % 1 !== 0) {\n            return this.value.toFixed(this._roundToDecimal);\n        }\n        return this.value || 0;\n    }\n    /** set focus to the host element */\n    focus(options) {\n        this._focusHostElement(options);\n    }\n    /** blur the host element */\n    blur() {\n        this._blurHostElement();\n    }\n    /** The percentage of the slider that coincides with the value. */\n    get percent() { return this._clamp(this._percent); }\n    /**\n     * Whether the axis of the slider is inverted.\n     * (i.e. whether moving the thumb in the positive x or y direction decreases the slider's value).\n     */\n    _shouldInvertAxis() {\n        // Standard non-inverted mode for a vertical slider should be dragging the thumb from bottom to\n        // top. However from a y-axis standpoint this is inverted.\n        return this.vertical ? !this.invert : this.invert;\n    }\n    /** Whether the slider is at its minimum value. */\n    _isMinValue() {\n        return this.percent === 0;\n    }\n    /**\n     * The amount of space to leave between the slider thumb and the track fill & track background\n     * elements.\n     */\n    _getThumbGap() {\n        if (this.disabled) {\n            return DISABLED_THUMB_GAP;\n        }\n        if (this._isMinValue() && !this.thumbLabel) {\n            return this._isActive ? MIN_VALUE_ACTIVE_THUMB_GAP : MIN_VALUE_NONACTIVE_THUMB_GAP;\n        }\n        return 0;\n    }\n    /** CSS styles for the track background element. */\n    _getTrackBackgroundStyles() {\n        const axis = this.vertical ? 'Y' : 'X';\n        const scale = this.vertical ? `1, ${1 - this.percent}, 1` : `${1 - this.percent}, 1, 1`;\n        const sign = this._shouldInvertMouseCoords() ? '-' : '';\n        return {\n            // scale3d avoids some rendering issues in Chrome. See #12071.\n            transform: `translate${axis}(${sign}${this._getThumbGap()}px) scale3d(${scale})`\n        };\n    }\n    /** CSS styles for the track fill element. */\n    _getTrackFillStyles() {\n        const percent = this.percent;\n        const axis = this.vertical ? 'Y' : 'X';\n        const scale = this.vertical ? `1, ${percent}, 1` : `${percent}, 1, 1`;\n        const sign = this._shouldInvertMouseCoords() ? '' : '-';\n        return {\n            // scale3d avoids some rendering issues in Chrome. See #12071.\n            transform: `translate${axis}(${sign}${this._getThumbGap()}px) scale3d(${scale})`,\n            // iOS Safari has a bug where it won't re-render elements which start of as `scale(0)` until\n            // something forces a style recalculation on it. Since we'll end up with `scale(0)` when\n            // the value of the slider is 0, we can easily get into this situation. We force a\n            // recalculation by changing the element's `display` when it goes from 0 to any other value.\n            display: percent === 0 ? 'none' : ''\n        };\n    }\n    /** CSS styles for the ticks container element. */\n    _getTicksContainerStyles() {\n        let axis = this.vertical ? 'Y' : 'X';\n        // For a horizontal slider in RTL languages we push the ticks container off the left edge\n        // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n        let sign = !this.vertical && this._getDirection() == 'rtl' ? '' : '-';\n        let offset = this._tickIntervalPercent / 2 * 100;\n        return {\n            'transform': `translate${axis}(${sign}${offset}%)`\n        };\n    }\n    /** CSS styles for the ticks element. */\n    _getTicksStyles() {\n        let tickSize = this._tickIntervalPercent * 100;\n        let backgroundSize = this.vertical ? `2px ${tickSize}%` : `${tickSize}% 2px`;\n        let axis = this.vertical ? 'Y' : 'X';\n        // Depending on the direction we pushed the ticks container, push the ticks the opposite\n        // direction to re-center them but clip off the end edge. In RTL languages we need to flip the\n        // ticks 180 degrees so we're really cutting off the end edge abd not the start.\n        let sign = !this.vertical && this._getDirection() == 'rtl' ? '-' : '';\n        let rotate = !this.vertical && this._getDirection() == 'rtl' ? ' rotate(180deg)' : '';\n        let styles = {\n            'backgroundSize': backgroundSize,\n            // Without translateZ ticks sometimes jitter as the slider moves on Chrome & Firefox.\n            'transform': `translateZ(0) translate${axis}(${sign}${tickSize / 2}%)${rotate}`\n        };\n        if (this._isMinValue() && this._getThumbGap()) {\n            const shouldInvertAxis = this._shouldInvertAxis();\n            let side;\n            if (this.vertical) {\n                side = shouldInvertAxis ? 'Bottom' : 'Top';\n            }\n            else {\n                side = shouldInvertAxis ? 'Right' : 'Left';\n            }\n            styles[`padding${side}`] = `${this._getThumbGap()}px`;\n        }\n        return styles;\n    }\n    _getThumbContainerStyles() {\n        const shouldInvertAxis = this._shouldInvertAxis();\n        let axis = this.vertical ? 'Y' : 'X';\n        // For a horizontal slider in RTL languages we push the thumb container off the left edge\n        // instead of the right edge to avoid causing a horizontal scrollbar to appear.\n        let invertOffset = (this._getDirection() == 'rtl' && !this.vertical) ? !shouldInvertAxis : shouldInvertAxis;\n        let offset = (invertOffset ? this.percent : 1 - this.percent) * 100;\n        return {\n            'transform': `translate${axis}(-${offset}%)`\n        };\n    }\n    /**\n     * Whether mouse events should be converted to a slider position by calculating their distance\n     * from the right or bottom edge of the slider as opposed to the top or left.\n     */\n    _shouldInvertMouseCoords() {\n        const shouldInvertAxis = this._shouldInvertAxis();\n        return (this._getDirection() == 'rtl' && !this.vertical) ? !shouldInvertAxis : shouldInvertAxis;\n    }\n    /** The language direction for this slider element. */\n    _getDirection() {\n        return (this._dir && this._dir.value == 'rtl') ? 'rtl' : 'ltr';\n    }\n    ngAfterViewInit() {\n        this._focusMonitor\n            .monitor(this._elementRef, true)\n            .subscribe((origin) => {\n            this._isActive = !!origin && origin !== 'keyboard';\n            this._changeDetectorRef.detectChanges();\n        });\n        if (this._dir) {\n            this._dirChangeSubscription = this._dir.change.subscribe(() => {\n                this._changeDetectorRef.markForCheck();\n            });\n        }\n    }\n    ngOnDestroy() {\n        const element = this._elementRef.nativeElement;\n        element.removeEventListener('mousedown', this._pointerDown, activeEventOptions);\n        element.removeEventListener('touchstart', this._pointerDown, activeEventOptions);\n        this._lastPointerEvent = null;\n        this._removeGlobalEvents();\n        this._focusMonitor.stopMonitoring(this._elementRef);\n        this._dirChangeSubscription.unsubscribe();\n    }\n    _onMouseenter() {\n        if (this.disabled) {\n            return;\n        }\n        // We save the dimensions of the slider here so we can use them to update the spacing of the\n        // ticks and determine where on the slider click and slide events happen.\n        this._sliderDimensions = this._getSliderDimensions();\n        this._updateTickIntervalPercent();\n    }\n    _onFocus() {\n        // We save the dimensions of the slider here so we can use them to update the spacing of the\n        // ticks and determine where on the slider click and slide events happen.\n        this._sliderDimensions = this._getSliderDimensions();\n        this._updateTickIntervalPercent();\n    }\n    _onBlur() {\n        this.onTouched();\n    }\n    _onKeydown(event) {\n        if (this.disabled || hasModifierKey(event)) {\n            return;\n        }\n        const oldValue = this.value;\n        switch (event.keyCode) {\n            case PAGE_UP:\n                this._increment(10);\n                break;\n            case PAGE_DOWN:\n                this._increment(-10);\n                break;\n            case END:\n                this.value = this.max;\n                break;\n            case HOME:\n                this.value = this.min;\n                break;\n            case LEFT_ARROW:\n                // NOTE: For a sighted user it would make more sense that when they press an arrow key on an\n                // inverted slider the thumb moves in that direction. However for a blind user, nothing\n                // about the slider indicates that it is inverted. They will expect left to be decrement,\n                // regardless of how it appears on the screen. For speakers ofRTL languages, they probably\n                // expect left to mean increment. Therefore we flip the meaning of the side arrow keys for\n                // RTL. For inverted sliders we prefer a good a11y experience to having it \"look right\" for\n                // sighted users, therefore we do not swap the meaning.\n                this._increment(this._getDirection() == 'rtl' ? 1 : -1);\n                break;\n            case UP_ARROW:\n                this._increment(1);\n                break;\n            case RIGHT_ARROW:\n                // See comment on LEFT_ARROW about the conditions under which we flip the meaning.\n                this._increment(this._getDirection() == 'rtl' ? -1 : 1);\n                break;\n            case DOWN_ARROW:\n                this._increment(-1);\n                break;\n            default:\n                // Return if the key is not one that we explicitly handle to avoid calling preventDefault on\n                // it.\n                return;\n        }\n        if (oldValue != this.value) {\n            this._emitInputEvent();\n            this._emitChangeEvent();\n        }\n        this._isSliding = true;\n        event.preventDefault();\n    }\n    _onKeyup() {\n        this._isSliding = false;\n    }\n    /** Use defaultView of injected document if available or fallback to global window reference */\n    _getWindow() {\n        return this._document.defaultView || window;\n    }\n    /**\n     * Binds our global move and end events. They're bound at the document level and only while\n     * dragging so that the user doesn't have to keep their pointer exactly over the slider\n     * as they're swiping across the screen.\n     */\n    _bindGlobalEvents(triggerEvent) {\n        // Note that we bind the events to the `document`, because it allows us to capture\n        // drag cancel events where the user's pointer is outside the browser window.\n        const document = this._document;\n        const isTouch = isTouchEvent(triggerEvent);\n        const moveEventName = isTouch ? 'touchmove' : 'mousemove';\n        const endEventName = isTouch ? 'touchend' : 'mouseup';\n        document.addEventListener(moveEventName, this._pointerMove, activeEventOptions);\n        document.addEventListener(endEventName, this._pointerUp, activeEventOptions);\n        if (isTouch) {\n            document.addEventListener('touchcancel', this._pointerUp, activeEventOptions);\n        }\n        const window = this._getWindow();\n        if (typeof window !== 'undefined' && window) {\n            window.addEventListener('blur', this._windowBlur);\n        }\n    }\n    /** Removes any global event listeners that we may have added. */\n    _removeGlobalEvents() {\n        const document = this._document;\n        document.removeEventListener('mousemove', this._pointerMove, activeEventOptions);\n        document.removeEventListener('mouseup', this._pointerUp, activeEventOptions);\n        document.removeEventListener('touchmove', this._pointerMove, activeEventOptions);\n        document.removeEventListener('touchend', this._pointerUp, activeEventOptions);\n        document.removeEventListener('touchcancel', this._pointerUp, activeEventOptions);\n        const window = this._getWindow();\n        if (typeof window !== 'undefined' && window) {\n            window.removeEventListener('blur', this._windowBlur);\n        }\n    }\n    /** Increments the slider by the given number of steps (negative number decrements). */\n    _increment(numSteps) {\n        this.value = this._clamp((this.value || 0) + this.step * numSteps, this.min, this.max);\n    }\n    /** Calculate the new value from the new physical location. The value will always be snapped. */\n    _updateValueFromPosition(pos) {\n        if (!this._sliderDimensions) {\n            return;\n        }\n        let offset = this.vertical ? this._sliderDimensions.top : this._sliderDimensions.left;\n        let size = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n        let posComponent = this.vertical ? pos.y : pos.x;\n        // The exact value is calculated from the event and used to find the closest snap value.\n        let percent = this._clamp((posComponent - offset) / size);\n        if (this._shouldInvertMouseCoords()) {\n            percent = 1 - percent;\n        }\n        // Since the steps may not divide cleanly into the max value, if the user\n        // slid to 0 or 100 percent, we jump to the min/max value. This approach\n        // is slightly more intuitive than using `Math.ceil` below, because it\n        // follows the user's pointer closer.\n        if (percent === 0) {\n            this.value = this.min;\n        }\n        else if (percent === 1) {\n            this.value = this.max;\n        }\n        else {\n            const exactValue = this._calculateValue(percent);\n            // This calculation finds the closest step by finding the closest\n            // whole number divisible by the step relative to the min.\n            const closestValue = Math.round((exactValue - this.min) / this.step) * this.step + this.min;\n            // The value needs to snap to the min and max.\n            this.value = this._clamp(closestValue, this.min, this.max);\n        }\n    }\n    /** Emits a change event if the current value is different from the last emitted value. */\n    _emitChangeEvent() {\n        this._controlValueAccessorChangeFn(this.value);\n        this.valueChange.emit(this.value);\n        this.change.emit(this._createChangeEvent());\n    }\n    /** Emits an input event when the current value is different from the last emitted value. */\n    _emitInputEvent() {\n        this.input.emit(this._createChangeEvent());\n    }\n    /** Updates the amount of space between ticks as a percentage of the width of the slider. */\n    _updateTickIntervalPercent() {\n        if (!this.tickInterval || !this._sliderDimensions) {\n            return;\n        }\n        if (this.tickInterval == 'auto') {\n            let trackSize = this.vertical ? this._sliderDimensions.height : this._sliderDimensions.width;\n            let pixelsPerStep = trackSize * this.step / (this.max - this.min);\n            let stepsPerTick = Math.ceil(MIN_AUTO_TICK_SEPARATION / pixelsPerStep);\n            let pixelsPerTick = stepsPerTick * this.step;\n            this._tickIntervalPercent = pixelsPerTick / trackSize;\n        }\n        else {\n            this._tickIntervalPercent = this.tickInterval * this.step / (this.max - this.min);\n        }\n    }\n    /** Creates a slider change object from the specified value. */\n    _createChangeEvent(value = this.value) {\n        let event = new MatSliderChange();\n        event.source = this;\n        event.value = value;\n        return event;\n    }\n    /** Calculates the percentage of the slider that a value is. */\n    _calculatePercentage(value) {\n        return ((value || 0) - this.min) / (this.max - this.min);\n    }\n    /** Calculates the value a percentage of the slider corresponds to. */\n    _calculateValue(percentage) {\n        return this.min + percentage * (this.max - this.min);\n    }\n    /** Return a number between two numbers. */\n    _clamp(value, min = 0, max = 1) {\n        return Math.max(min, Math.min(value, max));\n    }\n    /**\n     * Get the bounding client rect of the slider track element.\n     * The track is used rather than the native element to ignore the extra space that the thumb can\n     * take up.\n     */\n    _getSliderDimensions() {\n        return this._sliderWrapper ? this._sliderWrapper.nativeElement.getBoundingClientRect() : null;\n    }\n    /**\n     * Focuses the native element.\n     * Currently only used to allow a blur event to fire but will be used with keyboard input later.\n     */\n    _focusHostElement(options) {\n        this._elementRef.nativeElement.focus(options);\n    }\n    /** Blurs the native element. */\n    _blurHostElement() {\n        this._elementRef.nativeElement.blur();\n    }\n    /**\n     * Sets the model value. Implemented as part of ControlValueAccessor.\n     * @param value\n     */\n    writeValue(value) {\n        this.value = value;\n    }\n    /**\n     * Registers a callback to be triggered when the value has changed.\n     * Implemented as part of ControlValueAccessor.\n     * @param fn Callback to be registered.\n     */\n    registerOnChange(fn) {\n        this._controlValueAccessorChangeFn = fn;\n    }\n    /**\n     * Registers a callback to be triggered when the component is touched.\n     * Implemented as part of ControlValueAccessor.\n     * @param fn Callback to be registered.\n     */\n    registerOnTouched(fn) {\n        this.onTouched = fn;\n    }\n    /**\n     * Sets whether the component should be disabled.\n     * Implemented as part of ControlValueAccessor.\n     * @param isDisabled\n     */\n    setDisabledState(isDisabled) {\n        this.disabled = isDisabled;\n    }\n}\nMatSlider.ɵfac = function MatSlider_Factory(t) { return new (t || MatSlider)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.FocusMonitor), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Directionality, 8), ɵngcc0.ɵɵinjectAttribute('tabindex'), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(DOCUMENT), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8)); };\nMatSlider.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MatSlider, selectors: [[\"mat-slider\"]], viewQuery: function MatSlider_Query(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵviewQuery(_c0, true);\n    } if (rf & 2) {\n        var _t;\n        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx._sliderWrapper = _t.first);\n    } }, hostAttrs: [\"role\", \"slider\", 1, \"mat-slider\", \"mat-focus-indicator\"], hostVars: 28, hostBindings: function MatSlider_HostBindings(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵlistener(\"focus\", function MatSlider_focus_HostBindingHandler() { return ctx._onFocus(); })(\"blur\", function MatSlider_blur_HostBindingHandler() { return ctx._onBlur(); })(\"keydown\", function MatSlider_keydown_HostBindingHandler($event) { return ctx._onKeydown($event); })(\"keyup\", function MatSlider_keyup_HostBindingHandler() { return ctx._onKeyup(); })(\"mouseenter\", function MatSlider_mouseenter_HostBindingHandler() { return ctx._onMouseenter(); })(\"selectstart\", function MatSlider_selectstart_HostBindingHandler($event) { return $event.preventDefault(); });\n    } if (rf & 2) {\n        ɵngcc0.ɵɵhostProperty(\"tabIndex\", ctx.tabIndex);\n        ɵngcc0.ɵɵattribute(\"aria-disabled\", ctx.disabled)(\"aria-valuemax\", ctx.max)(\"aria-valuemin\", ctx.min)(\"aria-valuenow\", ctx.value)(\"aria-orientation\", ctx.vertical ? \"vertical\" : \"horizontal\");\n        ɵngcc0.ɵɵclassProp(\"mat-slider-disabled\", ctx.disabled)(\"mat-slider-has-ticks\", ctx.tickInterval)(\"mat-slider-horizontal\", !ctx.vertical)(\"mat-slider-axis-inverted\", ctx._shouldInvertAxis())(\"mat-slider-invert-mouse-coords\", ctx._shouldInvertMouseCoords())(\"mat-slider-sliding\", ctx._isSliding)(\"mat-slider-thumb-label-showing\", ctx.thumbLabel)(\"mat-slider-vertical\", ctx.vertical)(\"mat-slider-min-value\", ctx._isMinValue())(\"mat-slider-hide-last-tick\", ctx.disabled || ctx._isMinValue() && ctx._getThumbGap() && ctx._shouldInvertAxis())(\"_mat-animation-noopable\", ctx._animationMode === \"NoopAnimations\");\n    } }, inputs: { disabled: \"disabled\", color: \"color\", tabIndex: \"tabIndex\", invert: \"invert\", max: \"max\", min: \"min\", value: \"value\", step: \"step\", thumbLabel: \"thumbLabel\", tickInterval: \"tickInterval\", vertical: \"vertical\", displayWith: \"displayWith\" }, outputs: { change: \"change\", input: \"input\", valueChange: \"valueChange\" }, exportAs: [\"matSlider\"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_SLIDER_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature], decls: 13, vars: 6, consts: [[1, \"mat-slider-wrapper\"], [\"sliderWrapper\", \"\"], [1, \"mat-slider-track-wrapper\"], [1, \"mat-slider-track-background\", 3, \"ngStyle\"], [1, \"mat-slider-track-fill\", 3, \"ngStyle\"], [1, \"mat-slider-ticks-container\", 3, \"ngStyle\"], [1, \"mat-slider-ticks\", 3, \"ngStyle\"], [1, \"mat-slider-thumb-container\", 3, \"ngStyle\"], [1, \"mat-slider-focus-ring\"], [1, \"mat-slider-thumb\"], [1, \"mat-slider-thumb-label\"], [1, \"mat-slider-thumb-label-text\"]], template: function MatSlider_Template(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n        ɵngcc0.ɵɵelementStart(2, \"div\", 2);\n        ɵngcc0.ɵɵelement(3, \"div\", 3);\n        ɵngcc0.ɵɵelement(4, \"div\", 4);\n        ɵngcc0.ɵɵelementEnd();\n        ɵngcc0.ɵɵelementStart(5, \"div\", 5);\n        ɵngcc0.ɵɵelement(6, \"div\", 6);\n        ɵngcc0.ɵɵelementEnd();\n        ɵngcc0.ɵɵelementStart(7, \"div\", 7);\n        ɵngcc0.ɵɵelement(8, \"div\", 8);\n        ɵngcc0.ɵɵelement(9, \"div\", 9);\n        ɵngcc0.ɵɵelementStart(10, \"div\", 10);\n        ɵngcc0.ɵɵelementStart(11, \"span\", 11);\n        ɵngcc0.ɵɵtext(12);\n        ɵngcc0.ɵɵelementEnd();\n        ɵngcc0.ɵɵelementEnd();\n        ɵngcc0.ɵɵelementEnd();\n        ɵngcc0.ɵɵelementEnd();\n    } if (rf & 2) {\n        ɵngcc0.ɵɵadvance(3);\n        ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTrackBackgroundStyles());\n        ɵngcc0.ɵɵadvance(1);\n        ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTrackFillStyles());\n        ɵngcc0.ɵɵadvance(1);\n        ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTicksContainerStyles());\n        ɵngcc0.ɵɵadvance(1);\n        ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getTicksStyles());\n        ɵngcc0.ɵɵadvance(1);\n        ɵngcc0.ɵɵproperty(\"ngStyle\", ctx._getThumbContainerStyles());\n        ɵngcc0.ɵɵadvance(5);\n        ɵngcc0.ɵɵtextInterpolate(ctx.displayValue);\n    } }, directives: [ɵngcc3.NgStyle], styles: [\".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:\\\"\\\";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatSlider.ctorParameters = () => [\n    { type: ElementRef },\n    { type: FocusMonitor },\n    { type: ChangeDetectorRef },\n    { type: Directionality, decorators: [{ type: Optional }] },\n    { type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },\n    { type: NgZone },\n    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] },\n    { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] }\n];\nMatSlider.propDecorators = {\n    invert: [{ type: Input }],\n    max: [{ type: Input }],\n    min: [{ type: Input }],\n    step: [{ type: Input }],\n    thumbLabel: [{ type: Input }],\n    tickInterval: [{ type: Input }],\n    value: [{ type: Input }],\n    displayWith: [{ type: Input }],\n    vertical: [{ type: Input }],\n    change: [{ type: Output }],\n    input: [{ type: Output }],\n    valueChange: [{ type: Output }],\n    _sliderWrapper: [{ type: ViewChild, args: ['sliderWrapper',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatSlider, [{\n        type: Component,\n        args: [{\n                selector: 'mat-slider',\n                exportAs: 'matSlider',\n                providers: [MAT_SLIDER_VALUE_ACCESSOR],\n                host: {\n                    '(focus)': '_onFocus()',\n                    '(blur)': '_onBlur()',\n                    '(keydown)': '_onKeydown($event)',\n                    '(keyup)': '_onKeyup()',\n                    '(mouseenter)': '_onMouseenter()',\n                    // On Safari starting to slide temporarily triggers text selection mode which\n                    // show the wrong cursor. We prevent it by stopping the `selectstart` event.\n                    '(selectstart)': '$event.preventDefault()',\n                    'class': 'mat-slider mat-focus-indicator',\n                    'role': 'slider',\n                    '[tabIndex]': 'tabIndex',\n                    '[attr.aria-disabled]': 'disabled',\n                    '[attr.aria-valuemax]': 'max',\n                    '[attr.aria-valuemin]': 'min',\n                    '[attr.aria-valuenow]': 'value',\n                    '[attr.aria-orientation]': 'vertical ? \"vertical\" : \"horizontal\"',\n                    '[class.mat-slider-disabled]': 'disabled',\n                    '[class.mat-slider-has-ticks]': 'tickInterval',\n                    '[class.mat-slider-horizontal]': '!vertical',\n                    '[class.mat-slider-axis-inverted]': '_shouldInvertAxis()',\n                    // Class binding which is only used by the test harness as there is no other\n                    // way for the harness to detect if mouse coordinates need to be inverted.\n                    '[class.mat-slider-invert-mouse-coords]': '_shouldInvertMouseCoords()',\n                    '[class.mat-slider-sliding]': '_isSliding',\n                    '[class.mat-slider-thumb-label-showing]': 'thumbLabel',\n                    '[class.mat-slider-vertical]': 'vertical',\n                    '[class.mat-slider-min-value]': '_isMinValue()',\n                    '[class.mat-slider-hide-last-tick]': 'disabled || _isMinValue() && _getThumbGap() && _shouldInvertAxis()',\n                    '[class._mat-animation-noopable]': '_animationMode === \"NoopAnimations\"'\n                },\n                template: \"<div class=\\\"mat-slider-wrapper\\\" #sliderWrapper>\\n  <div class=\\\"mat-slider-track-wrapper\\\">\\n    <div class=\\\"mat-slider-track-background\\\" [ngStyle]=\\\"_getTrackBackgroundStyles()\\\"></div>\\n    <div class=\\\"mat-slider-track-fill\\\" [ngStyle]=\\\"_getTrackFillStyles()\\\"></div>\\n  </div>\\n  <div class=\\\"mat-slider-ticks-container\\\" [ngStyle]=\\\"_getTicksContainerStyles()\\\">\\n    <div class=\\\"mat-slider-ticks\\\" [ngStyle]=\\\"_getTicksStyles()\\\"></div>\\n  </div>\\n  <div class=\\\"mat-slider-thumb-container\\\" [ngStyle]=\\\"_getThumbContainerStyles()\\\">\\n    <div class=\\\"mat-slider-focus-ring\\\"></div>\\n    <div class=\\\"mat-slider-thumb\\\"></div>\\n    <div class=\\\"mat-slider-thumb-label\\\">\\n      <span class=\\\"mat-slider-thumb-label-text\\\">{{displayValue}}</span>\\n    </div>\\n  </div>\\n</div>\\n\",\n                inputs: ['disabled', 'color', 'tabIndex'],\n                encapsulation: ViewEncapsulation.None,\n                changeDetection: ChangeDetectionStrategy.OnPush,\n                styles: [\".mat-slider{display:inline-block;position:relative;box-sizing:border-box;padding:8px;outline:none;vertical-align:middle}.mat-slider:not(.mat-slider-disabled):active,.mat-slider.mat-slider-sliding:not(.mat-slider-disabled){cursor:-webkit-grabbing;cursor:grabbing}.mat-slider-wrapper{position:absolute}.mat-slider-track-wrapper{position:absolute;top:0;left:0;overflow:hidden}.mat-slider-track-fill{position:absolute;transform-origin:0 0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-track-background{position:absolute;transform-origin:100% 100%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-ticks-container{position:absolute;left:0;top:0;overflow:hidden}.mat-slider-ticks{background-repeat:repeat;background-clip:content-box;box-sizing:border-box;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-container{position:absolute;z-index:1;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-focus-ring{position:absolute;width:30px;height:30px;border-radius:50%;transform:scale(0);opacity:0;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider.cdk-keyboard-focused .mat-slider-focus-ring,.mat-slider.cdk-program-focused .mat-slider-focus-ring{transform:scale(1);opacity:1}.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb-label,.mat-slider:not(.mat-slider-disabled):not(.mat-slider-sliding) .mat-slider-thumb{cursor:-webkit-grab;cursor:grab}.mat-slider-thumb{position:absolute;right:-10px;bottom:-10px;box-sizing:border-box;width:20px;height:20px;border:3px solid transparent;border-radius:50%;transform:scale(0.7);transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-thumb-label{display:none;align-items:center;justify-content:center;position:absolute;width:28px;height:28px;border-radius:50%;transition:transform 400ms cubic-bezier(0.25, 0.8, 0.25, 1),border-radius 400ms cubic-bezier(0.25, 0.8, 0.25, 1),background-color 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.cdk-high-contrast-active .mat-slider-thumb-label{outline:solid 1px}.mat-slider-thumb-label-text{z-index:1;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-sliding .mat-slider-track-fill,.mat-slider-sliding .mat-slider-track-background,.mat-slider-sliding .mat-slider-thumb-container{transition-duration:0ms}.mat-slider-has-ticks .mat-slider-wrapper::after{content:\\\"\\\";position:absolute;border-width:0;border-style:solid;opacity:0;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1)}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after,.mat-slider-has-ticks:hover:not(.mat-slider-hide-last-tick) .mat-slider-wrapper::after{opacity:1}.mat-slider-has-ticks.cdk-focused:not(.mat-slider-disabled) .mat-slider-ticks,.mat-slider-has-ticks:hover:not(.mat-slider-disabled) .mat-slider-ticks{opacity:1}.mat-slider-thumb-label-showing .mat-slider-focus-ring{display:none}.mat-slider-thumb-label-showing .mat-slider-thumb-label{display:flex}.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:100% 100%}.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:0 0}.mat-slider:not(.mat-slider-disabled).cdk-focused.mat-slider-thumb-label-showing .mat-slider-thumb{transform:scale(0)}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label{border-radius:50% 50% 0}.mat-slider:not(.mat-slider-disabled).cdk-focused .mat-slider-thumb-label-text{opacity:1}.mat-slider:not(.mat-slider-disabled).cdk-mouse-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-touch-focused .mat-slider-thumb,.mat-slider:not(.mat-slider-disabled).cdk-program-focused .mat-slider-thumb{border-width:2px;transform:scale(1)}.mat-slider-disabled .mat-slider-focus-ring{transform:scale(0);opacity:0}.mat-slider-disabled .mat-slider-thumb{border-width:4px;transform:scale(0.5)}.mat-slider-disabled .mat-slider-thumb-label{display:none}.mat-slider-horizontal{height:48px;min-width:128px}.mat-slider-horizontal .mat-slider-wrapper{height:2px;top:23px;left:8px;right:8px}.mat-slider-horizontal .mat-slider-wrapper::after{height:2px;border-left-width:2px;right:0;top:0}.mat-slider-horizontal .mat-slider-track-wrapper{height:2px;width:100%}.mat-slider-horizontal .mat-slider-track-fill{height:2px;width:100%;transform:scaleX(0)}.mat-slider-horizontal .mat-slider-track-background{height:2px;width:100%;transform:scaleX(1)}.mat-slider-horizontal .mat-slider-ticks-container{height:2px;width:100%}.cdk-high-contrast-active .mat-slider-horizontal .mat-slider-ticks-container{height:0;outline:solid 2px;top:1px}.mat-slider-horizontal .mat-slider-ticks{height:2px;width:100%}.mat-slider-horizontal .mat-slider-thumb-container{width:100%;height:0;top:50%}.mat-slider-horizontal .mat-slider-focus-ring{top:-15px;right:-15px}.mat-slider-horizontal .mat-slider-thumb-label{right:-14px;top:-40px;transform:translateY(26px) scale(0.01) rotate(45deg)}.mat-slider-horizontal .mat-slider-thumb-label-text{transform:rotate(-45deg)}.mat-slider-horizontal.cdk-focused .mat-slider-thumb-label{transform:rotate(45deg)}.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label,.cdk-high-contrast-active .mat-slider-horizontal.cdk-focused .mat-slider-thumb-label-text{transform:none}.mat-slider-vertical{width:48px;min-height:128px}.mat-slider-vertical .mat-slider-wrapper{width:2px;top:8px;bottom:8px;left:23px}.mat-slider-vertical .mat-slider-wrapper::after{width:2px;border-top-width:2px;bottom:0;left:0}.mat-slider-vertical .mat-slider-track-wrapper{height:100%;width:2px}.mat-slider-vertical .mat-slider-track-fill{height:100%;width:2px;transform:scaleY(0)}.mat-slider-vertical .mat-slider-track-background{height:100%;width:2px;transform:scaleY(1)}.mat-slider-vertical .mat-slider-ticks-container{width:2px;height:100%}.cdk-high-contrast-active .mat-slider-vertical .mat-slider-ticks-container{width:0;outline:solid 2px;left:1px}.mat-slider-vertical .mat-slider-focus-ring{bottom:-15px;left:-15px}.mat-slider-vertical .mat-slider-ticks{width:2px;height:100%}.mat-slider-vertical .mat-slider-thumb-container{height:100%;width:0;left:50%}.mat-slider-vertical .mat-slider-thumb{-webkit-backface-visibility:hidden;backface-visibility:hidden}.mat-slider-vertical .mat-slider-thumb-label{bottom:-14px;left:-40px;transform:translateX(26px) scale(0.01) rotate(-45deg)}.mat-slider-vertical .mat-slider-thumb-label-text{transform:rotate(45deg)}.mat-slider-vertical.cdk-focused .mat-slider-thumb-label{transform:rotate(-45deg)}[dir=rtl] .mat-slider-wrapper::after{left:0;right:auto}[dir=rtl] .mat-slider-horizontal .mat-slider-track-fill{transform-origin:100% 100%}[dir=rtl] .mat-slider-horizontal .mat-slider-track-background{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-fill{transform-origin:0 0}[dir=rtl] .mat-slider-horizontal.mat-slider-axis-inverted .mat-slider-track-background{transform-origin:100% 100%}.mat-slider._mat-animation-noopable .mat-slider-track-fill,.mat-slider._mat-animation-noopable .mat-slider-track-background,.mat-slider._mat-animation-noopable .mat-slider-ticks,.mat-slider._mat-animation-noopable .mat-slider-thumb-container,.mat-slider._mat-animation-noopable .mat-slider-focus-ring,.mat-slider._mat-animation-noopable .mat-slider-thumb,.mat-slider._mat-animation-noopable .mat-slider-thumb-label,.mat-slider._mat-animation-noopable .mat-slider-thumb-label-text,.mat-slider._mat-animation-noopable .mat-slider-has-ticks .mat-slider-wrapper::after{transition:none}\\n\"]\n            }]\n    }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.FocusMonitor }, { type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc2.Directionality, decorators: [{\n                type: Optional\n            }] }, { type: String, decorators: [{\n                type: Attribute,\n                args: ['tabindex']\n            }] }, { type: ɵngcc0.NgZone }, { type: undefined, decorators: [{\n                type: Inject,\n                args: [DOCUMENT]\n            }] }, { type: String, decorators: [{\n                type: Optional\n            }, {\n                type: Inject,\n                args: [ANIMATION_MODULE_TYPE]\n            }] }]; }, { change: [{\n            type: Output\n        }], input: [{\n            type: Output\n        }], valueChange: [{\n            type: Output\n        }], invert: [{\n            type: Input\n        }], max: [{\n            type: Input\n        }], min: [{\n            type: Input\n        }], value: [{\n            type: Input\n        }], step: [{\n            type: Input\n        }], thumbLabel: [{\n            type: Input\n        }], tickInterval: [{\n            type: Input\n        }], vertical: [{\n            type: Input\n        }], displayWith: [{\n            type: Input\n        }], _sliderWrapper: [{\n            type: ViewChild,\n            args: ['sliderWrapper']\n        }] }); })();\n/** Returns whether an event is a touch event. */\nfunction isTouchEvent(event) {\n    // This function is called for every pixel that the user has dragged so we need it to be\n    // as fast as possible. Since we only bind mouse events and touch events, we can assume\n    // that if the event's name starts with `t`, it's a touch event.\n    return event.type[0] === 't';\n}\n/** Gets the coordinates of a touch or mouse event relative to the viewport. */\nfunction getPointerPositionOnPage(event) {\n    // `touches` will be empty for start/end events so we have to fall back to `changedTouches`.\n    const point = isTouchEvent(event) ? (event.touches[0] || event.changedTouches[0]) : event;\n    return { x: point.clientX, y: point.clientY };\n}\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatSliderModule {\n}\nMatSliderModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: MatSliderModule });\nMatSliderModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function MatSliderModule_Factory(t) { return new (t || MatSliderModule)(); }, imports: [[CommonModule, MatCommonModule], MatCommonModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatSliderModule, { declarations: function () { return [MatSlider]; }, imports: function () { return [CommonModule, MatCommonModule]; }, exports: function () { return [MatSlider, MatCommonModule]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatSliderModule, [{\n        type: NgModule,\n        args: [{\n                imports: [CommonModule, MatCommonModule],\n                exports: [MatSlider, MatCommonModule],\n                declarations: [MatSlider]\n            }]\n    }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_SLIDER_VALUE_ACCESSOR, MatSlider, MatSliderChange, MatSliderModule };\n\n//# sourceMappingURL=slider.js.map","import { InjectionToken, Component, ChangeDetectionStrategy, ViewEncapsulation, ElementRef, Optional, Inject, Input, NgModule } from '@angular/core';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { mixinColor, MatCommonModule } from '@angular/material/core';\nimport { coerceNumberProperty } from '@angular/cdk/coercion';\nimport { _getShadowRoot, Platform } from '@angular/cdk/platform';\nimport { ANIMATION_MODULE_TYPE } from '@angular/platform-browser/animations';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Base reference size of the spinner.\n * @docs-private\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/cdk/platform';\nimport * as ɵngcc2 from '@angular/common';\n\nfunction MatProgressSpinner__svg_circle_1_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵnamespaceSVG();\n    ɵngcc0.ɵɵelement(0, \"circle\", 3);\n} if (rf & 2) {\n    const ctx_r0 = ɵngcc0.ɵɵnextContext();\n    ɵngcc0.ɵɵstyleProp(\"animation-name\", \"mat-progress-spinner-stroke-rotate-\" + ctx_r0._spinnerAnimationLabel)(\"stroke-dashoffset\", ctx_r0._getStrokeDashOffset(), \"px\")(\"stroke-dasharray\", ctx_r0._getStrokeCircumference(), \"px\")(\"stroke-width\", ctx_r0._getCircleStrokeWidth(), \"%\");\n    ɵngcc0.ɵɵattribute(\"r\", ctx_r0._getCircleRadius());\n} }\nfunction MatProgressSpinner__svg_circle_2_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵnamespaceSVG();\n    ɵngcc0.ɵɵelement(0, \"circle\", 3);\n} if (rf & 2) {\n    const ctx_r1 = ɵngcc0.ɵɵnextContext();\n    ɵngcc0.ɵɵstyleProp(\"stroke-dashoffset\", ctx_r1._getStrokeDashOffset(), \"px\")(\"stroke-dasharray\", ctx_r1._getStrokeCircumference(), \"px\")(\"stroke-width\", ctx_r1._getCircleStrokeWidth(), \"%\");\n    ɵngcc0.ɵɵattribute(\"r\", ctx_r1._getCircleRadius());\n} }\nfunction MatSpinner__svg_circle_1_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵnamespaceSVG();\n    ɵngcc0.ɵɵelement(0, \"circle\", 3);\n} if (rf & 2) {\n    const ctx_r0 = ɵngcc0.ɵɵnextContext();\n    ɵngcc0.ɵɵstyleProp(\"animation-name\", \"mat-progress-spinner-stroke-rotate-\" + ctx_r0._spinnerAnimationLabel)(\"stroke-dashoffset\", ctx_r0._getStrokeDashOffset(), \"px\")(\"stroke-dasharray\", ctx_r0._getStrokeCircumference(), \"px\")(\"stroke-width\", ctx_r0._getCircleStrokeWidth(), \"%\");\n    ɵngcc0.ɵɵattribute(\"r\", ctx_r0._getCircleRadius());\n} }\nfunction MatSpinner__svg_circle_2_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵnamespaceSVG();\n    ɵngcc0.ɵɵelement(0, \"circle\", 3);\n} if (rf & 2) {\n    const ctx_r1 = ɵngcc0.ɵɵnextContext();\n    ɵngcc0.ɵɵstyleProp(\"stroke-dashoffset\", ctx_r1._getStrokeDashOffset(), \"px\")(\"stroke-dasharray\", ctx_r1._getStrokeCircumference(), \"px\")(\"stroke-width\", ctx_r1._getCircleStrokeWidth(), \"%\");\n    ɵngcc0.ɵɵattribute(\"r\", ctx_r1._getCircleRadius());\n} }\nconst _c0 = \".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\\n\";\nconst BASE_SIZE = 100;\n/**\n * Base reference stroke width of the spinner.\n * @docs-private\n */\nconst BASE_STROKE_WIDTH = 10;\n// Boilerplate for applying mixins to MatProgressSpinner.\n/** @docs-private */\nclass MatProgressSpinnerBase {\n    constructor(_elementRef) {\n        this._elementRef = _elementRef;\n    }\n}\nconst _MatProgressSpinnerMixinBase = mixinColor(MatProgressSpinnerBase, 'primary');\n/** Injection token to be used to override the default options for `mat-progress-spinner`. */\nconst MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS = new InjectionToken('mat-progress-spinner-default-options', {\n    providedIn: 'root',\n    factory: MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY() {\n    return { diameter: BASE_SIZE };\n}\n// .0001 percentage difference is necessary in order to avoid unwanted animation frames\n// for example because the animation duration is 4 seconds, .1% accounts to 4ms\n// which are enough to see the flicker described in\n// https://github.com/angular/components/issues/8984\nconst INDETERMINATE_ANIMATION_TEMPLATE = `\n @keyframes mat-progress-spinner-stroke-rotate-DIAMETER {\n    0%      { stroke-dashoffset: START_VALUE;  transform: rotate(0); }\n    12.5%   { stroke-dashoffset: END_VALUE;    transform: rotate(0); }\n    12.5001%  { stroke-dashoffset: END_VALUE;    transform: rotateX(180deg) rotate(72.5deg); }\n    25%     { stroke-dashoffset: START_VALUE;  transform: rotateX(180deg) rotate(72.5deg); }\n\n    25.0001%   { stroke-dashoffset: START_VALUE;  transform: rotate(270deg); }\n    37.5%   { stroke-dashoffset: END_VALUE;    transform: rotate(270deg); }\n    37.5001%  { stroke-dashoffset: END_VALUE;    transform: rotateX(180deg) rotate(161.5deg); }\n    50%     { stroke-dashoffset: START_VALUE;  transform: rotateX(180deg) rotate(161.5deg); }\n\n    50.0001%  { stroke-dashoffset: START_VALUE;  transform: rotate(180deg); }\n    62.5%   { stroke-dashoffset: END_VALUE;    transform: rotate(180deg); }\n    62.5001%  { stroke-dashoffset: END_VALUE;    transform: rotateX(180deg) rotate(251.5deg); }\n    75%     { stroke-dashoffset: START_VALUE;  transform: rotateX(180deg) rotate(251.5deg); }\n\n    75.0001%  { stroke-dashoffset: START_VALUE;  transform: rotate(90deg); }\n    87.5%   { stroke-dashoffset: END_VALUE;    transform: rotate(90deg); }\n    87.5001%  { stroke-dashoffset: END_VALUE;    transform: rotateX(180deg) rotate(341.5deg); }\n    100%    { stroke-dashoffset: START_VALUE;  transform: rotateX(180deg) rotate(341.5deg); }\n  }\n`;\n/**\n * `<mat-progress-spinner>` component.\n */\nclass MatProgressSpinner extends _MatProgressSpinnerMixinBase {\n    constructor(_elementRef, platform, _document, animationMode, defaults) {\n        super(_elementRef);\n        this._elementRef = _elementRef;\n        this._document = _document;\n        this._diameter = BASE_SIZE;\n        this._value = 0;\n        this._fallbackAnimation = false;\n        /** Mode of the progress circle */\n        this.mode = 'determinate';\n        const trackedDiameters = MatProgressSpinner._diameters;\n        this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();\n        // The base size is already inserted via the component's structural styles. We still\n        // need to track it so we don't end up adding the same styles again.\n        if (!trackedDiameters.has(_document.head)) {\n            trackedDiameters.set(_document.head, new Set([BASE_SIZE]));\n        }\n        this._fallbackAnimation = platform.EDGE || platform.TRIDENT;\n        this._noopAnimations = animationMode === 'NoopAnimations' &&\n            (!!defaults && !defaults._forceAnimations);\n        if (defaults) {\n            if (defaults.diameter) {\n                this.diameter = defaults.diameter;\n            }\n            if (defaults.strokeWidth) {\n                this.strokeWidth = defaults.strokeWidth;\n            }\n        }\n    }\n    /** The diameter of the progress spinner (will set width and height of svg). */\n    get diameter() { return this._diameter; }\n    set diameter(size) {\n        this._diameter = coerceNumberProperty(size);\n        this._spinnerAnimationLabel = this._getSpinnerAnimationLabel();\n        // If this is set before `ngOnInit`, the style root may not have been resolved yet.\n        if (!this._fallbackAnimation && this._styleRoot) {\n            this._attachStyleNode();\n        }\n    }\n    /** Stroke width of the progress spinner. */\n    get strokeWidth() {\n        return this._strokeWidth || this.diameter / 10;\n    }\n    set strokeWidth(value) {\n        this._strokeWidth = coerceNumberProperty(value);\n    }\n    /** Value of the progress circle. */\n    get value() {\n        return this.mode === 'determinate' ? this._value : 0;\n    }\n    set value(newValue) {\n        this._value = Math.max(0, Math.min(100, coerceNumberProperty(newValue)));\n    }\n    ngOnInit() {\n        const element = this._elementRef.nativeElement;\n        // Note that we need to look up the root node in ngOnInit, rather than the constructor, because\n        // Angular seems to create the element outside the shadow root and then moves it inside, if the\n        // node is inside an `ngIf` and a ShadowDom-encapsulated component.\n        this._styleRoot = _getShadowRoot(element) || this._document.head;\n        this._attachStyleNode();\n        // On IE and Edge, we can't animate the `stroke-dashoffset`\n        // reliably so we fall back to a non-spec animation.\n        const animationClass = `mat-progress-spinner-indeterminate${this._fallbackAnimation ? '-fallback' : ''}-animation`;\n        element.classList.add(animationClass);\n    }\n    /** The radius of the spinner, adjusted for stroke width. */\n    _getCircleRadius() {\n        return (this.diameter - BASE_STROKE_WIDTH) / 2;\n    }\n    /** The view box of the spinner's svg element. */\n    _getViewBox() {\n        const viewBox = this._getCircleRadius() * 2 + this.strokeWidth;\n        return `0 0 ${viewBox} ${viewBox}`;\n    }\n    /** The stroke circumference of the svg circle. */\n    _getStrokeCircumference() {\n        return 2 * Math.PI * this._getCircleRadius();\n    }\n    /** The dash offset of the svg circle. */\n    _getStrokeDashOffset() {\n        if (this.mode === 'determinate') {\n            return this._getStrokeCircumference() * (100 - this._value) / 100;\n        }\n        // In fallback mode set the circle to 80% and rotate it with CSS.\n        if (this._fallbackAnimation && this.mode === 'indeterminate') {\n            return this._getStrokeCircumference() * 0.2;\n        }\n        return null;\n    }\n    /** Stroke width of the circle in percent. */\n    _getCircleStrokeWidth() {\n        return this.strokeWidth / this.diameter * 100;\n    }\n    /** Dynamically generates a style tag containing the correct animation for this diameter. */\n    _attachStyleNode() {\n        const styleRoot = this._styleRoot;\n        const currentDiameter = this._diameter;\n        const diameters = MatProgressSpinner._diameters;\n        let diametersForElement = diameters.get(styleRoot);\n        if (!diametersForElement || !diametersForElement.has(currentDiameter)) {\n            const styleTag = this._document.createElement('style');\n            styleTag.setAttribute('mat-spinner-animation', this._spinnerAnimationLabel);\n            styleTag.textContent = this._getAnimationText();\n            styleRoot.appendChild(styleTag);\n            if (!diametersForElement) {\n                diametersForElement = new Set();\n                diameters.set(styleRoot, diametersForElement);\n            }\n            diametersForElement.add(currentDiameter);\n        }\n    }\n    /** Generates animation styles adjusted for the spinner's diameter. */\n    _getAnimationText() {\n        const strokeCircumference = this._getStrokeCircumference();\n        return INDETERMINATE_ANIMATION_TEMPLATE\n            // Animation should begin at 5% and end at 80%\n            .replace(/START_VALUE/g, `${0.95 * strokeCircumference}`)\n            .replace(/END_VALUE/g, `${0.2 * strokeCircumference}`)\n            .replace(/DIAMETER/g, `${this._spinnerAnimationLabel}`);\n    }\n    /** Returns the circle diameter formatted for use with the animation-name CSS property. */\n    _getSpinnerAnimationLabel() {\n        // The string of a float point number will include a period ‘.’ character,\n        // which is not valid for a CSS animation-name.\n        return this.diameter.toString().replace('.', '_');\n    }\n}\nMatProgressSpinner.ɵfac = function MatProgressSpinner_Factory(t) { return new (t || MatProgressSpinner)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8), ɵngcc0.ɵɵdirectiveInject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)); };\nMatProgressSpinner.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MatProgressSpinner, selectors: [[\"mat-progress-spinner\"]], hostAttrs: [\"role\", \"progressbar\", 1, \"mat-progress-spinner\"], hostVars: 10, hostBindings: function MatProgressSpinner_HostBindings(rf, ctx) { if (rf & 2) {\n        ɵngcc0.ɵɵattribute(\"aria-valuemin\", ctx.mode === \"determinate\" ? 0 : null)(\"aria-valuemax\", ctx.mode === \"determinate\" ? 100 : null)(\"aria-valuenow\", ctx.mode === \"determinate\" ? ctx.value : null)(\"mode\", ctx.mode);\n        ɵngcc0.ɵɵstyleProp(\"width\", ctx.diameter, \"px\")(\"height\", ctx.diameter, \"px\");\n        ɵngcc0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._noopAnimations);\n    } }, inputs: { color: \"color\", mode: \"mode\", diameter: \"diameter\", strokeWidth: \"strokeWidth\", value: \"value\" }, exportAs: [\"matProgressSpinner\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 8, consts: [[\"preserveAspectRatio\", \"xMidYMid meet\", \"focusable\", \"false\", 3, \"ngSwitch\"], [\"cx\", \"50%\", \"cy\", \"50%\", 3, \"animation-name\", \"stroke-dashoffset\", \"stroke-dasharray\", \"stroke-width\", 4, \"ngSwitchCase\"], [\"cx\", \"50%\", \"cy\", \"50%\", 3, \"stroke-dashoffset\", \"stroke-dasharray\", \"stroke-width\", 4, \"ngSwitchCase\"], [\"cx\", \"50%\", \"cy\", \"50%\"]], template: function MatProgressSpinner_Template(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵnamespaceSVG();\n        ɵngcc0.ɵɵelementStart(0, \"svg\", 0);\n        ɵngcc0.ɵɵtemplate(1, MatProgressSpinner__svg_circle_1_Template, 1, 9, \"circle\", 1);\n        ɵngcc0.ɵɵtemplate(2, MatProgressSpinner__svg_circle_2_Template, 1, 7, \"circle\", 2);\n        ɵngcc0.ɵɵelementEnd();\n    } if (rf & 2) {\n        ɵngcc0.ɵɵstyleProp(\"width\", ctx.diameter, \"px\")(\"height\", ctx.diameter, \"px\");\n        ɵngcc0.ɵɵproperty(\"ngSwitch\", ctx.mode === \"indeterminate\");\n        ɵngcc0.ɵɵattribute(\"viewBox\", ctx._getViewBox());\n        ɵngcc0.ɵɵadvance(1);\n        ɵngcc0.ɵɵproperty(\"ngSwitchCase\", true);\n        ɵngcc0.ɵɵadvance(1);\n        ɵngcc0.ɵɵproperty(\"ngSwitchCase\", false);\n    } }, directives: [ɵngcc2.NgSwitch, ɵngcc2.NgSwitchCase], styles: [_c0], encapsulation: 2, changeDetection: 0 });\n/**\n * Tracks diameters of existing instances to de-dupe generated styles (default d = 100).\n * We need to keep track of which elements the diameters were attached to, because for\n * elements in the Shadow DOM the style tags are attached to the shadow root, rather\n * than the document head.\n */\nMatProgressSpinner._diameters = new WeakMap();\nMatProgressSpinner.ctorParameters = () => [\n    { type: ElementRef },\n    { type: Platform },\n    { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n    { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] },\n    { type: undefined, decorators: [{ type: Inject, args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS,] }] }\n];\nMatProgressSpinner.propDecorators = {\n    diameter: [{ type: Input }],\n    strokeWidth: [{ type: Input }],\n    mode: [{ type: Input }],\n    value: [{ type: Input }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatProgressSpinner, [{\n        type: Component,\n        args: [{\n                selector: 'mat-progress-spinner',\n                exportAs: 'matProgressSpinner',\n                host: {\n                    'role': 'progressbar',\n                    'class': 'mat-progress-spinner',\n                    '[class._mat-animation-noopable]': `_noopAnimations`,\n                    '[style.width.px]': 'diameter',\n                    '[style.height.px]': 'diameter',\n                    '[attr.aria-valuemin]': 'mode === \"determinate\" ? 0 : null',\n                    '[attr.aria-valuemax]': 'mode === \"determinate\" ? 100 : null',\n                    '[attr.aria-valuenow]': 'mode === \"determinate\" ? value : null',\n                    '[attr.mode]': 'mode'\n                },\n                inputs: ['color'],\n                template: \"<!--\\n  preserveAspectRatio of xMidYMid meet as the center of the viewport is the circle's\\n  center. The center of the circle will remain at the center of the mat-progress-spinner\\n  element containing the SVG. `focusable=\\\"false\\\"` prevents IE from allowing the user to\\n  tab into the SVG element.\\n-->\\n\\n<svg\\n  [style.width.px]=\\\"diameter\\\"\\n  [style.height.px]=\\\"diameter\\\"\\n  [attr.viewBox]=\\\"_getViewBox()\\\"\\n  preserveAspectRatio=\\\"xMidYMid meet\\\"\\n  focusable=\\\"false\\\"\\n  [ngSwitch]=\\\"mode === 'indeterminate'\\\">\\n\\n  <!--\\n    Technically we can reuse the same `circle` element, however Safari has an issue that breaks\\n    the SVG rendering in determinate mode, after switching between indeterminate and determinate.\\n    Using a different element avoids the issue. An alternative to this is adding `display: none`\\n    for a split second and then removing it when switching between modes, but it's hard to know\\n    for how long to hide the element and it can cause the UI to blink.\\n  -->\\n  <circle\\n    *ngSwitchCase=\\\"true\\\"\\n    cx=\\\"50%\\\"\\n    cy=\\\"50%\\\"\\n    [attr.r]=\\\"_getCircleRadius()\\\"\\n    [style.animation-name]=\\\"'mat-progress-spinner-stroke-rotate-' + _spinnerAnimationLabel\\\"\\n    [style.stroke-dashoffset.px]=\\\"_getStrokeDashOffset()\\\"\\n    [style.stroke-dasharray.px]=\\\"_getStrokeCircumference()\\\"\\n    [style.stroke-width.%]=\\\"_getCircleStrokeWidth()\\\"></circle>\\n\\n  <circle\\n    *ngSwitchCase=\\\"false\\\"\\n    cx=\\\"50%\\\"\\n    cy=\\\"50%\\\"\\n    [attr.r]=\\\"_getCircleRadius()\\\"\\n    [style.stroke-dashoffset.px]=\\\"_getStrokeDashOffset()\\\"\\n    [style.stroke-dasharray.px]=\\\"_getStrokeCircumference()\\\"\\n    [style.stroke-width.%]=\\\"_getCircleStrokeWidth()\\\"></circle>\\n</svg>\\n\",\n                changeDetection: ChangeDetectionStrategy.OnPush,\n                encapsulation: ViewEncapsulation.None,\n                styles: [\".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\\n\"]\n            }]\n    }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n                type: Optional\n            }, {\n                type: Inject,\n                args: [DOCUMENT]\n            }] }, { type: String, decorators: [{\n                type: Optional\n            }, {\n                type: Inject,\n                args: [ANIMATION_MODULE_TYPE]\n            }] }, { type: undefined, decorators: [{\n                type: Inject,\n                args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS]\n            }] }]; }, { mode: [{\n            type: Input\n        }], diameter: [{\n            type: Input\n        }], strokeWidth: [{\n            type: Input\n        }], value: [{\n            type: Input\n        }] }); })();\n/**\n * `<mat-spinner>` component.\n *\n * This is a component definition to be used as a convenience reference to create an\n * indeterminate `<mat-progress-spinner>` instance.\n */\nclass MatSpinner extends MatProgressSpinner {\n    constructor(elementRef, platform, document, animationMode, defaults) {\n        super(elementRef, platform, document, animationMode, defaults);\n        this.mode = 'indeterminate';\n    }\n}\nMatSpinner.ɵfac = function MatSpinner_Factory(t) { return new (t || MatSpinner)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc1.Platform), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(ANIMATION_MODULE_TYPE, 8), ɵngcc0.ɵɵdirectiveInject(MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS)); };\nMatSpinner.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MatSpinner, selectors: [[\"mat-spinner\"]], hostAttrs: [\"role\", \"progressbar\", \"mode\", \"indeterminate\", 1, \"mat-spinner\", \"mat-progress-spinner\"], hostVars: 6, hostBindings: function MatSpinner_HostBindings(rf, ctx) { if (rf & 2) {\n        ɵngcc0.ɵɵstyleProp(\"width\", ctx.diameter, \"px\")(\"height\", ctx.diameter, \"px\");\n        ɵngcc0.ɵɵclassProp(\"_mat-animation-noopable\", ctx._noopAnimations);\n    } }, inputs: { color: \"color\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature], decls: 3, vars: 8, consts: [[\"preserveAspectRatio\", \"xMidYMid meet\", \"focusable\", \"false\", 3, \"ngSwitch\"], [\"cx\", \"50%\", \"cy\", \"50%\", 3, \"animation-name\", \"stroke-dashoffset\", \"stroke-dasharray\", \"stroke-width\", 4, \"ngSwitchCase\"], [\"cx\", \"50%\", \"cy\", \"50%\", 3, \"stroke-dashoffset\", \"stroke-dasharray\", \"stroke-width\", 4, \"ngSwitchCase\"], [\"cx\", \"50%\", \"cy\", \"50%\"]], template: function MatSpinner_Template(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵnamespaceSVG();\n        ɵngcc0.ɵɵelementStart(0, \"svg\", 0);\n        ɵngcc0.ɵɵtemplate(1, MatSpinner__svg_circle_1_Template, 1, 9, \"circle\", 1);\n        ɵngcc0.ɵɵtemplate(2, MatSpinner__svg_circle_2_Template, 1, 7, \"circle\", 2);\n        ɵngcc0.ɵɵelementEnd();\n    } if (rf & 2) {\n        ɵngcc0.ɵɵstyleProp(\"width\", ctx.diameter, \"px\")(\"height\", ctx.diameter, \"px\");\n        ɵngcc0.ɵɵproperty(\"ngSwitch\", ctx.mode === \"indeterminate\");\n        ɵngcc0.ɵɵattribute(\"viewBox\", ctx._getViewBox());\n        ɵngcc0.ɵɵadvance(1);\n        ɵngcc0.ɵɵproperty(\"ngSwitchCase\", true);\n        ɵngcc0.ɵɵadvance(1);\n        ɵngcc0.ɵɵproperty(\"ngSwitchCase\", false);\n    } }, directives: [ɵngcc2.NgSwitch, ɵngcc2.NgSwitchCase], styles: [_c0], encapsulation: 2, changeDetection: 0 });\nMatSpinner.ctorParameters = () => [\n    { type: ElementRef },\n    { type: Platform },\n    { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n    { type: String, decorators: [{ type: Optional }, { type: Inject, args: [ANIMATION_MODULE_TYPE,] }] },\n    { type: undefined, decorators: [{ type: Inject, args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS,] }] }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatSpinner, [{\n        type: Component,\n        args: [{\n                selector: 'mat-spinner',\n                host: {\n                    'role': 'progressbar',\n                    'mode': 'indeterminate',\n                    'class': 'mat-spinner mat-progress-spinner',\n                    '[class._mat-animation-noopable]': `_noopAnimations`,\n                    '[style.width.px]': 'diameter',\n                    '[style.height.px]': 'diameter'\n                },\n                inputs: ['color'],\n                template: \"<!--\\n  preserveAspectRatio of xMidYMid meet as the center of the viewport is the circle's\\n  center. The center of the circle will remain at the center of the mat-progress-spinner\\n  element containing the SVG. `focusable=\\\"false\\\"` prevents IE from allowing the user to\\n  tab into the SVG element.\\n-->\\n\\n<svg\\n  [style.width.px]=\\\"diameter\\\"\\n  [style.height.px]=\\\"diameter\\\"\\n  [attr.viewBox]=\\\"_getViewBox()\\\"\\n  preserveAspectRatio=\\\"xMidYMid meet\\\"\\n  focusable=\\\"false\\\"\\n  [ngSwitch]=\\\"mode === 'indeterminate'\\\">\\n\\n  <!--\\n    Technically we can reuse the same `circle` element, however Safari has an issue that breaks\\n    the SVG rendering in determinate mode, after switching between indeterminate and determinate.\\n    Using a different element avoids the issue. An alternative to this is adding `display: none`\\n    for a split second and then removing it when switching between modes, but it's hard to know\\n    for how long to hide the element and it can cause the UI to blink.\\n  -->\\n  <circle\\n    *ngSwitchCase=\\\"true\\\"\\n    cx=\\\"50%\\\"\\n    cy=\\\"50%\\\"\\n    [attr.r]=\\\"_getCircleRadius()\\\"\\n    [style.animation-name]=\\\"'mat-progress-spinner-stroke-rotate-' + _spinnerAnimationLabel\\\"\\n    [style.stroke-dashoffset.px]=\\\"_getStrokeDashOffset()\\\"\\n    [style.stroke-dasharray.px]=\\\"_getStrokeCircumference()\\\"\\n    [style.stroke-width.%]=\\\"_getCircleStrokeWidth()\\\"></circle>\\n\\n  <circle\\n    *ngSwitchCase=\\\"false\\\"\\n    cx=\\\"50%\\\"\\n    cy=\\\"50%\\\"\\n    [attr.r]=\\\"_getCircleRadius()\\\"\\n    [style.stroke-dashoffset.px]=\\\"_getStrokeDashOffset()\\\"\\n    [style.stroke-dasharray.px]=\\\"_getStrokeCircumference()\\\"\\n    [style.stroke-width.%]=\\\"_getCircleStrokeWidth()\\\"></circle>\\n</svg>\\n\",\n                changeDetection: ChangeDetectionStrategy.OnPush,\n                encapsulation: ViewEncapsulation.None,\n                styles: [\".mat-progress-spinner{display:block;position:relative}.mat-progress-spinner svg{position:absolute;transform:rotate(-90deg);top:0;left:0;transform-origin:center;overflow:visible}.mat-progress-spinner circle{fill:transparent;transform-origin:center;transition:stroke-dashoffset 225ms linear}._mat-animation-noopable.mat-progress-spinner circle{transition:none;animation:none}.cdk-high-contrast-active .mat-progress-spinner circle{stroke:currentColor}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{animation:mat-progress-spinner-linear-rotate 2000ms linear infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition-property:stroke;animation-duration:4000ms;animation-timing-function:cubic-bezier(0.35, 0, 0.25, 1);animation-iteration-count:infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-animation[mode=indeterminate] circle{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{animation:mat-progress-spinner-stroke-rotate-fallback 10000ms cubic-bezier(0.87, 0.03, 0.33, 1) infinite}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate]{transition:none;animation:none}.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition-property:stroke}._mat-animation-noopable.mat-progress-spinner.mat-progress-spinner-indeterminate-fallback-animation[mode=indeterminate] circle{transition:none;animation:none}@keyframes mat-progress-spinner-linear-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes mat-progress-spinner-stroke-rotate-100{0%{stroke-dashoffset:268.606171575px;transform:rotate(0)}12.5%{stroke-dashoffset:56.5486677px;transform:rotate(0)}12.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(72.5deg)}25%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(72.5deg)}25.0001%{stroke-dashoffset:268.606171575px;transform:rotate(270deg)}37.5%{stroke-dashoffset:56.5486677px;transform:rotate(270deg)}37.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(161.5deg)}50%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(161.5deg)}50.0001%{stroke-dashoffset:268.606171575px;transform:rotate(180deg)}62.5%{stroke-dashoffset:56.5486677px;transform:rotate(180deg)}62.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(251.5deg)}75%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(251.5deg)}75.0001%{stroke-dashoffset:268.606171575px;transform:rotate(90deg)}87.5%{stroke-dashoffset:56.5486677px;transform:rotate(90deg)}87.5001%{stroke-dashoffset:56.5486677px;transform:rotateX(180deg) rotate(341.5deg)}100%{stroke-dashoffset:268.606171575px;transform:rotateX(180deg) rotate(341.5deg)}}@keyframes mat-progress-spinner-stroke-rotate-fallback{0%{transform:rotate(0deg)}25%{transform:rotate(1170deg)}50%{transform:rotate(2340deg)}75%{transform:rotate(3510deg)}100%{transform:rotate(4680deg)}}\\n\"]\n            }]\n    }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc1.Platform }, { type: undefined, decorators: [{\n                type: Optional\n            }, {\n                type: Inject,\n                args: [DOCUMENT]\n            }] }, { type: String, decorators: [{\n                type: Optional\n            }, {\n                type: Inject,\n                args: [ANIMATION_MODULE_TYPE]\n            }] }, { type: undefined, decorators: [{\n                type: Inject,\n                args: [MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS]\n            }] }]; }, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatProgressSpinnerModule {\n}\nMatProgressSpinnerModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: MatProgressSpinnerModule });\nMatProgressSpinnerModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function MatProgressSpinnerModule_Factory(t) { return new (t || MatProgressSpinnerModule)(); }, imports: [[MatCommonModule, CommonModule], MatCommonModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatProgressSpinnerModule, { declarations: function () { return [MatProgressSpinner, MatSpinner]; }, imports: function () { return [MatCommonModule, CommonModule]; }, exports: function () { return [MatProgressSpinner, MatSpinner, MatCommonModule]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatProgressSpinnerModule, [{\n        type: NgModule,\n        args: [{\n                imports: [MatCommonModule, CommonModule],\n                exports: [\n                    MatProgressSpinner,\n                    MatSpinner,\n                    MatCommonModule\n                ],\n                declarations: [\n                    MatProgressSpinner,\n                    MatSpinner\n                ]\n            }]\n    }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS, MAT_PROGRESS_SPINNER_DEFAULT_OPTIONS_FACTORY, MatProgressSpinner, MatProgressSpinnerModule, MatSpinner };\n\n//# sourceMappingURL=progress-spinner.js.map","import {\r\n  Component,\r\n  OnInit,\r\n  TemplateRef,\r\n  Input,\r\n  Output,\r\n  EventEmitter,\r\n} from '@angular/core';\r\nimport { BsModalRef, BsModalService, ModalOptions } from 'ngx-bootstrap/modal';\r\nimport { GetAuctionStep1 } from '../../../../models';\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport constants from '../../../../utility/constants';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LoaderService, LotService, AddLotModel } from '../../../../services';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ExportToCsv } from 'export-to-csv';\r\nimport messages from '../../../../utility/messages';\r\nimport {\r\n  AuctionImageUploadService,\r\n  ImageFile,\r\n} from '../../../../services/auction-image-upload.service';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ImageValidators } from '../../../../core/validators/image-validators';\r\nimport { AuctionTimeService } from '../../../../services/auction-time.service';\r\n\r\n@Component({\r\n  selector: 'lot-listing',\r\n  templateUrl: './lot-listing.component.html',\r\n  styleUrls: ['./lot-listing.component.css'],\r\n})\r\nexport class LotListingComponent implements OnInit {\r\n  @Input() isAdminViewLot: boolean = false;\r\n  @Input() auctionId: number;\r\n  @Input() auctionData: GetAuctionStep1;\r\n  @Output('goToStep') emitStep = new EventEmitter<number>();\r\n  @Output('cancel') onCancelClick = new EventEmitter<boolean>();\r\n  modalRef: BsModalRef;\r\n\r\n  // both needs for add/edit lotForm\r\n  lotAddEditActiveStep: number = 1;\r\n  isIndividualLot: boolean = true;\r\n  bidMaxAmount: number = constants.common.bid.bidMaxAmount;\r\n  currentStep: number = 3;\r\n  stepActive = 1;\r\n  errorLogs: Array<string> = [];\r\n\r\n  displayedColumns: string[] = [\r\n    'lotNo',\r\n    'lotDescription',\r\n    'location',\r\n    'startingPrice',\r\n    'reservePrice',\r\n    'lotEndTime',\r\n    'currentBid',\r\n    'lotButtons',\r\n    'isFeatured',\r\n    'lotAction',\r\n  ];\r\n  displayedColumns2: string[] = ['lotNo', 'lotDes', 'lotLocation', 'lotAction'];\r\n  displayedColumns3: string[] = ['lotNo', 'lotDes', 'lotLocation', 'lotAction'];\r\n\r\n  selectedLotData: any;\r\n\r\n  // for pagination\r\n  pageNumber: number = 1;\r\n  pageSize: number = 50;\r\n  searchTerm: string = '';\r\n  isPaginated: boolean = true;\r\n\r\n  showView: boolean = false;\r\n  totalLots: number;\r\n  lotsData: any;\r\n  lotDeletedMessage: any;\r\n  lotNumber: any;\r\n  lotId: any;\r\n\r\n  publishLoading: boolean = false;\r\n  submitting: boolean = false;\r\n  loading: boolean = false;\r\n\r\n  // IMP for selected lot operations\r\n  currentSelectedLot: any;\r\n\r\n  // for manupulations on opening and reserve prices\r\n  openingAndReservePriceArray: Array<{\r\n    id: number;\r\n    lotType: number;\r\n    openingPrice: string;\r\n    reservePrice: string;\r\n  }> = [];\r\n\r\n  // bulk lot related variables\r\n  allBulkLots: Array<any> = [];\r\n  allLotsOfBulkLot: Array<any> = [];\r\n  bulkLotToBeAddInLot: any;\r\n  bulkLotToBeAddInLotSubmit: boolean = false;\r\n\r\n  // lotform image upload variables and settingg\r\n  readonly lotImageSize: string = constants.admin.uploadSetting.lotMaxSize;\r\n  readonly lotImageFormat: string = constants.admin.uploadSetting.lotType;\r\n  resultantLotImages: Array<ImageFile> = [];\r\n  thumbnailImageString: string = null;\r\n  private uploadedThumbnailImage: ImageFile = null;\r\n  addEditLotImages: ImageFile[] = [];\r\n\r\n  // going to remove the lot, variable stored in this\r\n  removingLotInfo: any;\r\n  removeLotModalRef: BsModalRef;\r\n\r\n  // bulk lot present is boolean\r\n  isBulkLotPresent: boolean = false;\r\n\r\n  isAuctionClosing: boolean;\r\n  private subscriptions: Array<Subscription> = [];\r\n  constructor(\r\n    private lotService: LotService,\r\n    private toastr: ToastrService,\r\n    private modalService: BsModalService,\r\n    private auctionImageUploader: AuctionImageUploadService,\r\n    private loaderService: LoaderService,\r\n    private router: Router,\r\n    private route: ActivatedRoute,\r\n    private auctionTimeService: AuctionTimeService\r\n  ) {}\r\n\r\n  private createAddLotModel(lot: any): AddLotModel {\r\n    let model: AddLotModel = {\r\n      isUpdateAndPublish: true,\r\n      auctionId: lot.auctionId,\r\n      consignor: lot.consigner,\r\n      category: lot.category,\r\n      description: lot.description,\r\n      location: lot.location,\r\n      lotId: lot.id,\r\n      lotNumber: lot.lotNumber,\r\n      lotType: lot.lotType,\r\n      openingPrice: lot.openingPrice,\r\n      reservePrice: lot.reservePrice,\r\n      quantity: lot.quantity,\r\n      lotNumberAfterWhichThisWillBeAdded: lot.lotNumberAfterWhichThisWillBeAdded || 0,\r\n    };\r\n    return model;\r\n  }\r\n\r\n  ngOnInit(): void {\r\n    this.route.fragment.subscribe((frag) => {\r\n      if (frag) this.searchTerm = `#${frag}`;\r\n    });\r\n\r\n    this.isAuctionClosing = this.auctionTimeService.isLotClosingBegun(\r\n      this.auctionData.endDateTimeUtc\r\n    );\r\n\r\n    this.getLots();\r\n  }\r\n\r\n  changeSearchValue(val: Observable<string>) {\r\n    const vals = val.subscribe((value) => {\r\n      this.searchTerm = value;\r\n      this.pageNumber = 1;\r\n      this.getLots();\r\n    });\r\n    this.subscriptions.push(vals);\r\n  }\r\n\r\n  switchModes(event) {\r\n    this.isIndividualLot = event.target.value == 'true';\r\n  }\r\n\r\n  openAddLotModal(template: TemplateRef<any>) {\r\n    this.currentSelectedLot = null;\r\n    let modalOptions: ModalOptions = {\r\n      backdrop: 'static',\r\n      keyboard: false,\r\n      class:\r\n        'custom-popup form-modal add-new-lots modal-dialog modal-dialog-centered',\r\n    };\r\n    this.modalRef = this.modalService.show(template, modalOptions);\r\n  }\r\n\r\n  closeModal() {\r\n    if (this.modalRef) {\r\n      this.modalRef.hide();\r\n      this.currentSelectedLot = null;\r\n      this.lotAddEditActiveStep = 1;\r\n      this.loading = false;\r\n      this.bulkLotToBeAddInLotSubmit = false;\r\n      this.thumbnailImageString = null;\r\n      this.uploadedThumbnailImage = null;\r\n      this.bulkLotToBeAddInLot = null;\r\n      this.addEditLotImages = [];\r\n      this.thumbnailImageControl.reset();\r\n      this.resultantLotImages = [];\r\n      this.errorLogs = [];\r\n      this.getLots();\r\n    }\r\n  }\r\n\r\n  /////// prices change\r\n  changePrices(lot: any, price: string, isReserve: boolean = false) {\r\n    let checkPrice: number = price === '' ? null : +price;\r\n    let lotId: number = lot.id;\r\n\r\n    if (isReserve && lot.reservePrice === checkPrice) return;\r\n\r\n    if (!isReserve && lot.openingPrice === checkPrice) return;\r\n\r\n    let findedElementIndex = this.openingAndReservePriceArray.findIndex(\r\n      (i) => i.id == lotId\r\n    );\r\n\r\n    if (findedElementIndex > -1) {\r\n      let existedElement = this.openingAndReservePriceArray[findedElementIndex];\r\n\r\n      this.openingAndReservePriceArray.splice(findedElementIndex, 1, {\r\n        id: lotId,\r\n        lotType: lot.lotType,\r\n        openingPrice: isReserve ? existedElement.openingPrice : price,\r\n        reservePrice: isReserve ? price : existedElement.reservePrice,\r\n      });\r\n    } else {\r\n      let opening = lot.openingPrice == null ? '' : '' + lot.openingPrice;\r\n      let reserve = lot.reservePrice == null ? '' : '' + lot.reservePrice;\r\n      this.openingAndReservePriceArray.push({\r\n        id: lotId,\r\n        lotType: lot.lotType,\r\n        openingPrice: isReserve ? opening : price,\r\n        reservePrice: isReserve ? price : reserve,\r\n      });\r\n    }\r\n  }\r\n\r\n  savePrices() {\r\n    if (this.openingAndReservePriceArray.length === 0) return;\r\n\r\n    this.loaderService.showLoader(true);\r\n    const mchanges = this.lotService\r\n      .multiplePriceChange(this.auctionId, this.openingAndReservePriceArray)\r\n      .subscribe(\r\n        (res) => {\r\n          this.loaderService.showLoader(false);\r\n          this.openingAndReservePriceArray = [];\r\n          if (res) {\r\n            this.toastr.success('saved Successfully');\r\n            this.getLots();\r\n          }\r\n        },\r\n        () => {\r\n          this.loaderService.showLoader(false);\r\n          this.openingAndReservePriceArray = [];\r\n          this.getLots();\r\n        }\r\n      );\r\n    this.subscriptions.push(mchanges);\r\n  }\r\n\r\n  // paging change + lot listing\r\n  paging() {\r\n    let model = {\r\n      auctionId: this.auctionId,\r\n      pageNumber: this.pageNumber,\r\n      pageSize: this.pageSize,\r\n      isPaginated: this.isPaginated,\r\n      searchTerm: this.searchTerm,\r\n    };\r\n    return model;\r\n  }\r\n\r\n  // get lot listing\r\n  getLots() {\r\n    this.checkBulkLotPresent();\r\n\r\n    if (this.searchTerm == null) {\r\n      this.searchTerm = '';\r\n    }\r\n    this.showView = false;\r\n    this.loaderService.showLoader(true);\r\n    const aucLots = this.lotService.getAuctionLot(this.paging()).subscribe(\r\n      (response: any) => {\r\n        this.lotsData = response.data;\r\n        this.totalLots = response.totalCount;\r\n        this.showView = true;\r\n        this.loaderService.showLoader(false);\r\n      },\r\n      (err) => {\r\n        this.totalLots = 0;\r\n        this.loaderService.showLoader(false);\r\n      }\r\n    );\r\n    this.subscriptions.push(aucLots);\r\n  }\r\n\r\n  onPageChange(page: number) {\r\n    this.pageNumber = page;\r\n    this.getLots();\r\n  }\r\n\r\n  // download csv\r\n  downloadCSV() {\r\n    const dcsv = this.lotService\r\n      .downloadCSV(this.auctionId)\r\n      .subscribe((res: any) => {\r\n        const options = {\r\n          fieldSeparator: ',',\r\n          quoteStrings: '\"',\r\n          decimalSeparator: '.',\r\n          showLabels: true,\r\n          showTitle: true,\r\n          title: 'Lot Catalog',\r\n          useTextFile: false,\r\n          useBom: true,\r\n          useKeysAsHeaders: true,\r\n        };\r\n\r\n        const csvExporter = new ExportToCsv(options);\r\n        csvExporter.generateCsv(res);\r\n      });\r\n    this.subscriptions.push(dcsv);\r\n  }\r\n\r\n  addUpdateLot(lot) {\r\n    let isPublishLot = true;\r\n    this.submitting = true;\r\n\r\n    this.submitting = false;\r\n    if (isPublishLot) this.publishLoading = true;\r\n    else this.loading = true;\r\n\r\n    const clots = this.lotService\r\n      .addUpdateLot(this.createAddLotModel(lot))\r\n      .subscribe(\r\n        (res: any) => {\r\n          if (isPublishLot) this.publishLoading = false;\r\n          else this.loading = false;\r\n        },\r\n        (err) => {\r\n          if (isPublishLot) this.publishLoading = false;\r\n          else this.loading = false;\r\n          this.toastr.error(err, 'Error');\r\n        }\r\n      );\r\n      this.subscriptions.push(clots);\r\n  }\r\n\r\n\r\n  publishLots() {\r\n    this.loaderService.showLoader(true);\r\n    let model = {\r\n      auctionId: this.auctionId,\r\n    };\r\n    this.lotsData.forEach(lot => {\r\n      if (!lot.openingPrice || lot.openingPrice === 0 || !lot.reservePrice || lot.reservePrice === 0) {\r\n        if (lot.openingPrice === null || lot.openingPrice === 0) {\r\n          lot.openingPrice = 1;\r\n        }\r\n        if (lot.reservePrice === null || lot.reservePrice === 0) {\r\n          lot.reservePrice = 1;\r\n        }\r\n        this.addUpdateLot(lot);\r\n      }\r\n    })\r\n    const plots = this.lotService.publishLots(model).subscribe(\r\n      (res: any) => {\r\n        this.toastr.success(\r\n          'Lot Catalog published successfully',\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.loaderService.showLoader(false);\r\n        this.router.navigateByUrl('/admin/dashboard/auction');\r\n      },\r\n      (error) => {\r\n        this.loaderService.showLoader(false);\r\n        this.toastr.error(\r\n          error,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    );\r\n    this.subscriptions.push(plots);\r\n  }\r\n\r\n  // add/edit lot modal but not in use for now\r\n  AddManageLotsModal(AddManageLots?: TemplateRef<any>) {\r\n    this.modalRef = this.modalService.show(\r\n      AddManageLots,\r\n      Object.assign(\r\n        {},\r\n        {\r\n          class:\r\n            'custom-popup AddManageLotsModal form-modal modal-dialog modal-dialog-centered',\r\n        }\r\n      )\r\n    );\r\n  }\r\n\r\n  // manage bulk lot\r\n  manageBulkLotsModal(manageBulkLots: TemplateRef<any>, lotData: any) {\r\n    this.currentSelectedLot = lotData;\r\n    this.getLotsOfBulk();\r\n    this.modalRef = this.modalService.show(manageBulkLots, {\r\n      class:\r\n        'custom-popup manageBulkLotsModal form-modal modal-dialog modal-dialog-centered',\r\n    });\r\n  }\r\n\r\n  private getLotsOfBulk() {\r\n    const blots = this.lotService\r\n      .getLotsForBulkLot(this.currentSelectedLot.id)\r\n      .subscribe(\r\n        (res) => {\r\n          this.allLotsOfBulkLot = res;\r\n        },\r\n        (err) => {\r\n          this.toastr.error(err, 'Error');\r\n          this.closeModal();\r\n        }\r\n      );\r\n    this.subscriptions.push(blots);\r\n  }\r\n\r\n  // remove lots from bulk lot\r\n  openRemoveLotModal(removeTemp: TemplateRef<any>, removeLotData: any) {\r\n    this.removingLotInfo = removeLotData;\r\n    this.removeLotModalRef = this.modalService.show(removeTemp, {\r\n      class: 'modal-dialog modal-dialog-centered',\r\n    });\r\n  }\r\n\r\n  removeLotFromBulkLot(lotData: any, isBulkLotList: boolean = false) {\r\n    this.loaderService.showLoader(true);\r\n    const rlots = this.lotService.removeLotFromBulk(lotData.id).subscribe(\r\n      (res) => {\r\n        this.loaderService.showLoader(false);\r\n        if (res) {\r\n          if (this.removeLotModalRef) this.removeLotModalRef.hide();\r\n          if (isBulkLotList) {\r\n            this.getLotsOfBulk();\r\n          } else {\r\n            this.toastr.success(\r\n              `Lot Remove from Bulk Lot #${lotData.addedInBulkLotName} Successfully`,\r\n              'Success'\r\n            );\r\n            lotData.addedInBulkLotId = 0;\r\n            lotData.addedInBulkLotName = '';\r\n          }\r\n          this.removingLotInfo = null;\r\n        }\r\n      },\r\n      (err) => {\r\n        this.toastr.error(err, 'Error');\r\n        this.loaderService.showLoader(false);\r\n        if (this.removeLotModalRef) this.removeLotModalRef.hide();\r\n      }\r\n    );\r\n    this.subscriptions.push(rlots);\r\n  }\r\n\r\n  // add lot to existing bulk lot modal\r\n  addLotsExistingBulkModal(\r\n    addLotsExistingBulk: TemplateRef<any>,\r\n    lotData: any\r\n  ) {\r\n    this.currentSelectedLot = lotData;\r\n\r\n    const bulklots = this.lotService\r\n      .getAllBulkLots(this.auctionId)\r\n      .subscribe((res) => {\r\n        this.allBulkLots = res;\r\n        this.modalRef = this.modalService.show(addLotsExistingBulk, {\r\n          class:\r\n            'custom-popup manageBulkLotsModal form-modal modal-dialog modal-dialog-centered',\r\n        });\r\n      });\r\n    this.subscriptions.push(bulklots);\r\n  }\r\n\r\n  addBulkLotToLot() {\r\n    this.bulkLotToBeAddInLotSubmit = true;\r\n    if (!this.bulkLotToBeAddInLot) return;\r\n    this.bulkLotToBeAddInLotSubmit = false;\r\n    this.loaderService.showLoader(true);\r\n    const addLots = this.lotService\r\n      .addLotToBulkLot(this.currentSelectedLot.id, this.bulkLotToBeAddInLot.id)\r\n      .subscribe(\r\n        (res) => {\r\n          this.loaderService.showLoader(false);\r\n          if (res) {\r\n            this.toastr.success(\r\n              `Lot #${this.currentSelectedLot.lotNumber} Added in Bulk Lot#${this.bulkLotToBeAddInLot.lotNumber} Successfully`,\r\n              'Success'\r\n            );\r\n            this.currentSelectedLot.addedInBulkLotId =\r\n              this.bulkLotToBeAddInLot.id;\r\n            this.currentSelectedLot.addedInBulkLotName =\r\n              this.bulkLotToBeAddInLot.lotNumber;\r\n            this.closeModal();\r\n          }\r\n        },\r\n        (err) => {\r\n          this.toastr.error(err, 'Error');\r\n          this.loaderService.showLoader(false);\r\n          this.closeModal();\r\n        }\r\n      );\r\n    this.subscriptions.push(addLots);\r\n  }\r\n\r\n  // lot pause resume\r\n  openPauseResumeModal(template3: TemplateRef<any>, currentLot) {\r\n    this.selectedLotData = currentLot;\r\n    let modalOptions: ModalOptions = {\r\n      backdrop: 'static',\r\n      keyboard: false,\r\n      class:\r\n        'custom-popup form-modal add-new-lots modal-dialog modal-dialog-centered',\r\n    };\r\n    this.modalRef = this.modalService.show(template3, modalOptions);\r\n  }\r\n\r\n  pauseResumeBidding() {\r\n    this.loaderService.showLoader(true);\r\n    const pauseBidding = this.lotService\r\n      .pauseResumeBidding(this.selectedLotData.id)\r\n      .subscribe(\r\n        (res) => {\r\n          this.toastr.success(\r\n            `Bidding on lot #${this.selectedLotData.lotNumber} ${\r\n              this.selectedLotData.isBiddingPaused ? 'resumed' : 'paused'\r\n            } successfully`,\r\n            constants.common.toast.successTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.selectedLotData.isBiddingPaused =\r\n            !this.selectedLotData.isBiddingPaused;\r\n          this.loaderService.showLoader(false);\r\n          this.closeModal();\r\n        },\r\n        (err) => {\r\n          this.toastr.error(\r\n            err,\r\n            constants.common.toast.errorTitle,\r\n            constants.common.toast.config\r\n          );\r\n          this.loaderService.showLoader(false);\r\n          this.closeModal();\r\n        }\r\n      );\r\n    this.subscriptions.push(pauseBidding);\r\n  }\r\n\r\n  // lot mark as featured\r\n  markLotAsFeatured(lot: any) {\r\n    const mlots = this.lotService.markLotFeatured(lot.id).subscribe((res) => {\r\n      if (res) {\r\n        lot.isFeatured = !lot.isFeatured;\r\n        this.toastr.success(\r\n          `Lot #${lot.lotNumber} ${\r\n            lot.isFeatured ? 'Marked' : 'Unmarked'\r\n          } as Featured Successfully`\r\n        );\r\n      }\r\n    });\r\n    this.subscriptions.push(mlots);\r\n  }\r\n\r\n  // cancel button\r\n  onCancel() {\r\n    this.onCancelClick.emit(true);\r\n  }\r\n\r\n  // open modal\r\n  openModal(template: TemplateRef<any>, lotData: any) {\r\n    if (this.auctionData.auctionStatus == 1) {\r\n      this.lotDeletedMessage =\r\n        'You are deleting a lot that may have bids in place. Deleting the lot will also delete any existing bids on the lot. Are you sure you want to delete this lot?';\r\n    } else {\r\n      this.lotDeletedMessage = 'Are you sure you want to delete this lot?';\r\n    }\r\n    this.modalRef = this.modalService.show(\r\n      template,\r\n      Object.assign(\r\n        {},\r\n        {\r\n          class: 'custom-popup delete-modal modal-dialog modal-dialog-centered',\r\n        }\r\n      )\r\n    );\r\n    this.lotNumber = lotData.lotNumber;\r\n    this.lotId = lotData.id;\r\n  }\r\n\r\n  // open lot\r\n  openLotModal(template3: TemplateRef<any>, lotData: any) {\r\n    this.currentSelectedLot = lotData;\r\n    this.isIndividualLot = this.currentSelectedLot.lotType == 1;\r\n    let modalOptions: ModalOptions = {\r\n      backdrop: 'static',\r\n      keyboard: false,\r\n      class:\r\n        'custom-popup form-modal add-new-lots modal-dialog modal-dialog-centered',\r\n    };\r\n    this.modalRef = this.modalService.show(template3, modalOptions);\r\n    this.findThumbnailImage();\r\n  }\r\n\r\n  // go to step back\r\n  goToStep(isBack: boolean = false) {\r\n    this.emitStep.emit(!isBack ? this.currentStep + 1 : this.currentStep - 1);\r\n  }\r\n\r\n  // delete lot\r\n  onDelete(id: number) {\r\n    this.loaderService.showLoader(true);\r\n    const dlots = this.lotService.deleteLot(id).subscribe(\r\n      () => {\r\n        this.toastr.success(\r\n          messages.lot.deleted,\r\n          constants.common.toast.successTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.closeModal();\r\n        this.loaderService.showLoader(false);\r\n      },\r\n      (err) => {\r\n        this.toastr.error(\r\n          err,\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n        this.closeModal();\r\n        this.loaderService.showLoader(false);\r\n      }\r\n    );\r\n    this.subscriptions.push(dlots);\r\n  }\r\n\r\n  //// lot add/edit, step1 operations\r\n  // thumbnailImageControl\r\n  thumbnailImageControl = new FormControl(null, [\r\n    ImageValidators.sizeCheck(this.lotImageSize),\r\n    ImageValidators.imageFormat(this.lotImageFormat),\r\n  ]);\r\n\r\n  // switch steps\r\n  switchLotAddEditSteps(stepNum: number) {\r\n    this.lotAddEditActiveStep = stepNum;\r\n    this.findThumbnailImage();\r\n    this.errorLogs = [];\r\n    this.resultantLotImages = [];\r\n    let file = this.getThumbnailImage();\r\n    if (file && typeof file?.name !== 'string') {\r\n      this.thumbnailImageControl.reset();\r\n      this.thumbnailImageString = null;\r\n    }\r\n  }\r\n\r\n  // when step1 of lotForm completed\r\n  lotFormStepCompleted(newlyAddedLotData: any) {\r\n    this.addEditFormDone();\r\n    this.currentSelectedLot = newlyAddedLotData;\r\n    this.switchLotAddEditSteps(2);\r\n  }\r\n\r\n  //// lot image upload, step2 operations\r\n  // identify thumbnail image\r\n\r\n  findThumbnailImage() {\r\n    if (this.currentSelectedLot?.images?.length) {\r\n      if (this.currentSelectedLot?.images[0]) {\r\n        this.uploadedThumbnailImage = this.currentSelectedLot?.images[0];\r\n        this.thumbnailImageString =\r\n          this.currentSelectedLot?.images[0].name + '?' + this.newGuid();\r\n        this.addEditLotImages = this.currentSelectedLot?.images.slice(\r\n          1,\r\n          this.currentSelectedLot?.images.length\r\n        );\r\n      } else {\r\n        this.addEditLotImages = this.currentSelectedLot?.images;\r\n      }\r\n    }\r\n  }\r\n  private newGuid() {\r\n    return new Date().getTime();\r\n  }\r\n\r\n  getThumbnailImage(): ImageFile {\r\n    let file = this.thumbnailImageControl.value;\r\n    if (this.uploadedThumbnailImage && file)\r\n      return { id: this.uploadedThumbnailImage.id, name: file, order: 1 };\r\n    return file ? { id: 0, name: file, order: 1 } : null;\r\n  }\r\n\r\n  // add thumbnail image\r\n  uploadThumbnailImage(files: FileList) {\r\n    let reader = new FileReader();\r\n    this.thumbnailImageString = null;\r\n    let control = this.thumbnailImageControl;\r\n    if (files.length > 0) {\r\n      control.setValue(files[0]);\r\n      control.markAsTouched();\r\n      control.updateValueAndValidity();\r\n      if (control.valid) {\r\n        reader.readAsDataURL(files[0]);\r\n        reader.onload = () => {\r\n          this.thumbnailImageString = reader.result as string;\r\n        };\r\n      } else {\r\n        this.thumbnailImageString = null;\r\n        control.markAsTouched();\r\n      }\r\n    }\r\n  }\r\n\r\n  // when click on step2 save button, images got upload and close modal\r\n  async addEditLotStep2Submit() {\r\n    this.errorLogs = [];\r\n    if (\r\n      !this.thumbnailImageControl.value &&\r\n      this.resultantLotImages.length == 0\r\n    ) {\r\n      this.closeModal();\r\n      return;\r\n    }\r\n\r\n    let thumbnail = this.getThumbnailImage();\r\n    let failedImages = [];\r\n    this.loading = true;\r\n\r\n    if (thumbnail) {\r\n      try {\r\n        await this.auctionImageUploader\r\n          .uploadLotImage(\r\n            this.currentSelectedLot.id,\r\n            thumbnail.id,\r\n            thumbnail.name,\r\n            thumbnail.order\r\n          )\r\n          .toPromise();\r\n      } catch (err) {\r\n        let fileName =\r\n          typeof thumbnail.name === 'string'\r\n            ? thumbnail.name\r\n            : thumbnail.name?.name;\r\n        this.errorLogs.push(`issue for image ${fileName} : ${err}`);\r\n        failedImages.push(err);\r\n      }\r\n    }\r\n\r\n    if (this.resultantLotImages.length) {\r\n      for (let processNum = 1; processNum <= this.resultantLotImages.length; ) {\r\n        let fileProcess = this.resultantLotImages[processNum - 1];\r\n        try {\r\n          await this.auctionImageUploader\r\n            .uploadLotImage(\r\n              this.currentSelectedLot.id,\r\n              fileProcess.id,\r\n              fileProcess.name,\r\n              fileProcess.order + 1\r\n            )\r\n            .toPromise();\r\n        } catch (err) {\r\n          processNum++;\r\n          let fileName =\r\n            typeof fileProcess.name === 'string'\r\n              ? fileProcess.name\r\n              : fileProcess.name.name;\r\n          this.errorLogs.push(`issue for image ${fileName} : ${err}`);\r\n          failedImages.push(err);\r\n          continue;\r\n        }\r\n        processNum++;\r\n      }\r\n      if (failedImages && failedImages.length > 0) {\r\n        this.toastr.error(\r\n          'Error(s) occured while uploading images, please see logs',\r\n          constants.common.toast.errorTitle,\r\n          constants.common.toast.config\r\n        );\r\n      }\r\n    }\r\n    this.loading = false;\r\n    if (this.errorLogs && this.errorLogs.length === 0) {\r\n      this.addEditFormDone();\r\n      this.closeModal();\r\n    }\r\n  }\r\n\r\n  private addEditFormDone() {\r\n    this.toastr.success(\r\n      `${this.isIndividualLot ? 'Piecemeal' : 'Bulk'} Lot ${\r\n        this.currentSelectedLot ? 'Updated' : 'Added'\r\n      } Successfully`,\r\n      'Success'\r\n    );\r\n  }\r\n\r\n  //// check bulk lot present in it or not\r\n  private checkBulkLotPresent() {\r\n    this.isBulkLotPresent = false;\r\n    const lotpresent = this.lotService\r\n      .isAnyBulkLotPresent(this.auctionId)\r\n      .subscribe((res) => (this.isBulkLotPresent = res));\r\n    this.subscriptions.push(lotpresent);\r\n  }\r\n\r\n  ngOnDestroy() {\r\n    this.subscriptions.forEach((sub: Subscription) => {\r\n      sub.unsubscribe();\r\n    });\r\n  }\r\n}\r\n","<app-auction-announcement class=\"col-12\" [auctionId]=\"auctionId\" [auction]=\"auctionData\">\r\n</app-auction-announcement>\r\n\r\n<div class=\"col-12 manage-lot-wrapper\">\r\n  <div class=\"row\" *ngIf=\"totalLots\">\r\n    <div class=\"col-12\">\r\n      <div class=\"manage-lot-hdg mb-3 mt-0 mt-md-2\">\r\n        <h1 class=\"hdg m-0\">Manage Lots ({{ totalLots }} Lots)</h1>\r\n      </div>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"row filter-wrap\">\r\n    <div class=\"col-md-6\">\r\n      <search-control [placeholder]=\"'Search by lot # or description'\" [initialValue]=\"searchTerm\"\r\n        [classes]=\"'colored-search-border'\" (value)=\"changeSearchValue($event)\">\r\n      </search-control>\r\n    </div>\r\n    <div class=\"col-md-6 text-right\">\r\n      <button class=\"btn btn-white-border mb-2\" type=\"button\" role=\"button\" (click)=\"savePrices()\">\r\n        Save\r\n      </button>\r\n\r\n      <button class=\"btn btn-white-border ml-2 mb-2\" type=\"button\" role=\"button\" (click)=\"downloadCSV()\">\r\n        Download Lot Catalog\r\n      </button>\r\n\r\n      <button class=\"btn btn-colored ml-2 mb-2\" type=\"button\" role=\"button\" (click)=\"openAddLotModal(addLotModal)\">\r\n        + Add New Lot\r\n      </button>\r\n    </div>\r\n  </div>\r\n\r\n  <div class=\"row\">\r\n    <div class=\"col-12\">\r\n      <div class=\"empty-state-container\" *ngIf=\"totalLots <= 0; else showTable\">\r\n        <div class=\"empty-state-content\">\r\n          <img alt=\"empty\" src=\"../../../../assets/images/empty-state-icon.svg\" />\r\n          <h3 class=\"_heading\">No results found</h3>\r\n        </div>\r\n      </div>\r\n      <ng-template #showTable>\r\n        <div class=\"data-table-wrap w-100\">\r\n          <div [ngClass]=\"{\r\n              'disable-event': this.openingAndReservePriceArray.length > 0\r\n            }\">\r\n            <p *ngIf=\"this.openingAndReservePriceArray.length > 0\">\r\n              You left with some changes, save them first please\r\n            </p>\r\n            <app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\"\r\n              (page)=\"onPageChange($event)\" *ngIf=\"totalLots > pageSize\">\r\n            </app-paginator>\r\n          </div>\r\n\r\n          <table aria-label=\"lotsTable\" mat-table [dataSource]=\"\r\n              lotsData\r\n                | paginate\r\n                  : {\r\n                      id: 'server',\r\n                      itemsPerPage: pageSize,\r\n                      currentPage: pageNumber,\r\n                      totalItems: totalLots\r\n                    }\r\n            \" class=\"mat-elevation-z8 w-100 table-with-border manage-lots-table\">\r\n            <ng-container matColumnDef=\"lotNo\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>No.</th>\r\n              <td mat-cell class=\"column-1 listing-data-entry table-with-row-header\" *matCellDef=\"let element\">\r\n                <span class=\"td-header\">Lot #</span> {{ element?.lotNumber }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"lotDescription\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>Name</th>\r\n              <td mat-cell #tooltip=\"matTooltip\" matTooltip=\"{{ element?.description }}\"\r\n                class=\"column-2 listing-data-entry table-with-row-header yellow-bg\" *matCellDef=\"let element\">\r\n                <span class=\"td-header\">Lot Description</span>\r\n                {{ element?.description | characterLimit: 50 }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"location\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>Weight</th>\r\n              <td mat-cell *matCellDef=\"let element\" class=\"column-3 listing-data-entry table-with-row-header\">\r\n                <span class=\"td-header\">Location</span> {{ element?.location }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"startingPrice\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n              <td mat-cell *matCellDef=\"let element\"\r\n                class=\"column-4 listing-data-entry table-with-row-header yellow-bg\">\r\n                <span class=\"td-header\">Starting Price</span>\r\n                <input class=\"form-control\" type=\"number\" [id]=\"element?.lotNumber\" min=\"0\" [max]=\"bidMaxAmount\"\r\n                  [value]=\"element?.openingPrice\" (change)=\"changePrices(element, $event.target.value, false)\" />\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"reservePrice\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>\r\n                Reserve Price\r\n              </th>\r\n              <td mat-cell *matCellDef=\"let element\" class=\"column-5 listing-data-entry table-with-row-header\">\r\n                <ng-container *ngIf=\"element.lotType == 1\">\r\n                  <span class=\"td-header\">Reserve Price</span>\r\n                  <input class=\"form-control\" type=\"number\" [id]=\"element?.lotNumber\" min=\"0\" [max]=\"bidMaxAmount\"\r\n                    [value]=\"element?.reservePrice\" [disabled]=\"element.addedInBulkLotId\"\r\n                    (change)=\"changePrices(element, $event.target.value, true)\" />\r\n                </ng-container>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"lotEndTime\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n              <td mat-cell *matCellDef=\"let element\"\r\n                class=\"column-6 listing-data-entry table-with-row-header yellow-bg\">\r\n                <span class=\"td-header\">Lot End Time</span>\r\n                {{\r\n                element?.lotEndTime\r\n                | toLocalDateTime: false:element?.timeZoneName\r\n                }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"currentBid\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n              <td mat-cell *matCellDef=\"let element\" class=\"column-7 listing-data-entry table-with-row-header\">\r\n                <span class=\"td-header\">Current Bid</span>\r\n                {{\r\n                element?.currentBid == null\r\n                ? \"-\"\r\n                : (element?.currentBid\r\n                | auctionCurrency: auctionData?.currencyName)\r\n                }}\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"isFeatured\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>Featured</th>\r\n              <td mat-cell *matCellDef=\"let element\"\r\n                class=\"column-8 listing-data-entry table-with-row-header yellow-bg\">\r\n                <ng-container *ngIf=\"element.lotType == 1\">\r\n                  <span class=\"td-header\">Featured</span>\r\n                  {{ element.isFeatured ? \"Yes\" : \"No\" }}\r\n                </ng-container>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"lotButtons\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n              <td mat-cell *matCellDef=\"let element\" class=\"column-10 listing-data-entry table-with-row-header\">\r\n                <ng-container *ngIf=\"element.lotType == 1\">\r\n                  <span class=\"td-header\">Bulk Lot</span>\r\n                  {{ element.addedInBulkLotName | isEmpty }}\r\n                </ng-container>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <ng-container matColumnDef=\"lotAction\">\r\n              <th scope=\"col\" mat-header-cell *matHeaderCellDef>Symbol</th>\r\n              <td mat-cell *matCellDef=\"let element\" class=\"column-11\">\r\n                <div class=\"for-icons\">\r\n                  <a *ngIf=\"!element.isBiddingPaused\"\r\n                    class=\"hover-icon pauseBiddingIcon mr-1 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n                    [matTooltip]=\"'Pause Bidding'\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n                    role=\"button\" (click)=\"openPauseResumeModal(pauseResumeModal, element)\"></a>\r\n\r\n                  <a *ngIf=\"element.isBiddingPaused\"\r\n                    class=\"hover-icon resumeBiddingIcon mr-1 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n                    [matTooltip]=\"'Resume Bidding'\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n                    role=\"button\" (click)=\"openPauseResumeModal(pauseResumeModal, element)\"></a>\r\n\r\n                  <a class=\"hover-icon edit-icon mr-1 custom-tooltip custom-tooltip2\" #tooltip=\"matTooltip\"\r\n                    [matTooltip]=\"'Edit'\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n                    role=\"button\" (click)=\"openLotModal(addLotModal, element)\"></a>\r\n\r\n                  <p class=\"hover-icon custom-tooltip custom-tooltip2 m-0 delete-icon\" #tooltip=\"matTooltip\"\r\n                    matTooltip=\"Delete\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\"\r\n                    role=\"button\" (click)=\"openModal(deleteModal, element)\"></p>\r\n                </div>\r\n\r\n                <div class=\"custom-dropdown align-self-center\">\r\n                  <button class=\"no-bg-btn hover-icon\" mat-icon-button [matMenuTriggerFor]=\"listingMenu\">\r\n                    <mat-icon>more_vert</mat-icon>\r\n                  </button>\r\n                  <mat-menu #listingMenu=\"matMenu\">\r\n                    <div class=\"custom-dropdown\">\r\n                      <button mat-menu-item [class]=\"\r\n                          element?.images == null ||\r\n                          element?.images?.length == 0\r\n                            ? 'd-none'\r\n                            : ''\r\n                        \" type=\"button\" [title]=\"\r\n                          element?.images == null ||\r\n                          element?.images?.length == 0\r\n                            ? 'No images added yet'\r\n                            : ''\r\n                        \" [disabled]=\"\r\n                          element?.images == null ||\r\n                          element?.images?.length == 0\r\n                        \" imagePreview [thumbnailImages]=\"element?.thumbnailImages\" [actualImages]=\"element?.images\"\r\n                        [header]=\"'Lot Images'\" [lotData]=\"{\r\n                          lotNumber: element?.lotNumber,\r\n                          lotDesc: element?.lotDescription\r\n                        }\">\r\n                        View Lot Images\r\n                      </button>\r\n\r\n                      <ng-container *ngIf=\"element.lotType == 1\">\r\n                        <button mat-menu-item type=\"button\" role=\"button\" (click)=\"markLotAsFeatured(element)\">\r\n                          {{ element.isFeatured ? \"Unmark\" : \"Mark\" }} Lot as\r\n                          Featured\r\n                        </button>\r\n                        <ng-container *ngIf=\"!isAuctionClosing && isBulkLotPresent\">\r\n                          <button mat-menu-item *ngIf=\"!element.addedInBulkLotId\" type=\"button\" role=\"button\" (click)=\"\r\n                              addLotsExistingBulkModal(\r\n                                addLotsExistingBulk,\r\n                                element\r\n                              )\r\n                            \">\r\n                            Add to Existing Bulk Lot\r\n                          </button>\r\n                        </ng-container>\r\n                        <ng-container *ngIf=\"!isAuctionClosing\">\r\n                          <button mat-menu-item *ngIf=\"element.addedInBulkLotId\" type=\"button\" role=\"button\"\r\n                            (click)=\"removeLotFromBulkLot(element)\">\r\n                            Remove from Bulk Lot\r\n                          </button>\r\n                        </ng-container>\r\n                      </ng-container>\r\n\r\n                      <ng-container *ngIf=\"element.lotType == 2\">\r\n                        <button mat-menu-item type=\"button\" role=\"button\"\r\n                          (click)=\"manageBulkLotsModal(manageBulkLots, element)\">\r\n                          Manage Lots\r\n                        </button>\r\n                      </ng-container>\r\n                    </div>\r\n                  </mat-menu>\r\n                </div>\r\n              </td>\r\n            </ng-container>\r\n\r\n            <tr mat-row *matRowDef=\"let row; columns: displayedColumns\"></tr>\r\n          </table>\r\n\r\n          <div [ngClass]=\"{\r\n              'disable-event': this.openingAndReservePriceArray.length > 0\r\n            }\">\r\n            <p *ngIf=\"this.openingAndReservePriceArray.length > 0\">\r\n              You left with some changes, save them first please\r\n            </p>\r\n            <app-paginator [paginationId]=\"'server'\" [currentPage]=\"pageNumber\" [pageSize]=\"pageSize\"\r\n              (page)=\"onPageChange($event)\" *ngIf=\"totalLots > pageSize\">\r\n            </app-paginator>\r\n          </div>\r\n        </div>\r\n      </ng-template>\r\n\r\n      <div class=\"lot-btns lot-step1-btns mt-3 sticky-actions-group\">\r\n        <button class=\"btn btn-white-border mr-2 mb-2 min-110\" role=\"button\" (click)=\"onCancel()\"\r\n          *ngIf=\"!isAdminViewLot\">\r\n          Cancel\r\n        </button>\r\n        <button class=\"btn btn-white-border mr-2 mb-2 min-110\" role=\"button\" (click)=\"goToStep(true)\"\r\n          *ngIf=\"!isAdminViewLot\">\r\n          Back\r\n        </button>\r\n        <button class=\"btn btn-colored mb-2\" [disabled]=\"lotsData?.length == 0\" role=\"button\" (click)=\"publishLots()\">\r\n          Publish & Close\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</div>\r\n\r\n<ng-template #deleteModal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"modalRef.hide()\">\r\n      <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n\r\n  <div class=\"modal-body\">\r\n    <div class=\"delete-data\">\r\n      <img alt=\"delete\" src=\"../assets/images/delete-icon.svg\" class=\"delete-icon\" />\r\n      <h1 class=\"modal-inner-hdg mt-3 mb-0\">Delete Lot</h1>\r\n      <p class=\"des\">{{ lotDeletedMessage }}</p>\r\n      <div class=\"delete-btns\">\r\n        <button class=\"btn btn-text mr-3\" role=\"button\" (click)=\"modalRef.hide()\">\r\n          Cancel\r\n        </button>\r\n\r\n        <button class=\"btn btn-colored\" role=\"button\" (click)=\"onDelete(lotId)\">\r\n          Yes, Delete\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #pauseResumeModal>\r\n  <div class=\"modal-header\">\r\n    <h4 class=\"modal-title pull-left\"></h4>\r\n    <button type=\"button\" class=\"close pull-right p-0 m-0\" aria-label=\"Close\" role=\"button\" (click)=\"closeModal()\">\r\n      <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n\r\n  <div class=\"modal-body\">\r\n    <div class=\"delete-data\">\r\n      <h1 class=\"modal-inner-hdg mt-3 mb-0\">\r\n        {{ selectedLotData.isBiddingPaused ? \"Resume\" : \"Pause\" }} Bidding\r\n      </h1>\r\n      <p class=\"des\">\r\n        Are you sure you want to\r\n        {{ selectedLotData.isBiddingPaused ? \"resume\" : \"pause\" }} bidding on\r\n        the lot #{{ selectedLotData.lotNumber }}?\r\n      </p>\r\n      <div class=\"delete-btns\">\r\n        <button class=\"btn btn-text mr-3\" role=\"button\" (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n\r\n        <button class=\"btn btn-colored\" role=\"button\" (click)=\"pauseResumeBidding()\">\r\n          Yes\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #addLotModal>\r\n  <div class=\"modal-header align-items-start\">\r\n    <h4 class=\"modal-title pull-left\">\r\n      {{ !currentSelectedLot ? \"Add New\" : \"Update\" }} Lot\r\n    </h4>\r\n    <button type=\"button\" class=\"close pull-right circle-icon tr-0 p-0 m-0\" aria-label=\"Close\" role=\"button\"\r\n      (click)=\"closeModal()\">\r\n      <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n\r\n  <div class=\"modal-body pt-0\">\r\n    <div class=\"list-filter-tabs manageLotTabs mb-3\" [ngClass]=\"{\r\n        'disable-event': !currentSelectedLot\r\n      }\">\r\n      <button class=\"list-tab\" [ngClass]=\"{\r\n          active: lotAddEditActiveStep == 1\r\n        }\" role=\"button\" (click)=\"switchLotAddEditSteps(1)\">\r\n        <span class=\"step-name\">Lot Details</span>\r\n      </button>\r\n\r\n      <button class=\"list-tab\" [ngClass]=\"{\r\n          active: lotAddEditActiveStep == 2\r\n        }\" role=\"button\" (click)=\"switchLotAddEditSteps(2)\">\r\n        <span class=\"step-name\">Lot Images</span>\r\n      </button>\r\n    </div>\r\n\r\n    <div *ngIf=\"lotAddEditActiveStep == 1\">\r\n      <app-lot-form [auctionId]=\"auctionId\" [lotId]=\"currentSelectedLot?.id\" [auctionData]=\"auctionData\"\r\n        (lotFormStep1Completed)=\"lotFormStepCompleted($event)\" *ngIf=\"isIndividualLot\">\r\n        <!-- *IMP, do not remove the class closeModalButton, it is for content projection -->\r\n        <button type=\"button\" class=\"btn btn-white-border font-15 closeModalButton\" role=\"button\"\r\n          (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n      </app-lot-form>\r\n      <app-bulk-lot-form [auctionId]=\"auctionId\" [lotId]=\"currentSelectedLot?.id\" [auctionData]=\"auctionData\"\r\n        (lotFormStep1Completed)=\"lotFormStepCompleted($event)\" *ngIf=\"!isIndividualLot\">\r\n        <!-- *IMP, do not remove the class lotType, it is for content projection -->\r\n        <div class=\"col-md-12 lotType\" *ngIf=\"!currentSelectedLot\">\r\n          <div class=\"form-group mb-2\">\r\n            <label class=\"form-label\">Lot Type</label>\r\n            <div class=\"d-flex for-mobile-radio for-mobile-wrap\">\r\n              <div class=\"form-group custom-radio radio-green mr-4 pr-3 mb-1\">\r\n                <input type=\"radio\" name=\"status\" value=\"false\" [checked]=\"!isIndividualLot\"\r\n                  (change)=\"switchModes($event)\" id=\"1\" />\r\n                <label for=\"1\">Bulk Lot</label>\r\n              </div>\r\n              <div class=\"form-group custom-radio radio-green mr-4 pr-3 mb-1\">\r\n                <input type=\"radio\" name=\"status\" value=\"true\" [checked]=\"isIndividualLot\"\r\n                  (change)=\"switchModes($event)\" id=\"2\" />\r\n                <label for=\"2\">Individual Lot</label>\r\n              </div>\r\n            </div>\r\n          </div>\r\n        </div>\r\n        <!-- *IMP, do not remove the class closeModalButton, it is for content projection -->\r\n        <button type=\"button\" class=\"btn btn-white-border font-15 closeModalButton\" role=\"button\"\r\n          (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n      </app-bulk-lot-form>\r\n    </div>\r\n\r\n    <div *ngIf=\"lotAddEditActiveStep == 2\">\r\n      <div class=\"row\">\r\n        <div class=\"col-12\">\r\n          <p class=\"small-label mb-3\">Thumbnail Image</p>\r\n          <p class=\"upload-note m-0 pb-2\">\r\n            image should be greater than 256 Pixel X 256 pixel\r\n          </p>\r\n          <div class=\"upload-with-name\">\r\n            <div class=\"custom-file-upload\">\r\n              <span class=\"upload-inner\">\r\n                <div *ngIf=\"thumbnailImageString != null; else showPlaceholder\">\r\n                  <img alt=\"thumb-image\" class=\"thumb-image\" width=\"150\" [src]=\"thumbnailImageString\" />\r\n                </div>\r\n                <ng-template #showPlaceholder>\r\n                  <img class=\"thumb-image\" src=\"../assets/images/thumbnail-square.jpg\" title=\"thumb-image\"\r\n                    alt=\"thumb-image\" />\r\n                </ng-template>\r\n                <img src=\"../assets/images/ic-upload-photo.svg\" class=\"upload-btn\" alt=\"upload-btn\" role=\"button\"\r\n                  (click)=\"cover.click()\" />\r\n              </span>\r\n              <input type=\"file\" style=\"display: none\" [accept]=\"lotImageFormat\" #cover\r\n                (change)=\"uploadThumbnailImage($event.target.files)\" />\r\n            </div>\r\n            <div class=\"for-info\">\r\n              <p class=\"upload-note m-0\">\r\n                Recommended Size : <br class=\"d-sm-none\" />\r\n                1024 * 720 px <br />\r\n                <br class=\"d-sm-none\" />\r\n                File size should not exceed\r\n                {{ +lotImageSize / (1024 * 1024) }} MB\r\n              </p>\r\n              <control-messages [control]=\"thumbnailImageControl\"></control-messages>\r\n            </div>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"col-12\">\r\n          <p class=\"small-label mb-3\">Lot Images</p>\r\n          <p class=\"upload-note m-0 pb-2\">\r\n            image should be greater than 256 Pixel X 256 pixel\r\n          </p>\r\n          <image-uploader [lotId]=\"currentSelectedLot?.id\" [imageSize]=\"+lotImageSize\" [imageFormat]=\"lotImageFormat\"\r\n            [uploadedImages]=\"addEditLotImages\" [orderChangeNeeded]=\"true\"\r\n            (resultantImages)=\"resultantLotImages = $event\" [errorLogs]=\"errorLogs\"></image-uploader>\r\n        </div>\r\n      </div>\r\n\r\n      <div class=\"image-popup-wrap pt-2 mt-2\">\r\n        <button type=\"button\" class=\"btn btn-white-border font-15 mr-2\" role=\"button\" (click)=\"closeModal()\">\r\n          Cancel\r\n        </button>\r\n        <button type=\"submit\" class=\"btn btn-colored font-15\" [disabled]=\"loading\" role=\"button\"\r\n          (click)=\"addEditLotStep2Submit()\">\r\n          <span *ngIf=\"loading\" class=\"spinner-border spinner-border-sm mr-1\"></span>Save & Close\r\n        </button>\r\n      </div>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #manageBulkLots>\r\n  <div class=\"modal-header align-items-start\">\r\n    <h4 class=\"modal-title pull-left\">Manage Lots For Bulk Lot</h4>\r\n    <button type=\"button\" class=\"close pull-right circle-icon tr-0 p-0 m-0\" aria-label=\"Close\" role=\"button\"\r\n      (click)=\"closeModal()\">\r\n      <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n\r\n  <div class=\"modal-body pt-1 plMob20\">\r\n    <div class=\"modalAlertWrapper\">\r\n      <div class=\"leftWrapAlert\">\r\n        <h4 class=\"name\">Lot #</h4>\r\n        <p class=\"des\">{{ currentSelectedLot?.lotNumber }}</p>\r\n      </div>\r\n      <div class=\"rightWrapAlert\">\r\n        <h4 class=\"name\">Lot Description</h4>\r\n        <p class=\"des\">{{ currentSelectedLot?.description }}</p>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"data-table-wrap w-100\">\r\n      <table aria-label=\"table\" mat-table [dataSource]=\"allLotsOfBulkLot\"\r\n        class=\"mat-elevation-z8 w-100 table-with-border manageBulkLotsTable\">\r\n        <ng-container matColumnDef=\"lotNo\">\r\n          <th scope=\"col\" mat-header-cell *matHeaderCellDef>Lot #</th>\r\n          <td mat-cell *matCellDef=\"let element\" class=\"column-1 listing-data-entry table-with-row-header\">\r\n            <span class=\"td-header\">Lot #</span> {{ element.lotNumber }}\r\n          </td>\r\n        </ng-container>\r\n\r\n        <ng-container matColumnDef=\"lotDes\">\r\n          <th scope=\"col\" mat-header-cell *matHeaderCellDef>Lot Description</th>\r\n          <td mat-cell *matCellDef=\"let element\" class=\"column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n            <span class=\"td-header\">Lot Description</span>\r\n            <p class=\"m-0 forPadText\">{{ element.description }}</p>\r\n          </td>\r\n        </ng-container>\r\n\r\n        <ng-container matColumnDef=\"lotLocation\">\r\n          <th scope=\"col\" mat-header-cell *matHeaderCellDef>Location</th>\r\n          <td mat-cell *matCellDef=\"let element\" class=\"column-3 listing-data-entry table-with-row-header\">\r\n            <span class=\"td-header\">Location</span> {{ element.location }}\r\n          </td>\r\n        </ng-container>\r\n\r\n        <ng-container matColumnDef=\"lotAction\">\r\n          <th scope=\"col\" mat-header-cell *matHeaderCellDef></th>\r\n          <td mat-cell *matCellDef=\"let element\" class=\"column-4 listing-data-entry table-with-row-header\">\r\n            <span class=\"td-header\"> </span>\r\n            <div class=\"for-icons justify-content-end\">\r\n              <p class=\"hover-icon custom-tooltip custom-tooltip2 m-0 delete-icon\" #tooltip=\"matTooltip\"\r\n                matTooltip=\"Delete\" matTooltipClass=\"custom-tooltip-icon\" [matTooltipPosition]=\"'above'\" role=\"button\"\r\n                (click)=\"openRemoveLotModal(removeLotFromBulkTemp, element)\"></p>\r\n            </div>\r\n          </td>\r\n        </ng-container>\r\n        <tr mat-row *matRowDef=\"let row; columns: displayedColumns2\"></tr>\r\n      </table>\r\n    </div>\r\n\r\n    <div class=\"pt-3 text-center\">\r\n      <button type=\"button\" class=\"btn btn-white-border font-15 mr-2 min-100\" role=\"button\" (click)=\"closeModal()\">\r\n        Close\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #addLotsExistingBulk>\r\n  <div class=\"modal-header align-items-start\">\r\n    <h4 class=\"modal-title pull-left\">Add Lot to Existing Bulk Lot</h4>\r\n    <button type=\"button\" class=\"close pull-right circle-icon tr-0 p-0 m-0\" aria-label=\"Close\" role=\"button\"\r\n      (click)=\"closeModal()\">\r\n      <img alt=\"cross\" src=\"../assets/images/cross.svg\" />\r\n    </button>\r\n  </div>\r\n\r\n  <div class=\"modal-body pt-1 plMob20\">\r\n    <div class=\"modalAlertWrapper\">\r\n      <div class=\"leftWrapAlert\">\r\n        <h4 class=\"name\">Lot #</h4>\r\n        <p class=\"des\">{{ currentSelectedLot?.lotNumber }}</p>\r\n      </div>\r\n      <div class=\"rightWrapAlert\">\r\n        <h4 class=\"name\">Lot Description</h4>\r\n        <p class=\"des\">{{ currentSelectedLot?.description }}</p>\r\n      </div>\r\n    </div>\r\n\r\n    <div class=\"data-table-wrap w-100\">\r\n      <table aria-label=\"table\" mat-table [dataSource]=\"allBulkLots\"\r\n        class=\"mat-elevation-z8 w-100 table-with-border addLotsExistingBulkTable\">\r\n        <ng-container matColumnDef=\"lotNo\">\r\n          <th scope=\"col\" mat-header-cell *matHeaderCellDef></th>\r\n          <td mat-cell *matCellDef=\"let element\" class=\"column-1 listing-data-entry table-with-row-header\">\r\n            <div class=\"form-group custom-radio radio-green m-0\">\r\n              <input type=\"radio\" name=\"status\" id=\"lotRow\" role=\"button\" (click)=\"bulkLotToBeAddInLot = element\" />\r\n              <label for=\"lotRow\" class=\"m-0\">&nbsp;</label>\r\n            </div>\r\n          </td>\r\n        </ng-container>\r\n\r\n        <ng-container matColumnDef=\"lotDes\">\r\n          <th scope=\"col\" mat-header-cell *matHeaderCellDef>Lot #</th>\r\n          <td mat-cell *matCellDef=\"let element\" class=\"column-2 listing-data-entry table-with-row-header yellow-bg\">\r\n            <span class=\"td-header\">Lot #</span> {{ element.lotNumber }}\r\n          </td>\r\n        </ng-container>\r\n\r\n        <ng-container matColumnDef=\"lotLocation\">\r\n          <th scope=\"col\" mat-header-cell *matHeaderCellDef>Description</th>\r\n          <td mat-cell *matCellDef=\"let element\" class=\"column-3 listing-data-entry table-with-row-header\">\r\n            <span class=\"td-header\">Lot Description</span>\r\n            <p class=\"m-0 forPadText\">{{ element.description }}</p>\r\n          </td>\r\n        </ng-container>\r\n\r\n        <ng-container matColumnDef=\"lotAction\">\r\n          <th scope=\"col\" mat-header-cell *matHeaderCellDef>Location</th>\r\n          <td mat-cell *matCellDef=\"let element\" class=\"column-4 listing-data-entry table-with-row-header yellow-bg\">\r\n            <span class=\"td-header\">Location</span> {{ element.location }}\r\n          </td>\r\n        </ng-container>\r\n\r\n        <tr mat-row *matRowDef=\"let row; columns: displayedColumns3\"></tr>\r\n      </table>\r\n    </div>\r\n\r\n    <p class=\"error-msg\" *ngIf=\"!bulkLotToBeAddInLot && bulkLotToBeAddInLotSubmit\">\r\n      please select a bulk lot first\r\n    </p>\r\n\r\n    <div class=\"pt-3 pb-0 pb-md-3\">\r\n      <button type=\"button\" class=\"btn btn-white-border font-15 mr-2 min-100\" role=\"button\" (click)=\"closeModal()\">\r\n        Cancel\r\n      </button>\r\n      <button type=\"submit\" class=\"btn btn-colored font-15 min-130\"\r\n        [disabled]=\"!bulkLotToBeAddInLot && bulkLotToBeAddInLotSubmit\" role=\"button\" (click)=\"addBulkLotToLot()\">\r\n        Save & Add\r\n      </button>\r\n    </div>\r\n  </div>\r\n</ng-template>\r\n\r\n<ng-template #removeLotFromBulkTemp>\r\n  <div class=\"red-alert modal-body text-center\">\r\n    <p>\r\n      Are you sure you want to remove lot #{{ removingLotInfo?.lotNumber }} from\r\n      Bulk Bid Lot #{{ currentSelectedLot?.lotNumber }}?\r\n    </p>\r\n    <button type=\"button\" class=\"btn btn-sm btn-colored font-15 min-130 mr-2\" role=\"button\"\r\n      (click)=\"removeLotFromBulkLot(removingLotInfo, true)\">\r\n      Ok\r\n    </button>\r\n    <button type=\"button\" class=\"btn btn-sm btn-white-border font-15 min-100\" role=\"button\"\r\n      (click)=\"removeLotModalRef.hide()\">\r\n      Cancel\r\n    </button>\r\n  </div>\r\n</ng-template>\r\n","import { ValidatorFn, AbstractControl, ValidationErrors } from '@angular/forms';\r\n\r\nexport class TextFileValidators {\r\n\r\n    public static textFormat(fileType: string): ValidatorFn {\r\n        return (control: AbstractControl): ValidationErrors | null => {\r\n            let file: any = control.value;\r\n            if (file === null) return null;\r\n            let formats = fileType.split(',');\r\n            if (formats.find((i) => i == file.type) == undefined)\r\n                return {\r\n                    invalidFileType: {\r\n                        invalidFileType: true,\r\n                        requiredType: fileType.split('text/').join(''),\r\n                    },\r\n                };\r\n            return null;\r\n        };\r\n    }\r\n\r\n    public static textExtension(fileType: string): ValidatorFn {\r\n        return (control: AbstractControl): ValidationErrors | null => {\r\n            let file: any = control.value;\r\n            if (file === null) return null;\r\n            if (typeof file == 'string') return null;\r\n            return !(file.name.split('.')[1].toLowerCase() === fileType) ? {\r\n                invalidFileExtension: {\r\n                    invalidFileExtension: true,\r\n                    requiredType: '.' + fileType,\r\n                },\r\n            } : null;\r\n        };\r\n    }\r\n\r\n    public static sizeCheck(fileSize: string): ValidatorFn {\r\n        return (control: AbstractControl): ValidationErrors | null => {\r\n            let file: any = control.value;\r\n            if (typeof file == 'string') return null;\r\n            if (file != null) {\r\n                if (+file.size > +fileSize)\r\n                    //in MB\r\n                    return {\r\n                        invalidFileSize: {\r\n                            invalidFileSize: true,\r\n                            requiredSize: +fileSize,\r\n                        },\r\n                    };\r\n            }\r\n            return null;\r\n        };\r\n    }\r\n}","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { InjectionToken, EventEmitter, Directive, ChangeDetectorRef, ElementRef, Inject, ViewChild, TemplateRef, Input, Output, Component, ViewEncapsulation, ChangeDetectionStrategy, ContentChildren, forwardRef, ViewContainerRef, NgZone, Optional, Host, NgModule } from '@angular/core';\nimport { mixinDisableRipple, MAT_OPTION_PARENT_COMPONENT, MAT_OPTGROUP, MatOption, MatOptionSelectionChange, _countGroupLabelsBeforeOption, _getOptionScrollPosition, MatOptionModule, MatCommonModule } from '@angular/material/core';\nimport { Subscription, Subject, defer, merge, of, fromEvent } from 'rxjs';\nimport { DOCUMENT, CommonModule } from '@angular/common';\nimport { Overlay, OverlayConfig, OverlayModule } from '@angular/cdk/overlay';\nimport { ViewportRuler, CdkScrollableModule } from '@angular/cdk/scrolling';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { ESCAPE, hasModifierKey, ENTER, UP_ARROW, DOWN_ARROW, TAB } from '@angular/cdk/keycodes';\nimport { _getShadowRoot } from '@angular/cdk/platform';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatFormField, MAT_FORM_FIELD } from '@angular/material/form-field';\nimport { take, switchMap, filter, map, tap, delay } from 'rxjs/operators';\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * Autocomplete IDs need to be unique across components, so this counter exists outside of\n * the component definition.\n */\nimport * as ɵngcc0 from '@angular/core';\nimport * as ɵngcc1 from '@angular/common';\nimport * as ɵngcc2 from '@angular/cdk/overlay';\nimport * as ɵngcc3 from '@angular/cdk/bidi';\nimport * as ɵngcc4 from '@angular/cdk/scrolling';\nimport * as ɵngcc5 from '@angular/material/form-field';\n\nconst _c0 = [\"panel\"];\nfunction MatAutocomplete_ng_template_0_Template(rf, ctx) { if (rf & 1) {\n    ɵngcc0.ɵɵelementStart(0, \"div\", 0, 1);\n    ɵngcc0.ɵɵprojection(2);\n    ɵngcc0.ɵɵelementEnd();\n} if (rf & 2) {\n    const ctx_r0 = ɵngcc0.ɵɵnextContext();\n    ɵngcc0.ɵɵproperty(\"id\", ctx_r0.id)(\"ngClass\", ctx_r0._classList);\n} }\nconst _c1 = [\"*\"];\nlet _uniqueAutocompleteIdCounter = 0;\n/** Event object that is emitted when an autocomplete option is selected. */\nclass MatAutocompleteSelectedEvent {\n    constructor(\n    /** Reference to the autocomplete panel that emitted the event. */\n    source, \n    /** Option that was selected. */\n    option) {\n        this.source = source;\n        this.option = option;\n    }\n}\n// Boilerplate for applying mixins to MatAutocomplete.\n/** @docs-private */\nclass MatAutocompleteBase {\n}\nconst _MatAutocompleteMixinBase = mixinDisableRipple(MatAutocompleteBase);\n/** Injection token to be used to override the default options for `mat-autocomplete`. */\nconst MAT_AUTOCOMPLETE_DEFAULT_OPTIONS = new InjectionToken('mat-autocomplete-default-options', {\n    providedIn: 'root',\n    factory: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY,\n});\n/** @docs-private */\nfunction MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY() {\n    return { autoActiveFirstOption: false };\n}\n/** Base class with all of the `MatAutocomplete` functionality. */\nclass _MatAutocompleteBase extends _MatAutocompleteMixinBase {\n    constructor(_changeDetectorRef, _elementRef, defaults) {\n        super();\n        this._changeDetectorRef = _changeDetectorRef;\n        this._elementRef = _elementRef;\n        this._activeOptionChanges = Subscription.EMPTY;\n        /** Whether the autocomplete panel should be visible, depending on option length. */\n        this.showPanel = false;\n        this._isOpen = false;\n        /** Function that maps an option's control value to its display value in the trigger. */\n        this.displayWith = null;\n        /** Event that is emitted whenever an option from the list is selected. */\n        this.optionSelected = new EventEmitter();\n        /** Event that is emitted when the autocomplete panel is opened. */\n        this.opened = new EventEmitter();\n        /** Event that is emitted when the autocomplete panel is closed. */\n        this.closed = new EventEmitter();\n        /** Emits whenever an option is activated using the keyboard. */\n        this.optionActivated = new EventEmitter();\n        this._classList = {};\n        /** Unique ID to be used by autocomplete trigger's \"aria-owns\" property. */\n        this.id = `mat-autocomplete-${_uniqueAutocompleteIdCounter++}`;\n        this._autoActiveFirstOption = !!defaults.autoActiveFirstOption;\n    }\n    /** Whether the autocomplete panel is open. */\n    get isOpen() { return this._isOpen && this.showPanel; }\n    /**\n     * Whether the first option should be highlighted when the autocomplete panel is opened.\n     * Can be configured globally through the `MAT_AUTOCOMPLETE_DEFAULT_OPTIONS` token.\n     */\n    get autoActiveFirstOption() { return this._autoActiveFirstOption; }\n    set autoActiveFirstOption(value) {\n        this._autoActiveFirstOption = coerceBooleanProperty(value);\n    }\n    /**\n     * Takes classes set on the host mat-autocomplete element and applies them to the panel\n     * inside the overlay container to allow for easy styling.\n     */\n    set classList(value) {\n        if (value && value.length) {\n            this._classList = value.split(' ').reduce((classList, className) => {\n                classList[className.trim()] = true;\n                return classList;\n            }, {});\n        }\n        else {\n            this._classList = {};\n        }\n        this._setVisibilityClasses(this._classList);\n        this._elementRef.nativeElement.className = '';\n    }\n    ngAfterContentInit() {\n        this._keyManager = new ActiveDescendantKeyManager(this.options).withWrap();\n        this._activeOptionChanges = this._keyManager.change.subscribe(index => {\n            this.optionActivated.emit({ source: this, option: this.options.toArray()[index] || null });\n        });\n        // Set the initial visibility state.\n        this._setVisibility();\n    }\n    ngOnDestroy() {\n        this._activeOptionChanges.unsubscribe();\n    }\n    /**\n     * Sets the panel scrollTop. This allows us to manually scroll to display options\n     * above or below the fold, as they are not actually being focused when active.\n     */\n    _setScrollTop(scrollTop) {\n        if (this.panel) {\n            this.panel.nativeElement.scrollTop = scrollTop;\n        }\n    }\n    /** Returns the panel's scrollTop. */\n    _getScrollTop() {\n        return this.panel ? this.panel.nativeElement.scrollTop : 0;\n    }\n    /** Panel should hide itself when the option list is empty. */\n    _setVisibility() {\n        this.showPanel = !!this.options.length;\n        this._setVisibilityClasses(this._classList);\n        this._changeDetectorRef.markForCheck();\n    }\n    /** Emits the `select` event. */\n    _emitSelectEvent(option) {\n        const event = new MatAutocompleteSelectedEvent(this, option);\n        this.optionSelected.emit(event);\n    }\n    /** Sets the autocomplete visibility classes on a classlist based on the panel is visible. */\n    _setVisibilityClasses(classList) {\n        classList[this._visibleClass] = this.showPanel;\n        classList[this._hiddenClass] = !this.showPanel;\n    }\n}\n_MatAutocompleteBase.ɵfac = function _MatAutocompleteBase_Factory(t) { return new (t || _MatAutocompleteBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(MAT_AUTOCOMPLETE_DEFAULT_OPTIONS)); };\n_MatAutocompleteBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteBase, viewQuery: function _MatAutocompleteBase_Query(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵstaticViewQuery(TemplateRef, true);\n        ɵngcc0.ɵɵviewQuery(_c0, true);\n    } if (rf & 2) {\n        var _t;\n        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.template = _t.first);\n        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.panel = _t.first);\n    } }, inputs: { displayWith: \"displayWith\", autoActiveFirstOption: \"autoActiveFirstOption\", classList: [\"class\", \"classList\"], panelWidth: \"panelWidth\" }, outputs: { optionSelected: \"optionSelected\", opened: \"opened\", closed: \"closed\", optionActivated: \"optionActivated\" }, features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\n_MatAutocompleteBase.ctorParameters = () => [\n    { type: ChangeDetectorRef },\n    { type: ElementRef },\n    { type: undefined, decorators: [{ type: Inject, args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS,] }] }\n];\n_MatAutocompleteBase.propDecorators = {\n    template: [{ type: ViewChild, args: [TemplateRef, { static: true },] }],\n    panel: [{ type: ViewChild, args: ['panel',] }],\n    displayWith: [{ type: Input }],\n    autoActiveFirstOption: [{ type: Input }],\n    panelWidth: [{ type: Input }],\n    optionSelected: [{ type: Output }],\n    opened: [{ type: Output }],\n    closed: [{ type: Output }],\n    optionActivated: [{ type: Output }],\n    classList: [{ type: Input, args: ['class',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(_MatAutocompleteBase, [{\n        type: Directive\n    }], function () { return [{ type: ɵngcc0.ChangeDetectorRef }, { type: ɵngcc0.ElementRef }, { type: undefined, decorators: [{\n                type: Inject,\n                args: [MAT_AUTOCOMPLETE_DEFAULT_OPTIONS]\n            }] }]; }, { displayWith: [{\n            type: Input\n        }], optionSelected: [{\n            type: Output\n        }], opened: [{\n            type: Output\n        }], closed: [{\n            type: Output\n        }], optionActivated: [{\n            type: Output\n        }], autoActiveFirstOption: [{\n            type: Input\n        }], classList: [{\n            type: Input,\n            args: ['class']\n        }], template: [{\n            type: ViewChild,\n            args: [TemplateRef, { static: true }]\n        }], panel: [{\n            type: ViewChild,\n            args: ['panel']\n        }], panelWidth: [{\n            type: Input\n        }] }); })();\nclass MatAutocomplete extends _MatAutocompleteBase {\n    constructor() {\n        super(...arguments);\n        this._visibleClass = 'mat-autocomplete-visible';\n        this._hiddenClass = 'mat-autocomplete-hidden';\n    }\n}\nMatAutocomplete.ɵfac = function MatAutocomplete_Factory(t) { return ɵMatAutocomplete_BaseFactory(t || MatAutocomplete); };\nMatAutocomplete.ɵcmp = ɵngcc0.ɵɵdefineComponent({ type: MatAutocomplete, selectors: [[\"mat-autocomplete\"]], contentQueries: function MatAutocomplete_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {\n        ɵngcc0.ɵɵcontentQuery(dirIndex, MAT_OPTGROUP, true);\n        ɵngcc0.ɵɵcontentQuery(dirIndex, MatOption, true);\n    } if (rf & 2) {\n        var _t;\n        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.optionGroups = _t);\n        ɵngcc0.ɵɵqueryRefresh(_t = ɵngcc0.ɵɵloadQuery()) && (ctx.options = _t);\n    } }, hostAttrs: [1, \"mat-autocomplete\"], inputs: { disableRipple: \"disableRipple\" }, exportAs: [\"matAutocomplete\"], features: [ɵngcc0.ɵɵProvidersFeature([\n            { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }\n        ]), ɵngcc0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c1, decls: 1, vars: 0, consts: [[\"role\", \"listbox\", 1, \"mat-autocomplete-panel\", 3, \"id\", \"ngClass\"], [\"panel\", \"\"]], template: function MatAutocomplete_Template(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵprojectionDef();\n        ɵngcc0.ɵɵtemplate(0, MatAutocomplete_ng_template_0_Template, 3, 2, \"ng-template\");\n    } }, directives: [ɵngcc1.NgClass], styles: [\".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}\\n\"], encapsulation: 2, changeDetection: 0 });\nMatAutocomplete.propDecorators = {\n    optionGroups: [{ type: ContentChildren, args: [MAT_OPTGROUP, { descendants: true },] }],\n    options: [{ type: ContentChildren, args: [MatOption, { descendants: true },] }]\n};\nconst ɵMatAutocomplete_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(MatAutocomplete);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatAutocomplete, [{\n        type: Component,\n        args: [{\n                selector: 'mat-autocomplete',\n                template: \"<ng-template>\\n  <div class=\\\"mat-autocomplete-panel\\\" role=\\\"listbox\\\" [id]=\\\"id\\\" [ngClass]=\\\"_classList\\\" #panel>\\n    <ng-content></ng-content>\\n  </div>\\n</ng-template>\\n\",\n                encapsulation: ViewEncapsulation.None,\n                changeDetection: ChangeDetectionStrategy.OnPush,\n                exportAs: 'matAutocomplete',\n                inputs: ['disableRipple'],\n                host: {\n                    'class': 'mat-autocomplete'\n                },\n                providers: [\n                    { provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }\n                ],\n                styles: [\".mat-autocomplete-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;visibility:hidden;max-width:none;max-height:256px;position:relative;width:100%;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.mat-autocomplete-panel.mat-autocomplete-visible{visibility:visible}.mat-autocomplete-panel.mat-autocomplete-hidden{visibility:hidden}.mat-autocomplete-panel-above .mat-autocomplete-panel{border-radius:0;border-top-left-radius:4px;border-top-right-radius:4px}.mat-autocomplete-panel .mat-divider-horizontal{margin-top:-1px}.cdk-high-contrast-active .mat-autocomplete-panel{outline:solid 1px}\\n\"]\n            }]\n    }], null, { optionGroups: [{\n            type: ContentChildren,\n            args: [MAT_OPTGROUP, { descendants: true }]\n        }], options: [{\n            type: ContentChildren,\n            args: [MatOption, { descendants: true }]\n        }] }); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/** Base class containing all of the functionality for `MatAutocompleteOrigin`. */\nclass _MatAutocompleteOriginBase {\n    constructor(\n    /** Reference to the element on which the directive is applied. */\n    elementRef) {\n        this.elementRef = elementRef;\n    }\n}\n_MatAutocompleteOriginBase.ɵfac = function _MatAutocompleteOriginBase_Factory(t) { return new (t || _MatAutocompleteOriginBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef)); };\n_MatAutocompleteOriginBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteOriginBase });\n_MatAutocompleteOriginBase.ctorParameters = () => [\n    { type: ElementRef }\n];\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(_MatAutocompleteOriginBase, [{\n        type: Directive\n    }], function () { return [{ type: ɵngcc0.ElementRef }]; }, null); })();\n/**\n * Directive applied to an element to make it usable\n * as a connection point for an autocomplete panel.\n */\nclass MatAutocompleteOrigin extends _MatAutocompleteOriginBase {\n}\nMatAutocompleteOrigin.ɵfac = function MatAutocompleteOrigin_Factory(t) { return ɵMatAutocompleteOrigin_BaseFactory(t || MatAutocompleteOrigin); };\nMatAutocompleteOrigin.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: MatAutocompleteOrigin, selectors: [[\"\", \"matAutocompleteOrigin\", \"\"]], exportAs: [\"matAutocompleteOrigin\"], features: [ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵMatAutocompleteOrigin_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(MatAutocompleteOrigin);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatAutocompleteOrigin, [{\n        type: Directive,\n        args: [{\n                selector: '[matAutocompleteOrigin]',\n                exportAs: 'matAutocompleteOrigin'\n            }]\n    }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * The following style constants are necessary to save here in order\n * to properly calculate the scrollTop of the panel. Because we are not\n * actually focusing the active item, scroll must be handled manually.\n */\n/**\n * The height of each autocomplete option.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 11.0.0\n */\nconst AUTOCOMPLETE_OPTION_HEIGHT = 48;\n/**\n * The total height of the autocomplete panel.\n * @deprecated No longer being used. To be removed.\n * @breaking-change 11.0.0\n */\nconst AUTOCOMPLETE_PANEL_HEIGHT = 256;\n/** Injection token that determines the scroll handling while the autocomplete panel is open. */\nconst MAT_AUTOCOMPLETE_SCROLL_STRATEGY = new InjectionToken('mat-autocomplete-scroll-strategy');\n/** @docs-private */\nfunction MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY(overlay) {\n    return () => overlay.scrollStrategies.reposition();\n}\n/** @docs-private */\nconst MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n    provide: MAT_AUTOCOMPLETE_SCROLL_STRATEGY,\n    deps: [Overlay],\n    useFactory: MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY,\n};\n/**\n * Provider that allows the autocomplete to register as a ControlValueAccessor.\n * @docs-private\n */\nconst MAT_AUTOCOMPLETE_VALUE_ACCESSOR = {\n    provide: NG_VALUE_ACCESSOR,\n    useExisting: forwardRef(() => MatAutocompleteTrigger),\n    multi: true\n};\n/**\n * Creates an error to be thrown when attempting to use an autocomplete trigger without a panel.\n * @docs-private\n */\nfunction getMatAutocompleteMissingPanelError() {\n    return Error('Attempting to open an undefined instance of `mat-autocomplete`. ' +\n        'Make sure that the id passed to the `matAutocomplete` is correct and that ' +\n        'you\\'re attempting to open it after the ngAfterContentInit hook.');\n}\n/** Base class with all of the `MatAutocompleteTrigger` functionality. */\nclass _MatAutocompleteTriggerBase {\n    constructor(_element, _overlay, _viewContainerRef, _zone, _changeDetectorRef, scrollStrategy, _dir, _formField, _document, _viewportRuler) {\n        this._element = _element;\n        this._overlay = _overlay;\n        this._viewContainerRef = _viewContainerRef;\n        this._zone = _zone;\n        this._changeDetectorRef = _changeDetectorRef;\n        this._dir = _dir;\n        this._formField = _formField;\n        this._document = _document;\n        this._viewportRuler = _viewportRuler;\n        this._componentDestroyed = false;\n        this._autocompleteDisabled = false;\n        /** Whether or not the label state is being overridden. */\n        this._manuallyFloatingLabel = false;\n        /** Subscription to viewport size changes. */\n        this._viewportSubscription = Subscription.EMPTY;\n        /**\n         * Whether the autocomplete can open the next time it is focused. Used to prevent a focused,\n         * closed autocomplete from being reopened if the user switches to another browser tab and then\n         * comes back.\n         */\n        this._canOpenOnNextFocus = true;\n        /** Stream of keyboard events that can close the panel. */\n        this._closeKeyEventStream = new Subject();\n        /**\n         * Event handler for when the window is blurred. Needs to be an\n         * arrow function in order to preserve the context.\n         */\n        this._windowBlurHandler = () => {\n            // If the user blurred the window while the autocomplete is focused, it means that it'll be\n            // refocused when they come back. In this case we want to skip the first focus event, if the\n            // pane was closed, in order to avoid reopening it unintentionally.\n            this._canOpenOnNextFocus =\n                this._document.activeElement !== this._element.nativeElement || this.panelOpen;\n        };\n        /** `View -> model callback called when value changes` */\n        this._onChange = () => { };\n        /** `View -> model callback called when autocomplete has been touched` */\n        this._onTouched = () => { };\n        /**\n         * Position of the autocomplete panel relative to the trigger element. A position of `auto`\n         * will render the panel underneath the trigger if there is enough space for it to fit in\n         * the viewport, otherwise the panel will be shown above it. If the position is set to\n         * `above` or `below`, the panel will always be shown above or below the trigger. no matter\n         * whether it fits completely in the viewport.\n         */\n        this.position = 'auto';\n        /**\n         * `autocomplete` attribute to be set on the input element.\n         * @docs-private\n         */\n        this.autocompleteAttribute = 'off';\n        this._overlayAttached = false;\n        /** Stream of autocomplete option selections. */\n        this.optionSelections = defer(() => {\n            if (this.autocomplete && this.autocomplete.options) {\n                return merge(...this.autocomplete.options.map(option => option.onSelectionChange));\n            }\n            // If there are any subscribers before `ngAfterViewInit`, the `autocomplete` will be undefined.\n            // Return a stream that we'll replace with the real one once everything is in place.\n            return this._zone.onStable\n                .pipe(take(1), switchMap(() => this.optionSelections));\n        });\n        this._scrollStrategy = scrollStrategy;\n    }\n    /**\n     * Whether the autocomplete is disabled. When disabled, the element will\n     * act as a regular input and the user won't be able to open the panel.\n     */\n    get autocompleteDisabled() { return this._autocompleteDisabled; }\n    set autocompleteDisabled(value) {\n        this._autocompleteDisabled = coerceBooleanProperty(value);\n    }\n    ngAfterViewInit() {\n        const window = this._getWindow();\n        if (typeof window !== 'undefined') {\n            this._zone.runOutsideAngular(() => window.addEventListener('blur', this._windowBlurHandler));\n        }\n    }\n    ngOnChanges(changes) {\n        if (changes['position'] && this._positionStrategy) {\n            this._setStrategyPositions(this._positionStrategy);\n            if (this.panelOpen) {\n                this._overlayRef.updatePosition();\n            }\n        }\n    }\n    ngOnDestroy() {\n        const window = this._getWindow();\n        if (typeof window !== 'undefined') {\n            window.removeEventListener('blur', this._windowBlurHandler);\n        }\n        this._viewportSubscription.unsubscribe();\n        this._componentDestroyed = true;\n        this._destroyPanel();\n        this._closeKeyEventStream.complete();\n    }\n    /** Whether or not the autocomplete panel is open. */\n    get panelOpen() {\n        return this._overlayAttached && this.autocomplete.showPanel;\n    }\n    /** Opens the autocomplete suggestion panel. */\n    openPanel() {\n        this._attachOverlay();\n        this._floatLabel();\n    }\n    /** Closes the autocomplete suggestion panel. */\n    closePanel() {\n        this._resetLabel();\n        if (!this._overlayAttached) {\n            return;\n        }\n        if (this.panelOpen) {\n            // Only emit if the panel was visible.\n            this.autocomplete.closed.emit();\n        }\n        this.autocomplete._isOpen = this._overlayAttached = false;\n        if (this._overlayRef && this._overlayRef.hasAttached()) {\n            this._overlayRef.detach();\n            this._closingActionsSubscription.unsubscribe();\n        }\n        // Note that in some cases this can end up being called after the component is destroyed.\n        // Add a check to ensure that we don't try to run change detection on a destroyed view.\n        if (!this._componentDestroyed) {\n            // We need to trigger change detection manually, because\n            // `fromEvent` doesn't seem to do it at the proper time.\n            // This ensures that the label is reset when the\n            // user clicks outside.\n            this._changeDetectorRef.detectChanges();\n        }\n    }\n    /**\n     * Updates the position of the autocomplete suggestion panel to ensure that it fits all options\n     * within the viewport.\n     */\n    updatePosition() {\n        if (this._overlayAttached) {\n            this._overlayRef.updatePosition();\n        }\n    }\n    /**\n     * A stream of actions that should close the autocomplete panel, including\n     * when an option is selected, on blur, and when TAB is pressed.\n     */\n    get panelClosingActions() {\n        return merge(this.optionSelections, this.autocomplete._keyManager.tabOut.pipe(filter(() => this._overlayAttached)), this._closeKeyEventStream, this._getOutsideClickStream(), this._overlayRef ?\n            this._overlayRef.detachments().pipe(filter(() => this._overlayAttached)) :\n            of()).pipe(\n        // Normalize the output so we return a consistent type.\n        map(event => event instanceof MatOptionSelectionChange ? event : null));\n    }\n    /** The currently active option, coerced to MatOption type. */\n    get activeOption() {\n        if (this.autocomplete && this.autocomplete._keyManager) {\n            return this.autocomplete._keyManager.activeItem;\n        }\n        return null;\n    }\n    /** Stream of clicks outside of the autocomplete panel. */\n    _getOutsideClickStream() {\n        return merge(fromEvent(this._document, 'click'), fromEvent(this._document, 'touchend'))\n            .pipe(filter(event => {\n            // If we're in the Shadow DOM, the event target will be the shadow root, so we have to\n            // fall back to check the first element in the path of the click event.\n            const clickTarget = (this._isInsideShadowRoot && event.composedPath ? event.composedPath()[0] :\n                event.target);\n            const formField = this._formField ? this._formField._elementRef.nativeElement : null;\n            const customOrigin = this.connectedTo ? this.connectedTo.elementRef.nativeElement : null;\n            return this._overlayAttached && clickTarget !== this._element.nativeElement &&\n                (!formField || !formField.contains(clickTarget)) &&\n                (!customOrigin || !customOrigin.contains(clickTarget)) &&\n                (!!this._overlayRef && !this._overlayRef.overlayElement.contains(clickTarget));\n        }));\n    }\n    // Implemented as part of ControlValueAccessor.\n    writeValue(value) {\n        Promise.resolve(null).then(() => this._setTriggerValue(value));\n    }\n    // Implemented as part of ControlValueAccessor.\n    registerOnChange(fn) {\n        this._onChange = fn;\n    }\n    // Implemented as part of ControlValueAccessor.\n    registerOnTouched(fn) {\n        this._onTouched = fn;\n    }\n    // Implemented as part of ControlValueAccessor.\n    setDisabledState(isDisabled) {\n        this._element.nativeElement.disabled = isDisabled;\n    }\n    _handleKeydown(event) {\n        const keyCode = event.keyCode;\n        // Prevent the default action on all escape key presses. This is here primarily to bring IE\n        // in line with other browsers. By default, pressing escape on IE will cause it to revert\n        // the input value to the one that it had on focus, however it won't dispatch any events\n        // which means that the model value will be out of sync with the view.\n        if (keyCode === ESCAPE && !hasModifierKey(event)) {\n            event.preventDefault();\n        }\n        if (this.activeOption && keyCode === ENTER && this.panelOpen) {\n            this.activeOption._selectViaInteraction();\n            this._resetActiveItem();\n            event.preventDefault();\n        }\n        else if (this.autocomplete) {\n            const prevActiveItem = this.autocomplete._keyManager.activeItem;\n            const isArrowKey = keyCode === UP_ARROW || keyCode === DOWN_ARROW;\n            if (this.panelOpen || keyCode === TAB) {\n                this.autocomplete._keyManager.onKeydown(event);\n            }\n            else if (isArrowKey && this._canOpen()) {\n                this.openPanel();\n            }\n            if (isArrowKey || this.autocomplete._keyManager.activeItem !== prevActiveItem) {\n                this._scrollToOption(this.autocomplete._keyManager.activeItemIndex || 0);\n            }\n        }\n    }\n    _handleInput(event) {\n        let target = event.target;\n        let value = target.value;\n        // Based on `NumberValueAccessor` from forms.\n        if (target.type === 'number') {\n            value = value == '' ? null : parseFloat(value);\n        }\n        // If the input has a placeholder, IE will fire the `input` event on page load,\n        // focus and blur, in addition to when the user actually changed the value. To\n        // filter out all of the extra events, we save the value on focus and between\n        // `input` events, and we check whether it changed.\n        // See: https://connect.microsoft.com/IE/feedback/details/885747/\n        if (this._previousValue !== value) {\n            this._previousValue = value;\n            this._onChange(value);\n            if (this._canOpen() && this._document.activeElement === event.target) {\n                this.openPanel();\n            }\n        }\n    }\n    _handleFocus() {\n        if (!this._canOpenOnNextFocus) {\n            this._canOpenOnNextFocus = true;\n        }\n        else if (this._canOpen()) {\n            this._previousValue = this._element.nativeElement.value;\n            this._attachOverlay();\n            this._floatLabel(true);\n        }\n    }\n    /**\n     * In \"auto\" mode, the label will animate down as soon as focus is lost.\n     * This causes the value to jump when selecting an option with the mouse.\n     * This method manually floats the label until the panel can be closed.\n     * @param shouldAnimate Whether the label should be animated when it is floated.\n     */\n    _floatLabel(shouldAnimate = false) {\n        if (this._formField && this._formField.floatLabel === 'auto') {\n            if (shouldAnimate) {\n                this._formField._animateAndLockLabel();\n            }\n            else {\n                this._formField.floatLabel = 'always';\n            }\n            this._manuallyFloatingLabel = true;\n        }\n    }\n    /** If the label has been manually elevated, return it to its normal state. */\n    _resetLabel() {\n        if (this._manuallyFloatingLabel) {\n            this._formField.floatLabel = 'auto';\n            this._manuallyFloatingLabel = false;\n        }\n    }\n    /**\n     * This method listens to a stream of panel closing actions and resets the\n     * stream every time the option list changes.\n     */\n    _subscribeToClosingActions() {\n        const firstStable = this._zone.onStable.pipe(take(1));\n        const optionChanges = this.autocomplete.options.changes.pipe(tap(() => this._positionStrategy.reapplyLastPosition()), \n        // Defer emitting to the stream until the next tick, because changing\n        // bindings in here will cause \"changed after checked\" errors.\n        delay(0));\n        // When the zone is stable initially, and when the option list changes...\n        return merge(firstStable, optionChanges)\n            .pipe(\n        // create a new stream of panelClosingActions, replacing any previous streams\n        // that were created, and flatten it so our stream only emits closing events...\n        switchMap(() => {\n            const wasOpen = this.panelOpen;\n            this._resetActiveItem();\n            this.autocomplete._setVisibility();\n            if (this.panelOpen) {\n                this._overlayRef.updatePosition();\n                // If the `panelOpen` state changed, we need to make sure to emit the `opened`\n                // event, because we may not have emitted it when the panel was attached. This\n                // can happen if the users opens the panel and there are no options, but the\n                // options come in slightly later or as a result of the value changing.\n                if (wasOpen !== this.panelOpen) {\n                    this.autocomplete.opened.emit();\n                }\n            }\n            return this.panelClosingActions;\n        }), \n        // when the first closing event occurs...\n        take(1))\n            // set the value, close the panel, and complete.\n            .subscribe(event => this._setValueAndClose(event));\n    }\n    /** Destroys the autocomplete suggestion panel. */\n    _destroyPanel() {\n        if (this._overlayRef) {\n            this.closePanel();\n            this._overlayRef.dispose();\n            this._overlayRef = null;\n        }\n    }\n    _setTriggerValue(value) {\n        const toDisplay = this.autocomplete && this.autocomplete.displayWith ?\n            this.autocomplete.displayWith(value) :\n            value;\n        // Simply falling back to an empty string if the display value is falsy does not work properly.\n        // The display value can also be the number zero and shouldn't fall back to an empty string.\n        const inputValue = toDisplay != null ? toDisplay : '';\n        // If it's used within a `MatFormField`, we should set it through the property so it can go\n        // through change detection.\n        if (this._formField) {\n            this._formField._control.value = inputValue;\n        }\n        else {\n            this._element.nativeElement.value = inputValue;\n        }\n        this._previousValue = inputValue;\n    }\n    /**\n     * This method closes the panel, and if a value is specified, also sets the associated\n     * control to that value. It will also mark the control as dirty if this interaction\n     * stemmed from the user.\n     */\n    _setValueAndClose(event) {\n        if (event && event.source) {\n            this._clearPreviousSelectedOption(event.source);\n            this._setTriggerValue(event.source.value);\n            this._onChange(event.source.value);\n            this._element.nativeElement.focus();\n            this.autocomplete._emitSelectEvent(event.source);\n        }\n        this.closePanel();\n    }\n    /**\n     * Clear any previous selected option and emit a selection change event for this option\n     */\n    _clearPreviousSelectedOption(skip) {\n        this.autocomplete.options.forEach(option => {\n            if (option !== skip && option.selected) {\n                option.deselect();\n            }\n        });\n    }\n    _attachOverlay() {\n        if (!this.autocomplete && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n            throw getMatAutocompleteMissingPanelError();\n        }\n        // We want to resolve this once, as late as possible so that we can be\n        // sure that the element has been moved into its final place in the DOM.\n        if (this._isInsideShadowRoot == null) {\n            this._isInsideShadowRoot = !!_getShadowRoot(this._element.nativeElement);\n        }\n        let overlayRef = this._overlayRef;\n        if (!overlayRef) {\n            this._portal = new TemplatePortal(this.autocomplete.template, this._viewContainerRef);\n            overlayRef = this._overlay.create(this._getOverlayConfig());\n            this._overlayRef = overlayRef;\n            // Use the `keydownEvents` in order to take advantage of\n            // the overlay event targeting provided by the CDK overlay.\n            overlayRef.keydownEvents().subscribe(event => {\n                // Close when pressing ESCAPE or ALT + UP_ARROW, based on the a11y guidelines.\n                // See: https://www.w3.org/TR/wai-aria-practices-1.1/#textbox-keyboard-interaction\n                if ((event.keyCode === ESCAPE && !hasModifierKey(event)) ||\n                    (event.keyCode === UP_ARROW && hasModifierKey(event, 'altKey'))) {\n                    this._resetActiveItem();\n                    this._closeKeyEventStream.next();\n                    // We need to stop propagation, otherwise the event will eventually\n                    // reach the input itself and cause the overlay to be reopened.\n                    event.stopPropagation();\n                    event.preventDefault();\n                }\n            });\n            this._viewportSubscription = this._viewportRuler.change().subscribe(() => {\n                if (this.panelOpen && overlayRef) {\n                    overlayRef.updateSize({ width: this._getPanelWidth() });\n                }\n            });\n        }\n        else {\n            // Update the trigger, panel width and direction, in case anything has changed.\n            this._positionStrategy.setOrigin(this._getConnectedElement());\n            overlayRef.updateSize({ width: this._getPanelWidth() });\n        }\n        if (overlayRef && !overlayRef.hasAttached()) {\n            overlayRef.attach(this._portal);\n            this._closingActionsSubscription = this._subscribeToClosingActions();\n        }\n        const wasOpen = this.panelOpen;\n        this.autocomplete._setVisibility();\n        this.autocomplete._isOpen = this._overlayAttached = true;\n        // We need to do an extra `panelOpen` check in here, because the\n        // autocomplete won't be shown if there are no options.\n        if (this.panelOpen && wasOpen !== this.panelOpen) {\n            this.autocomplete.opened.emit();\n        }\n    }\n    _getOverlayConfig() {\n        return new OverlayConfig({\n            positionStrategy: this._getOverlayPosition(),\n            scrollStrategy: this._scrollStrategy(),\n            width: this._getPanelWidth(),\n            direction: this._dir\n        });\n    }\n    _getOverlayPosition() {\n        const strategy = this._overlay.position()\n            .flexibleConnectedTo(this._getConnectedElement())\n            .withFlexibleDimensions(false)\n            .withPush(false);\n        this._setStrategyPositions(strategy);\n        this._positionStrategy = strategy;\n        return strategy;\n    }\n    /** Sets the positions on a position strategy based on the directive's input state. */\n    _setStrategyPositions(positionStrategy) {\n        // Note that we provide horizontal fallback positions, even though by default the dropdown\n        // width matches the input, because consumers can override the width. See #18854.\n        const belowPositions = [\n            { originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top' },\n            { originX: 'end', originY: 'bottom', overlayX: 'end', overlayY: 'top' }\n        ];\n        // The overlay edge connected to the trigger should have squared corners, while\n        // the opposite end has rounded corners. We apply a CSS class to swap the\n        // border-radius based on the overlay position.\n        const panelClass = this._aboveClass;\n        const abovePositions = [\n            { originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', panelClass },\n            { originX: 'end', originY: 'top', overlayX: 'end', overlayY: 'bottom', panelClass }\n        ];\n        let positions;\n        if (this.position === 'above') {\n            positions = abovePositions;\n        }\n        else if (this.position === 'below') {\n            positions = belowPositions;\n        }\n        else {\n            positions = [...belowPositions, ...abovePositions];\n        }\n        positionStrategy.withPositions(positions);\n    }\n    _getConnectedElement() {\n        if (this.connectedTo) {\n            return this.connectedTo.elementRef;\n        }\n        return this._formField ? this._formField.getConnectedOverlayOrigin() : this._element;\n    }\n    _getPanelWidth() {\n        return this.autocomplete.panelWidth || this._getHostWidth();\n    }\n    /** Returns the width of the input element, so the panel width can match it. */\n    _getHostWidth() {\n        return this._getConnectedElement().nativeElement.getBoundingClientRect().width;\n    }\n    /**\n     * Resets the active item to -1 so arrow events will activate the\n     * correct options, or to 0 if the consumer opted into it.\n     */\n    _resetActiveItem() {\n        this.autocomplete._keyManager.setActiveItem(this.autocomplete.autoActiveFirstOption ? 0 : -1);\n    }\n    /** Determines whether the panel can be opened. */\n    _canOpen() {\n        const element = this._element.nativeElement;\n        return !element.readOnly && !element.disabled && !this._autocompleteDisabled;\n    }\n    /** Use defaultView of injected document if available or fallback to global window reference */\n    _getWindow() {\n        var _a;\n        return ((_a = this._document) === null || _a === void 0 ? void 0 : _a.defaultView) || window;\n    }\n    /** Scrolls to a particular option in the list. */\n    _scrollToOption(index) {\n        // Given that we are not actually focusing active options, we must manually adjust scroll\n        // to reveal options below the fold. First, we find the offset of the option from the top\n        // of the panel. If that offset is below the fold, the new scrollTop will be the offset -\n        // the panel height + the option height, so the active option will be just visible at the\n        // bottom of the panel. If that offset is above the top of the visible panel, the new scrollTop\n        // will become the offset. If that offset is visible within the panel already, the scrollTop is\n        // not adjusted.\n        const autocomplete = this.autocomplete;\n        const labelCount = _countGroupLabelsBeforeOption(index, autocomplete.options, autocomplete.optionGroups);\n        if (index === 0 && labelCount === 1) {\n            // If we've got one group label before the option and we're at the top option,\n            // scroll the list to the top. This is better UX than scrolling the list to the\n            // top of the option, because it allows the user to read the top group's label.\n            autocomplete._setScrollTop(0);\n        }\n        else {\n            const option = autocomplete.options.toArray()[index];\n            if (option) {\n                const element = option._getHostElement();\n                const newScrollPosition = _getOptionScrollPosition(element.offsetTop, element.offsetHeight, autocomplete._getScrollTop(), autocomplete.panel.nativeElement.offsetHeight);\n                autocomplete._setScrollTop(newScrollPosition);\n            }\n        }\n    }\n}\n_MatAutocompleteTriggerBase.ɵfac = function _MatAutocompleteTriggerBase_Factory(t) { return new (t || _MatAutocompleteTriggerBase)(ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ElementRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc2.Overlay), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ViewContainerRef), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.NgZone), ɵngcc0.ɵɵdirectiveInject(ɵngcc0.ChangeDetectorRef), ɵngcc0.ɵɵdirectiveInject(MAT_AUTOCOMPLETE_SCROLL_STRATEGY), ɵngcc0.ɵɵdirectiveInject(ɵngcc3.Directionality, 8), ɵngcc0.ɵɵdirectiveInject(MAT_FORM_FIELD, 9), ɵngcc0.ɵɵdirectiveInject(DOCUMENT, 8), ɵngcc0.ɵɵdirectiveInject(ɵngcc4.ViewportRuler)); };\n_MatAutocompleteTriggerBase.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: _MatAutocompleteTriggerBase, inputs: { position: [\"matAutocompletePosition\", \"position\"], autocompleteAttribute: [\"autocomplete\", \"autocompleteAttribute\"], autocompleteDisabled: [\"matAutocompleteDisabled\", \"autocompleteDisabled\"], autocomplete: [\"matAutocomplete\", \"autocomplete\"], connectedTo: [\"matAutocompleteConnectedTo\", \"connectedTo\"] }, features: [ɵngcc0.ɵɵNgOnChangesFeature] });\n_MatAutocompleteTriggerBase.ctorParameters = () => [\n    { type: ElementRef },\n    { type: Overlay },\n    { type: ViewContainerRef },\n    { type: NgZone },\n    { type: ChangeDetectorRef },\n    { type: undefined, decorators: [{ type: Inject, args: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY,] }] },\n    { type: Directionality, decorators: [{ type: Optional }] },\n    { type: MatFormField, decorators: [{ type: Optional }, { type: Inject, args: [MAT_FORM_FIELD,] }, { type: Host }] },\n    { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DOCUMENT,] }] },\n    { type: ViewportRuler }\n];\n_MatAutocompleteTriggerBase.propDecorators = {\n    autocomplete: [{ type: Input, args: ['matAutocomplete',] }],\n    position: [{ type: Input, args: ['matAutocompletePosition',] }],\n    connectedTo: [{ type: Input, args: ['matAutocompleteConnectedTo',] }],\n    autocompleteAttribute: [{ type: Input, args: ['autocomplete',] }],\n    autocompleteDisabled: [{ type: Input, args: ['matAutocompleteDisabled',] }]\n};\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(_MatAutocompleteTriggerBase, [{\n        type: Directive\n    }], function () { return [{ type: ɵngcc0.ElementRef }, { type: ɵngcc2.Overlay }, { type: ɵngcc0.ViewContainerRef }, { type: ɵngcc0.NgZone }, { type: ɵngcc0.ChangeDetectorRef }, { type: undefined, decorators: [{\n                type: Inject,\n                args: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY]\n            }] }, { type: ɵngcc3.Directionality, decorators: [{\n                type: Optional\n            }] }, { type: ɵngcc5.MatFormField, decorators: [{\n                type: Optional\n            }, {\n                type: Inject,\n                args: [MAT_FORM_FIELD]\n            }, {\n                type: Host\n            }] }, { type: undefined, decorators: [{\n                type: Optional\n            }, {\n                type: Inject,\n                args: [DOCUMENT]\n            }] }, { type: ɵngcc4.ViewportRuler }]; }, { position: [{\n            type: Input,\n            args: ['matAutocompletePosition']\n        }], autocompleteAttribute: [{\n            type: Input,\n            args: ['autocomplete']\n        }], autocompleteDisabled: [{\n            type: Input,\n            args: ['matAutocompleteDisabled']\n        }], autocomplete: [{\n            type: Input,\n            args: ['matAutocomplete']\n        }], connectedTo: [{\n            type: Input,\n            args: ['matAutocompleteConnectedTo']\n        }] }); })();\nclass MatAutocompleteTrigger extends _MatAutocompleteTriggerBase {\n    constructor() {\n        super(...arguments);\n        this._aboveClass = 'mat-autocomplete-panel-above';\n    }\n}\nMatAutocompleteTrigger.ɵfac = function MatAutocompleteTrigger_Factory(t) { return ɵMatAutocompleteTrigger_BaseFactory(t || MatAutocompleteTrigger); };\nMatAutocompleteTrigger.ɵdir = ɵngcc0.ɵɵdefineDirective({ type: MatAutocompleteTrigger, selectors: [[\"input\", \"matAutocomplete\", \"\"], [\"textarea\", \"matAutocomplete\", \"\"]], hostAttrs: [1, \"mat-autocomplete-trigger\"], hostVars: 7, hostBindings: function MatAutocompleteTrigger_HostBindings(rf, ctx) { if (rf & 1) {\n        ɵngcc0.ɵɵlistener(\"focusin\", function MatAutocompleteTrigger_focusin_HostBindingHandler() { return ctx._handleFocus(); })(\"blur\", function MatAutocompleteTrigger_blur_HostBindingHandler() { return ctx._onTouched(); })(\"input\", function MatAutocompleteTrigger_input_HostBindingHandler($event) { return ctx._handleInput($event); })(\"keydown\", function MatAutocompleteTrigger_keydown_HostBindingHandler($event) { return ctx._handleKeydown($event); });\n    } if (rf & 2) {\n        ɵngcc0.ɵɵattribute(\"autocomplete\", ctx.autocompleteAttribute)(\"role\", ctx.autocompleteDisabled ? null : \"combobox\")(\"aria-autocomplete\", ctx.autocompleteDisabled ? null : \"list\")(\"aria-activedescendant\", ctx.panelOpen && ctx.activeOption ? ctx.activeOption.id : null)(\"aria-expanded\", ctx.autocompleteDisabled ? null : ctx.panelOpen.toString())(\"aria-owns\", ctx.autocompleteDisabled || !ctx.panelOpen ? null : ctx.autocomplete == null ? null : ctx.autocomplete.id)(\"aria-haspopup\", !ctx.autocompleteDisabled);\n    } }, exportAs: [\"matAutocompleteTrigger\"], features: [ɵngcc0.ɵɵProvidersFeature([MAT_AUTOCOMPLETE_VALUE_ACCESSOR]), ɵngcc0.ɵɵInheritDefinitionFeature] });\nconst ɵMatAutocompleteTrigger_BaseFactory = /*@__PURE__*/ ɵngcc0.ɵɵgetInheritedFactory(MatAutocompleteTrigger);\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatAutocompleteTrigger, [{\n        type: Directive,\n        args: [{\n                selector: `input[matAutocomplete], textarea[matAutocomplete]`,\n                host: {\n                    'class': 'mat-autocomplete-trigger',\n                    '[attr.autocomplete]': 'autocompleteAttribute',\n                    '[attr.role]': 'autocompleteDisabled ? null : \"combobox\"',\n                    '[attr.aria-autocomplete]': 'autocompleteDisabled ? null : \"list\"',\n                    '[attr.aria-activedescendant]': '(panelOpen && activeOption) ? activeOption.id : null',\n                    '[attr.aria-expanded]': 'autocompleteDisabled ? null : panelOpen.toString()',\n                    '[attr.aria-owns]': '(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id',\n                    '[attr.aria-haspopup]': '!autocompleteDisabled',\n                    // Note: we use `focusin`, as opposed to `focus`, in order to open the panel\n                    // a little earlier. This avoids issues where IE delays the focusing of the input.\n                    '(focusin)': '_handleFocus()',\n                    '(blur)': '_onTouched()',\n                    '(input)': '_handleInput($event)',\n                    '(keydown)': '_handleKeydown($event)'\n                },\n                exportAs: 'matAutocompleteTrigger',\n                providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR]\n            }]\n    }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nclass MatAutocompleteModule {\n}\nMatAutocompleteModule.ɵmod = ɵngcc0.ɵɵdefineNgModule({ type: MatAutocompleteModule });\nMatAutocompleteModule.ɵinj = ɵngcc0.ɵɵdefineInjector({ factory: function MatAutocompleteModule_Factory(t) { return new (t || MatAutocompleteModule)(); }, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [[\n            OverlayModule,\n            MatOptionModule,\n            MatCommonModule,\n            CommonModule\n        ], CdkScrollableModule,\n        MatOptionModule,\n        MatCommonModule] });\n(function () { (typeof ngJitMode === \"undefined\" || ngJitMode) && ɵngcc0.ɵɵsetNgModuleScope(MatAutocompleteModule, { declarations: function () { return [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin]; }, imports: function () { return [OverlayModule,\n        MatOptionModule,\n        MatCommonModule,\n        CommonModule]; }, exports: function () { return [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin, CdkScrollableModule,\n        MatOptionModule,\n        MatCommonModule]; } }); })();\n/*@__PURE__*/ (function () { ɵngcc0.ɵsetClassMetadata(MatAutocompleteModule, [{\n        type: NgModule,\n        args: [{\n                imports: [\n                    OverlayModule,\n                    MatOptionModule,\n                    MatCommonModule,\n                    CommonModule\n                ],\n                exports: [\n                    MatAutocomplete,\n                    MatAutocompleteTrigger,\n                    MatAutocompleteOrigin,\n                    CdkScrollableModule,\n                    MatOptionModule,\n                    MatCommonModule,\n                ],\n                declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin],\n                providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER]\n            }]\n    }], null, null); })();\n\n/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AUTOCOMPLETE_OPTION_HEIGHT, AUTOCOMPLETE_PANEL_HEIGHT, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, MAT_AUTOCOMPLETE_DEFAULT_OPTIONS_FACTORY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER, MAT_AUTOCOMPLETE_VALUE_ACCESSOR, MatAutocomplete, MatAutocompleteModule, MatAutocompleteOrigin, MatAutocompleteSelectedEvent, MatAutocompleteTrigger, _MatAutocompleteBase, _MatAutocompleteOriginBase, _MatAutocompleteTriggerBase, getMatAutocompleteMissingPanelError };\n\n//# sourceMappingURL=autocomplete.js.map"],"sourceRoot":"webpack:///"}