{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/assign-person-modal/assign-person-modal.component.ts","./src/app/assign-person-modal/assign-person-modal.component.html","./src/app/auth/auth-interceptor.ts","./src/app/auth/auth.guard.ts","./src/app/backoffice/admin-area/admin-area.component.ts","./src/app/backoffice/admin-area/admin-area.component.html","./src/app/backoffice/admin-area/order-management/order-details/order-details.component.ts","./src/app/backoffice/admin-area/order-management/order-details/order-details.component.html","./src/app/backoffice/admin-area/order-management/order-list/order-list.component.ts","./src/app/backoffice/admin-area/order-management/order-list/order-list.component.html","./src/app/backoffice/admin-area/order-management/order-management.module.ts","./src/app/backoffice/admin-area/order-management/services/order.service.ts","./src/app/backoffice/admin-area/user-management/service/user.service.ts","./src/app/backoffice/admin-area/user-management/user-create/user-create.component.ts","./src/app/backoffice/admin-area/user-management/user-create/user-create.component.html","./src/app/backoffice/admin-area/user-management/user-detail/user-detail.component.ts","./src/app/backoffice/admin-area/user-management/user-detail/user-detail.component.html","./src/app/backoffice/admin-area/user-management/user-list/user-list.component.ts","./src/app/backoffice/admin-area/user-management/user-list/user-list.component.html","./src/app/backoffice/admin-area/user-management/user-management.module.ts","./src/app/backoffice/backoffice-routing.module.ts","./src/app/backoffice/backoffice.module.ts","./src/app/checkout/checkout.component.ts","./src/app/checkout/checkout.component.html","./src/app/configuration/ticket-management-portal-configuration.ts","./src/app/digitalvenue/digitalvenue.configuration.ts","./src/app/digitalvenue/digitalvenue.module.ts","./src/app/digitalvenue/handlers/click-seatselection.handler.ts","./src/app/digitalvenue/handlers/general-3d.handler.ts","./src/app/digitalvenue/handlers/general.handler.ts","./src/app/digitalvenue/handlers/load-seatselection.handler.ts","./src/app/digitalvenue/handlers/navigation.handler.ts","./src/app/digitalvenue/main-interface/main-interface.component.ts","./src/app/digitalvenue/main-interface/main-interface.component.html","./src/app/digitalvenue/services/cart.service.ts","./src/app/digitalvenue/services/dvm.service.ts","./src/app/digitalvenue/services/flow-control.service.ts","./src/app/digitalvenue/services/isolated-seats.service.ts","./src/app/digitalvenue/services/map-loader.service.ts","./src/app/digitalvenue/services/seat-selection.service.ts","./src/app/digitalvenue/topbar/topbar.component.ts","./src/app/digitalvenue/topbar/topbar.component.html","./src/app/link-account/link-account.component.ts","./src/app/link-account/link-account.component.html","./src/app/login-client/login-client.component.ts","./src/app/login-client/login-client.component.html","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/login/login.module.ts","./src/app/package-selector/another-package/another-package.component.ts","./src/app/package-selector/another-package/another-package.component.html","./src/app/package-selector/home-page/home-page-column/home-page-column-item/home-page-column-item.component.ts","./src/app/package-selector/home-page/home-page-column/home-page-column-item/home-page-column-item.component.html","./src/app/package-selector/home-page/home-page-column/home-page-column.component.ts","./src/app/package-selector/home-page/home-page-column/home-page-column.component.html","./src/app/package-selector/home-page/home-page-package/home-page-package.component.ts","./src/app/package-selector/home-page/home-page-package/home-page-package.component.html","./src/app/package-selector/home-page/home-page.component.ts","./src/app/package-selector/home-page/home-page.component.html","./src/app/package-selector/package-carousel/package-carousel.component.ts","./src/app/package-selector/package-carousel/package-carousel.component.html","./src/app/package-selector/package-options/package-item-location/package-item-location.component.ts","./src/app/package-selector/package-options/package-item-location/package-item-location.component.html","./src/app/package-selector/package-options/package-item-member-benefits/package-item-member-benefits.component.ts","./src/app/package-selector/package-options/package-item-member-benefits/package-item-member-benefits.component.html","./src/app/package-selector/package-options/package-item-overview/package-item-overview.component.ts","./src/app/package-selector/package-options/package-item-overview/package-item-overview.component.html","./src/app/package-selector/package-options/package-item-prices/package-item-prices.component.ts","./src/app/package-selector/package-options/package-item-prices/package-item-prices.component.html","./src/app/package-selector/package-options/package-item-seat-view/package-item-seat-view.component.ts","./src/app/package-selector/package-options/package-item-seat-view/package-item-seat-view.component.html","./src/app/package-selector/package-options/package-item-unique-benefits/package-item-unique-benefits.component.ts","./src/app/package-selector/package-options/package-item-unique-benefits/package-item-unique-benefits.component.html","./src/app/package-selector/package-options/package-item-vr/package-item-vr.component.ts","./src/app/package-selector/package-options/package-item-vr/package-item-vr.component.html","./src/app/package-selector/package-options/package-options.component.ts","./src/app/package-selector/package-options/package-options.component.html","./src/app/package-selector/package-selector.module.ts","./src/app/package-selector/project-info/project-info.component.ts","./src/app/package-selector/project-info/project-info.component.html","./src/app/package-selector/selection/selection.component.ts","./src/app/package-selector/selection/selection.component.html","./src/app/package-selector/services/package-selection.service.ts","./src/app/package-selector/services/package.service.ts","./src/app/package-selector/video/video.component.ts","./src/app/package-selector/video/video.component.html","./src/app/services/api.service.ts","./src/app/services/cart-data.interceptor.ts","./src/app/services/customer.service.ts","./src/app/services/dvm-callbacks.service.ts","./src/app/services/flowcontrol.service.ts","./src/app/services/index.ts","./src/app/services/initializer.service.ts","./src/app/services/navigation.service.ts","./src/app/services/packages.service.ts","./src/app/services/user.service.ts","./src/app/shared/components/assign-relay/assign-relay.component.ts","./src/app/shared/components/assign-relay/assign-relay.component.html","./src/app/shared/components/assign-struct/assign-struct.component.ts","./src/app/shared/components/assign-struct/assign-struct.component.html","./src/app/shared/components/create-struct/create-struct.component.ts","./src/app/shared/components/create-struct/create-struct.component.html","./src/app/shared/components/customer-form/customer-form.component.ts","./src/app/shared/components/customer-form/customer-form.component.html","./src/app/shared/components/search-client/search-client.component.ts","./src/app/shared/components/search-client/search-client.component.html","./src/app/shared/interceptors/add-api-url.interceptor.ts","./src/app/shared/interceptors/index.ts","./src/app/shared/interceptors/token-modified.interceptor.ts","./src/app/shared/interceptors/with-credentials.interceptor.ts","./src/app/shared/modals/error-modal/error-modal.component.ts","./src/app/shared/modals/error-modal/error-modal.component.html","./src/app/shared/modals/index.ts","./src/app/shared/modals/messaging.service.ts","./src/app/shared/modals/modal.component.ts","./src/app/shared/modals/modal.component.html","./src/app/shared/modals/modals.service.ts","./src/app/shared/modals/plan-seat-element-modal/plan-seat-element-modal.component.ts","./src/app/shared/modals/plan-seat-element-modal/plan-seat-element-modal.component.html","./src/app/shared/modals/restart-modal/restart-modal.component.ts","./src/app/shared/modals/restart-modal/restart-modal.component.html","./src/app/shared/pipes/categories-year.pipe.ts","./src/app/shared/shared.module.ts","./src/app/shared/sub-header/sub-header.component.ts","./src/app/shared/sub-header/sub-header.component.html","./src/app/summary/summary.component.ts","./src/app/summary/summary.component.html","./src/app/topbar/topbar.component.ts","./src/app/topbar/topbar.component.html","./src/app/user-selection/user-selection.component.ts","./src/app/user-selection/user-selection.component.html","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACc;AACE;AACX;AACuD;AAClB;AACC;AACmB;AACX;AACpB;AAEN;AAGH;AACc;;;AAE7E,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,WAAW;KACxB;IACD;QACE,IAAI,EAAE,EAAE;QACR,gBAAgB,EAAE,CAAC,0DAAS,CAAC;QAC7B,QAAQ,EAAE;YACR,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,iGAAiB,EAAC;YAChD,EAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,0GAAoB,EAAC;YACvD,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,sFAAc,EAAC;YAC1C,EAAC,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,mHAAuB,EAAC;YAC9D,EAAC,IAAI,EAAE,oBAAoB,EAAE,SAAS,EAAE,mHAAuB,EAAC;YAChE,EAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,kGAAkB,EAAC;YACtD,EAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,4EAAgB,EAAC;YAC9C,EAAC,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,+EAAiB,EAAC;YAChD,EAAC,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,0FAAoB,EAAC;SACxD;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,CAAC,0DAAS,CAAC;QACpB,YAAY,EAAE,GAAG,EAAE,CAAC,wJAAwC,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;KAC5F;IACD;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,qEAAc;KAC1B;IACD,mBAAmB;IACnB,IAAI;IACJ,sBAAsB;IACtB,iCAAiC;IACjC,KAAK;IACL,IAAI;IACJ,qBAAqB;IACrB,gCAAgC;IAChC,KAAK;IACL,IAAI;IACJ,sBAAsB;IACtB,yCAAyC;IACzC,IAAI;IACJ,IAAI;IACJ,sBAAsB;IACtB,kCAAkC;IAClC,gBAAgB;IAChB,QAAQ;IACR,kCAAkC;IAClC,2CAA2C;IAC3C,QAAQ;IACR,MAAM;IACN,KAAK;CACN,CAAC;AAaK,MAAM,gBAAgB;;+FAAhB,gBAAgB;0JAAhB,gBAAgB,kBAVlB;YACP,4DAAY,CAAC,OAAO,CAClB,MAAM,EACN;YACE,oCAAoC;aACrC,CACF;SACF,EACS,4DAAY;mIAEX,gBAAgB,uFAFjB,4DAAY;6FAEX,gBAAgB;cAX5B,sDAAQ;eAAC;gBACR,OAAO,EAAE;oBACP,4DAAY,CAAC,OAAO,CAClB,MAAM,EACN;oBACE,oCAAoC;qBACrC,CACF;iBACF;gBACD,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;AClFD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqE;AAI9B;AACmB;AACT;;;;;AACjD,oBAAoB;AAOb,MAAM,YAAY;IAOvB,YACU,WAAwB,EACxB,MAAc,EACd,GAAsB,EACtB,YAA4B;QAH5B,gBAAW,GAAX,WAAW,CAAa;QACxB,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAmB;QACtB,iBAAY,GAAZ,YAAY,CAAgB;QARtC,UAAK,GAAG,wCAAwC,CAAC;QACjD,kBAAa,GAAG,IAAI,oDAAe,CAAU,KAAK,CAAC,CAAC;QASlD,0CAA0C;QAC1C,0CAA0C;QAC1C,uCAAuC;QACvC,UAAU;QACV,6CAA6C;QAC7C,UAAU;QACV,SAAS;QACT,MAAM;QACN,MAAM;IACR,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,qBAAqB,CAAC,qEAAW,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,qDAAkB,CAAC;IACpC,CAAC;IAEO,qBAAqB,CAAC,WAAmB;QAC/C,4BAA4B;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB;QACxE,IAAI,CAAC,GAAG,GAAG,+CAA+C,WAAW,EAAE,CAAC,CAAC,iDAAiD;QAC1H,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,kCAAkC;QACrD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC,sBAAsB;QACrD,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3D,6BAA6B;QAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,yBAAyB;QACzE,KAAK,CAAC,SAAS,GAAG;;;wCAGkB,WAAW,KAAK,CAAC;QACrD,KAAK,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC,sBAAsB;QACtD,6BAA6B;QAC7B,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;;wEA7CU,YAAY;4FAAZ,YAAY;QCdzB,yEACE;QAAA,yEACE;QAAA,wEAAyB;QACzB,yEACE;QAAA,2EAA+B;QACjC,4DAAM;QACR,4DAAM;QACN,yEACE;QAAA,yEACE;QAAA,sEAAK;QAAA,uDAAc;QAAA,4DAAM;QAC3B,4DAAM;QACR,4DAAS;QACX,4DAAM;;QAHK,0DAAc;QAAd,sFAAc;;6FDKZ,YAAY;cALxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;;;;;;;;;;;;;;AEbD;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;AAA0D;AACW;AACb;AACT;AACF;AACiE;AAC3D;AACqB;AAClB;AACqB;AAC1B;AACS;AACN;AACM;AACuB;AAEb;AACS;AACe;AACrB;AACP;AACD;AACvB;AACqC;AACN;AAEM;AACoB;;;;;AAqC1F,MAAM,SAAS;;wFAAT,SAAS,cAFR,2DAAY;4IAEb,SAAS,mBAXT;QACT,EAAC,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,uEAAe,EAAE,KAAK,EAAE,IAAI,EAAC;QACpE,EAAC,OAAO,EAAE,uFAAa,EAAE,QAAQ,EAAE,oFAAmB,EAAC;QACvD,EAAC,OAAO,EAAE,gGAAU,EAAE,QAAQ,EAAE,8GAAwB,EAAC;QACzD,EAAC,OAAO,EAAE,uDAAS,EAAE,QAAQ,EAAE,OAAO,EAAC;QACvC,EAAC,OAAO,EAAE,0FAAgB,EAAE,QAAQ,EAAE,oFAAmB,EAAE,KAAK,EAAE,IAAI,EAAC;QACvE,EAAC,OAAO,EAAE,6DAAe,EAAE,UAAU,EAAE,CAAC,WAA+B,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAClG,KAAK,EAAE,IAAI,EAAG,IAAI,EAAE,CAAC,iFAAkB,CAAC,EAAE;KAC7C,YAvBQ;YACP,uEAAa;YACb,oEAAgB;YAChB,0DAAW;YACX,+DAAW;YACX,oFAAkB;YAClB,gGAAqB;YACrB,kEAAY;YACZ,qEAAgB;YAChB,gEAAW,CAAC,OAAO,EAAE;YACrB,oEAAa,CAAC,OAAO,EAAE;YACvB,+EAAgB;YAChB,wDAAY,CAAC,OAAO,EAAE;YACtB,6FAAuB;SACxB;mIAYU,SAAS,mBAjClB,2DAAY;QACZ,yEAAe;QACf,0FAAoB;QACpB,4EAAgB;QAChB,0FAAoB;QACpB,8GAA0B,aAG1B,uEAAa;QACb,oEAAgB;QAChB,0DAAW;QACX,+DAAW;QACX,oFAAkB;QAClB,gGAAqB;QACrB,kEAAY;QACZ,qEAAgB,0IAGhB,+EAAgB,4DAEhB,6FAAuB;6FAad,SAAS;cAnCrB,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,2DAAY;oBACZ,yEAAe;oBACf,0FAAoB;oBACpB,4EAAgB;oBAChB,0FAAoB;oBACpB,8GAA0B;iBAC3B;gBACD,OAAO,EAAE;oBACP,uEAAa;oBACb,oEAAgB;oBAChB,0DAAW;oBACX,+DAAW;oBACX,oFAAkB;oBAClB,gGAAqB;oBACrB,kEAAY;oBACZ,qEAAgB;oBAChB,gEAAW,CAAC,OAAO,EAAE;oBACrB,oEAAa,CAAC,OAAO,EAAE;oBACvB,+EAAgB;oBAChB,wDAAY,CAAC,OAAO,EAAE;oBACtB,6FAAuB;iBACxB;gBACD,SAAS,EAAE;oBACT,EAAC,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,uEAAe,EAAE,KAAK,EAAE,IAAI,EAAC;oBACpE,EAAC,OAAO,EAAE,uFAAa,EAAE,QAAQ,EAAE,oFAAmB,EAAC;oBACvD,EAAC,OAAO,EAAE,gGAAU,EAAE,QAAQ,EAAE,8GAAwB,EAAC;oBACzD,EAAC,OAAO,EAAE,uDAAS,EAAE,QAAQ,EAAE,OAAO,EAAC;oBACvC,EAAC,OAAO,EAAE,0FAAgB,EAAE,QAAQ,EAAE,oFAAmB,EAAE,KAAK,EAAE,IAAI,EAAC;oBACvE,EAAC,OAAO,EAAE,6DAAe,EAAE,UAAU,EAAE,CAAC,WAA+B,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,EAClG,KAAK,EAAE,IAAI,EAAG,IAAI,EAAE,CAAC,iFAAkB,CAAC,EAAE;iBAC7C;gBACD,SAAS,EAAE,CAAC,2DAAY,CAAC;aAC1B;;;;;;;;;;;;;;AC/DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qDAAqD;AACrD,oDAAoD;AACpD,EAAE;AACF,eAAe;AACf,yCAAyC;AACzC,yDAAyD;AACzD,wDAAwD;AACxD,KAAK;AACL,8DAA8D;AAC9D,EAAE;AACF,4FAA4F;AAC5F,EAAE;AACF,qBAAqB;AACrB,EAAE;AACF,oBAAoB;AACpB,EAAE;AACF,oDAAoD;AACpD,EAAE;AACF,uBAAuB;AACvB,MAAM;AACN,EAAE;AACF,uBAAuB;AACvB,wBAAwB;AACxB,MAAM;AACN,EAAE;AACF,EAAE;AACF,0BAA0B;AAC1B,EAAE;AACF,MAAM;AACN,EAAE;AACF,2BAA2B;AAC3B,oCAAoC;AACpC,yBAAyB;AACzB,MAAM;AACN,EAAE;AACF,mBAAmB;AACnB,8BAA8B;AAC9B,MAAM;AACN,EAAE;AACF,sCAAsC;AACtC,EAAE;AACF,4BAA4B;AAC5B,uCAAuC;AACvC,wCAAwC;AACxC,MAAM;AACN,EAAE;AACF,IAAI;AAE8C;;;;;;;;;;;;;;IC2B5C,0EACE;IAAA,0EACE;IAAA,wEAA4B;IAAA,iFAAsB;IAAA,4DAAI;IACtD,6EAAqF;IAAxC,oUAAoB,iBAAiB,KAAE;IAAC,sFAA2B;IAAA,4DAAS;IAC3H,4DAAM;IACN,0EACE;IAAA,wEAA4B;IAAA,mFAAwB;IAAA,4DAAI;IACxD,6EAA4E;IAA/B,oUAAoB,QAAQ,KAAE;IAAC,iEAAK;IAAA,4DAAS;IAC5F,4DAAM;IACN,2EACE;IAAA,yEAA4B;IAAA,2EAAe;IAAA,4DAAI;IAC/C,8EAAgF;IAAnC,6UAA4B,IAAI,KAAE;IAAC,yEAAa;IAAA,4DAAS;IACxG,4DAAM;IACR,4DAAM;;;;IAGN,sEACE;IAAA,wFAAoG;IAA5D,oXAAuC;IAAC,4DAAoB;IAEtG,4DAAM;;;;IAEN,sEACE;IAAA,wFAAiG;IAApD,oWAA+B;IAAC,4DAAoB;IACnG,4DAAM;;IADe,0DAAyB;IAAzB,kFAAyB;;;;IAe9C,0EACE;IAIA,0EACE;IAAA,wEAA4B;IAAA,8FAAmC;IAAA,4DAAI;IACnE,6EAAyF;IAA5C,4UAA4B,aAAa,KAAE;IAAC,iEAAM;IAAA,4DAAS;IAC1G,4DAAM;IAKN,0EACE;IAAA,wEAA4B;IAAA,qGAA0C;IAAA,4DAAI;IAC1E,6EAAqG;IAAxD,4UAA4B,yBAAyB,KAAE;IAAC,kEAAM;IAAA,4DAAS;IACtH,4DAAM;IACN,2EACE;IAAA,yEAA4B;IAAA,oGAAwC;IAAA,4DAAI;IACxE,8EAA4F;IAA/C,6UAA4B,eAAe,KAAE;IAAE,kEAAM;IAAA,4DAAS;IAC7G,4DAAM;IACR,4DAAM;;;;IAEN,sEACE;IAAA,wFAA0J;IAAlH,mXAAsC;IAAwD,4DAAoB;IAC5J,4DAAM;;;IAD2E,0DAAyB;IAAzB,kFAAyB;;;;IAG1G,sEACE;IAAA,wFAKqB;IAFnB,mXAAsC;IAEvC,4DAAoB;IACvB,4DAAM;;IAJF,0DAAiB;IAAjB,0EAAiB;;;;IAMrB,sEACE;IAAA,wFAAsG;IAApD,oWAA+B;IAAC,4DAAoB;IACxG,4DAAM;;IADe,0DAA8B;IAA9B,uFAA8B;;;;IAQnD,sEACE;IAAA,wFAAgH;IAA7F,yWAAiC;IAAwC,4DAAoB;IAClH,4DAAM;;;;IAEN,sEACE;IAAA,wFAA0E;IAAvD,wWAAkC;IAAC,4DAAoB;IAC5E,4DAAM;;;;IA3FV,yEACE;IAAA,yEAEE;IAAA,6HACE;IAeF,6HACE;IAIF,6HACE;IAYJ,4DAAM;IAEN,0EACE;IAAA,6HACE;IAsBF,6HACE;IAGF,6HACE;IAQF,6HACE;IAQF,+HACE;IAGF,+HACE;IAEJ,4DAAM;IACR,4DAAM;;;IA7FwE,gKAAkC;IACrD,0DAAiC;IAAjC,4FAAiC;IAArF,iFAAiB;IAEf,0DAAoB;IAApB,8EAAoB;IAgBpB,0DAAiC;IAAjC,2FAAiC;IAKjC,0DAAwB;IAAxB,kFAAwB;IAegC,0DAAgC;IAAhC,2FAAgC;IAA1F,yFAAyB;IACvB,0DAAoB;IAApB,8EAAoB;IAuBpB,0DAAwC;IAAxC,kGAAwC;IAIxC,0DAA6B;IAA7B,uFAA6B;IAS7B,0DAAoC;IAApC,8FAAoC;IASpC,0DAAyC;IAAzC,mGAAyC;IAIzC,0DAA+B;IAA/B,yFAA+B;;;;IAMxC,0EACE;IAAA,wFAQqB;IAHnB,4WAAsC;IAGvC,4DAAoB;IACvB,4DAAM;;;IAPF,0DAAiB;IAAjB,0EAAiB;;AD7GhB,MAAM,0BAA0B;IAqBrC,YACU,UAA6B,EAC7B,cAA8B,EAC9B,WAA+B,EAC/B,UAAsB;QAHtB,eAAU,GAAV,UAAU,CAAmB;QAC7B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,gBAAW,GAAX,WAAW,CAAoB;QAC/B,eAAU,GAAV,UAAU,CAAY;QAxBhC,eAAU,GAAW,uBAAuB,CAAC;QAE7C,SAAI,GAA4D,IAAI,CAAC;QACrE,iBAAY,GAKD,IAAI,CAAC;QAEhB,sBAAiB,GAAG,KAAK,CAAC;QAE1B,mBAAc,GAAG,KAAK,CAAC;IAapB,CAAC;IAEJ,QAAQ,KAAU,CAAC;IAEnB,UAAU,CAAC,KAAa;QACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,EAAE;YACnD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC;SACnC;aAAM,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,0BAA0B,CAAC;SAC9C;aAAM,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE;YAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,0BAA0B,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,UAAU,EAAE,CAAC;SACnB;IACH,CAAC;IAED,UAAU,CAAC,IAAI;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,IAAI,KAAK,iBAAiB,EAAE;YAC9B,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC;SACzC;aAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;YAC5B,IAAI,CAAC,UAAU,GAAG,iCAAiC,CAAC;SACrD;IACH,CAAC;IAED,kBAAkB,CAAC,IAAI;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,IAAI,IAAI,KAAK,wBAAwB,EAAE;YACrC,IAAI,CAAC,UAAU,GAAG,0CAA0C,CAAC;SAC9D;aAAM,IAAI,IAAI,KAAK,0BAA0B,EAAE;YAC9C,IAAI,CAAC,UAAU,GAAG,gDAAgD,CAAC;SACpE;aAAM,IAAI,IAAI,KAAK,eAAe,EAAE;YACnC,IAAI,CAAC,UAAU,GAAG,oCAAoC,CAAC;SACxD;IACH,CAAC;IAED,kBAAkB,CAAC,MAAgB;QACjC,IAAI,CAAC,cAAc,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc;YACnC,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,0BAA0B,CAAC;IACjC,CAAC;IAED,gBAAgB;IAEhB,YAAY,CAAC,MAAM;QACjB,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC;QAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,uBAAuB;IACvB,sBAAsB,CAAC,MAAM,IAAG,CAAC;IAEjC,iCAAiC;IAEjC,WAAW,CAAC,QAAQ;QAClB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAED,eAAe,CAAC,MAAM;QACpB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,wBAAwB,CAAC;IAC/C,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;;oGAzGU,0BAA0B;0GAA1B,0BAA0B;QCPrC,yEACE;QAAA,4EACE;QAAA,0EAAwE;QAAvB,gJAAS,gBAAY,IAAC;QAAC,iEAAO;QAAA,4DAAO;QACxF,4DAAS;QACX,4DAAM;QAER,yEAEE;QAAA,oFAQiB;QAFf,wJAAQ,gBAAY,IAAC;QAEvB,4DAAiB;QAEjB,wHACE;QA8FF,sHACE;QAUJ,4DAAM;;QAnHF,0DAAqB;QAArB,kFAAqB;QASlB,0DAA0B;QAA1B,wFAA0B;QA+F1B,0DAAyB;QAAzB,uFAAyB;;6FD1GnB,0BAA0B;cALtC,uDAAS;eAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,WAAW,EAAE,sCAAsC;gBACnD,SAAS,EAAE,CAAC,sCAAsC,CAAC;aACpD;;;;;;;;;;;;;;AE5DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AASG;AACF;;;;;AAKrC,MAAM,eAAe;IAE1B,YACU,MAAc,EACd,gBAAmC,EACnC,cAAgC;QAFhC,WAAM,GAAN,MAAM,CAAQ;QACd,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,mBAAc,GAAd,cAAc,CAAkB;QAJ1C,YAAO,GAAG,KAAK,CAAC;IAKb,CAAC;IAEI,eAAe,CAAC,KAAwB;QAC9C,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;QACvC,mCAAmC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE;YAChD,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,OAAO,EACP,gCAAgC,EAChC,QAAQ,EACR,GAAG,EAAE;oBACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;oBACrB,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACtC,CAAC,CACF,CAAC;aACH;SACF;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE;YAC/B,IAAI,CAAC,cAAc,CAAC,KAAK,CACvB,OAAO,EACP,yBAAyB,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAC9C,QAAQ,EACR,GAAG,EAAE;gBACH,sCAAsC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC;YACvC,CAAC,CACF,CAAC;SACH;QACD,OAAO,uDAAU,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,SAAS,CACP,OAAyB,EACzB,IAAiB;QAEjB,2CAA2C;QAE3C,mDAAmD;QACnD,oCAAoC;QACpC,oDAAoD;QACpD,4DAA4D;QAC5D,oFAAoF;QACpF,IAAI;QACJ,OAAO,IAAI;aACR,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,iEAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;;8EAtDU,eAAe;kGAAf,eAAe,WAAf,eAAe;6FAAf,eAAe;cAD3B,wDAAU;;;;;;;;;;;;;;ACdX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AAWK;AACJ;;;;AAOrC,MAAM,SAAS;IAEpB,YAAoB,MAAc,EAAU,WAAwB;QAAhD,WAAM,GAAN,MAAM,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAa;IAAI,CAAC;IAEzE,WAAW,CACT,IAA4B,EAC5B,KAA0B;QAExB,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjC,OAAO,+CAAE,CAAC,KAAK,CAAC,CAAC;SAClB;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE;gBAC3B,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjC,OAAO,+CAAE,CAAC,KAAK,CAAC,CAAC;aAClB;iBAAM;gBACL,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;qBACpC,IAAI,CACH,4DAAK,CAAC,IAAI,CAAC,CACZ,CAAC;aACL;SACF;IACL,CAAC;IAED,gBAAgB,CACd,IAA4B,EAC5B,KAA0B;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,KAAY,EAAE,QAAsB;QAC1C,IAAI,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjC,OAAO,+CAAE,CAAC,KAAK,CAAC,CAAC;SAClB;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,IAAI,GAAG,KAAK,CAAC,UAAU,EAAE;gBAC3B,YAAY,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjC,OAAO,+CAAE,CAAC,KAAK,CAAC,CAAC;aAClB;iBAAM;gBACL,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;qBACpC,IAAI,CACH,0DAAG,CAAC,IAAI,CAAC,EAAE;oBACT,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;wBAC3D,OAAO,IAAI,CAAC;qBACb;yBAAM;wBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;wBACpC,OAAO,KAAK,CAAC;qBACd;gBACP,CAAC,CAAC,CAAC,CAAC;aACL;SACF;IACH,CAAC;;kEAzDU,SAAS;4FAAT,SAAS,WAAT,SAAS,mBAFR,MAAM;6FAEP,SAAS;cAHrB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;AClBD;AAAA;AAAA;AAAA;AAAkD;;;AAO3C,MAAM,kBAAkB;IAE7B,gBAAgB,CAAC;IAEjB,QAAQ;IACR,CAAC;;oFALU,kBAAkB;kGAAlB,kBAAkB;QCP/B,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,uEAA0B;QAAA,uEAAY;QAAA,4DAAI;QAC5C,4DAAM;QACN,yEACE;QAAA,uEAA4B;QAAA,wEAAa;QAAA,4DAAI;QAC/C,4DAAM;QACR,4DAAM;QACR,4DAAM;QACR,4DAAM;;6FDJO,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;;;;;;;;;;;;;;AEND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AAMd;;;;;;;;;ICoG5B,2EACE;IAAA,4EAA6B;IAAA,uDAA0B;IAAA,4DAAS;IAChE,0EACE;IAAA,0EACE;IAAA,0EACE;IAAA,wEAAO;IAAA,qEAAU;IAAA,4DAAQ;IAC3B,4DAAM;IACN,0EACE;IAAA,4EAMF;IAJI,gZAA0C;IAF5C,4DAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,oEAAQ;IAAA,4DAAQ;IACzB,4DAAM;IACN,2EACE;IAAA,6EAMF;IAJI,+YAAwC;IAF1C,4DAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,sEAAU;IAAA,4DAAQ;IAC3B,4DAAM;IACN,2EACE;IAAA,wEAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,sEAAU;IAAA,4DAAQ;IAC3B,4DAAM;IACN,2EACE;IAAA,wEAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,kEAAM;IAAA,yEAAO;IAAA,6EAAiB;IAAA,4DAAQ;IAAA,4DAAQ;IACvD,4DAAM;IACN,2EACE;IAAA,wEAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,8EAIE;IAHA,6YAAyD;IAGzD,mFACF;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAW;;;;;IA9EoB,0DAA0B;IAA1B,iGAA0B;IAS/C,0DAA0C;IAA1C,2GAA0C;IAa1C,0DAAwC;IAAxC,yGAAwC;IAaxC,0DAA6D;IAA7D,uIAA6D;IAa7D,0DAA6D;IAA7D,uIAA6D;IAa7D,0DAA+C;IAA/C,yHAA+C;;;;IA1J3D,yEACE;IAAA,8EACE;IAAA,4EAA6B;IAAA,gEAAK;IAAA,4DAAS;IAC3C,0EACE;IAAA,0EACE;IAAA,0EACE;IAAA,wEAAO;IAAA,mEAAQ;IAAA,4DAAQ;IACzB,4DAAM;IACN,0EACE;IAAA,6EAMF;IAJI,4VAA4B;IAF9B,4DAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,mEAAO;IAAA,4DAAQ;IACxB,4DAAM;IACN,2EACE;IAAA,6EAMF;IAJI,4VAA0B;IAF5B,4DAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,uEAAW;IAAA,4DAAQ;IAC5B,4DAAM;IACN,2EACE;IAAA,6EAMF;IAJI,4VAA0B;IAF5B,4DAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,sEAAU;IAAA,4DAAQ;IAC3B,4DAAM;IACN,2EACE;IAAA,wEAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,sEAAU;IAAA,4DAAQ;IAC3B,4DAAM;IACN,2EACE;IAAA,wEAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,kFAAsB;IAAA,4DAAQ;IACvC,4DAAM;IACN,2EACE;IAAA,6EAMF;IAJI,8VAA4B;IAF9B,4DAMF;IAAA,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,8EACE;IADM,4UAA4B;IAClC,oEACF;IAAA,4DAAS;IACX,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAW;IAEX,sIACE;IAgFF,4EACE;IAAA,6EACE;IAAA,wDACF;IAAA,4DAAS;IACT,2EACE;IAAA,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,qEAAS;IAAA,4DAAQ;IAC1B,4DAAM;IACN,2EACE;IAAA,yEACG;IAAA,wDAC0C;;;IAAA,4DAC5C;IACH,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,iEAAK;IAAA,4DAAQ;IACtB,4DAAM;IACN,2EACE;IAAA,yEAAO;IAAA,wDAA2B;IAAA,4DAAQ;IAC5C,4DAAM;IACR,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,iEAAK;IAAA,4DAAQ;IACtB,4DAAM;IACN,2EACE;IAAA,yEAAO;IAAA,wDAA2B;IAAA,4DAAQ;IAC5C,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAW;IACb,4DAAM;;;IApMM,2DAA4B;IAA5B,0FAA4B;IAa5B,0DAA0B;IAA1B,wFAA0B;IAa1B,0DAA0B;IAA1B,wFAA0B;IAa1B,0DAAiD;IAAjD,wHAAiD;IAajD,0DAAiD;IAAjD,wHAAiD;IAajD,0DAA4B;IAA5B,0FAA4B;IAgB5B,0DAAiD;IAAjD,0FAAiD;IAmFvD,0DACF;IADE,8HACF;IAQS,0DAC0C;IAD1C,wRAC0C;IAStC,0DAA2B;IAA3B,6FAA2B;IAQ3B,0DAA2B;IAA3B,6FAA2B;;AD3M3C,MAAM,qBAAqB;IAGhC,YACS,YAA0B,EACzB,KAAqB,EACrB,MAAqB,EACrB,MAAc;QAHf,iBAAY,GAAZ,YAAY,CAAc;QACzB,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAEO,QAAQ,CAAC,EAAU;QACzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CACtC,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;QACxB,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IACE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;gBACjC,KAAK,CAAC,SAAS,KAAK,gBAAgB,EACpC;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;aAC3C;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACpD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,IAAY,IAAS,CAAC;IAE/B,QAAQ,CAAC,IAAS;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe,CAAC,QAAQ;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAC;QACH,yDAAM,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY,CAAC,KAAK;QAChB,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;SAChB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,WAAW,CAAC,KAAiB;QAC3B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,CAC5C,CAAC,QAAa,EAAE,EAAE;YAChB,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;;0FAnEU,qBAAqB;qGAArB,qBAAqB;;QCblC,yEACE;QAAA,yEACE;QAAA,4EAKE;QAAA,iEACF;QAAA,4DAAS;QAEX,4DAAM;QAEN,yEACE;QAAA,6EACE;QADI,8RAAY,iBAAmB,IAAC;QACpC,mHACE;QA+MJ,4DAAO;QACT,4DAAM;QACR,4DAAM;;QAlNoC,0DAAa;QAAb,2EAAa;;6FDD1C,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,gCAAgC;gBAC7C,SAAS,EAAE,CAAC,gCAAgC,CAAC;aAC9C;;;;;;;;;;;;;;AEZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;;;ICwB5C,qEACE;IAAA,wEAAwB;IAAA,uDAAoB;IAAA,4DAAK;IACjD,wEAAwB;IAAA,uDAAkB;IAAA,4DAAK;IAC/C,wEAAwB;IAAA,uDAAkB;IAAA,4DAAK;IAC/C,wEACE;IAAA,uDACF;IAAA,4DAAK;IACL,wEACE;IAAA,wDACF;IAAA,4DAAK;IACL,yEACE;IAAA,6EAIE;IAAA,qEACF;IAAA,4DAAS;IACX,4DAAK;IACP,4DAAK;;;;IAjBqB,0DAAoB;IAApB,kFAAoB;IACpB,0DAAkB;IAAlB,gFAAkB;IAClB,0DAAkB;IAAlB,gFAAkB;IAExC,0DACF;IADE,6HACF;IAEE,0DACF;IADE,6HACF;IAII,0DAA0C;IAA1C,gKAA0C;;ADzB/C,MAAM,kBAAkB;IAU7B,YAAmB,YAA0B,EACzB,KAAqB;QADtB,iBAAY,GAAZ,YAAY,CAAc;QACzB,UAAK,GAAL,KAAK,CAAgB;QALzC,iBAAY,GAAG,EAAE,CAAC;QAMhB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEO,SAAS,CAAC,OAAe,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAmC,EAAE,EAAE;;YAClF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC;YAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACtD,cAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;QACrE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW,CAAC,KAAuB;QACxC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;;oFArCU,kBAAkB;kGAAlB,kBAAkB;QCZ/B,yEACE;QAAA,yEACE;QAAA,4EAKE;QAAA,iEACF;QAAA,4DAAS;QAEX,4DAAM;QAEN,2EACE;QAAA,wEACE;QAAA,qEACE;QAAA,wEAAwB;QAAA,mEAAQ;QAAA,4DAAK;QACrC,wEAAwB;QAAA,mEAAO;QAAA,4DAAK;QACpC,yEAAwB;QAAA,uEAAW;QAAA,4DAAK;QACxC,yEAAwB;QAAA,qEAAS;QAAA,4DAAK;QACtC,yEAAwB;QAAA,qEAAS;QAAA,4DAAK;QACtC,oEAA6B;QAC/B,4DAAK;QACP,4DAAQ;QACR,yEACE;QAAA,+GACE;QAkBJ,4DAAQ;QACV,4DAAQ;QAER,0EACE;QAAA,iFAaa;QAVX,iMAAyB,yGAKV,uBAAmB,IALT;QAU3B,4DAAa;QACf,4DAAM;QACR,4DAAM;;QAtCI,2DAA8C;QAA9C,kFAA8C;QAwBlD,0DAAyB;QAAzB,sFAAyB;;6FDpClB,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;;;;;;;;;;;;;;AEXD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACA;AACa;AACf;AAC0B;AACS;;AAazE,MAAM,qBAAqB;;oGAArB,qBAAqB;oKAArB,qBAAqB,kBAPvB;YACP,4DAAY;YACZ,4DAAY;YACZ,yEAAgB;YAChB,0DAAW;SACZ;mIAEU,qBAAqB,mBARjB,mFAAkB,EAAE,4FAAqB,aAEtD,4DAAY;QACZ,4DAAY;QACZ,yEAAgB;QAChB,0DAAW;6FAGF,qBAAqB;cATjC,sDAAQ;eAAC;gBACR,YAAY,EAAE,CAAC,mFAAkB,EAAE,4FAAqB,CAAC;gBACzD,OAAO,EAAE;oBACP,4DAAY;oBACZ,4DAAY;oBACZ,yEAAgB;oBAChB,0DAAW;iBACZ;aACF;;;;;;;;;;;;;;ACdD;AAAA;AAAA;AAAA;AAAA;AAA2C;AACA;;;AAKpC,MAAM,YAAY;IAIvB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF5B,YAAO,GAAG,KAAK,CAAC;IAGxB,CAAC;IAEM,SAAS,CAAC,OAAe,CAAC;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,eAAe,IAAI,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA8B,GAAG,CAAC,CAAC;IACzD,CAAC;IAEM,QAAQ,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAa,GAAG,IAAI,CAAC,OAAO,UAAU,EAAE,EAAE,CAAC,CAAC;IAClE,CAAC;IAEM,WAAW,CAAC,KAAiB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAM,GAAG,IAAI,CAAC,OAAO,UAAU,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;IAEM,UAAU,CAAC,OAAe;QAC/B,MAAM,QAAQ,GAAG,IAAI,wDAAQ,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClD,OAAO,GAAG,CAAC;IACb,CAAC;;wEAxBU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;6FAEP,YAAY;cAHxB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAA2C;;;AAUpC,MAAM,WAAW;IAItB,YAAoB,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;QAF5B,YAAO,GAAG,KAAK,CAAC;IAEgB,CAAC;IAElC,QAAQ,CAAC,OAAe,CAAC;QAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,cAAc,IAAI,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAA6B,GAAG,CAAC,CAAC;IACxD,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,OAAO,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAY,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAEM,OAAO,CAAC,EAAU;QACvB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,GAAG,CAAC,CAAC;IACvC,CAAC;IAEM,UAAU,CAAC,IAAe;QAC/B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAA2B,GAAG,EAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEM,UAAU,CAAC,EAAU;QAC1B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,SAAS,EAAE,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAoB,GAAG,CAAC,CAAC;IAClD,CAAC;;sEA7BU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;6FAEP,WAAW;cAHvB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;AAa3C,MAAM,mBAAmB;IAI9B,YAAoB,WAAwB,EACxB,KAAqB,EACrB,cAAgC,EAChC,MAAqB,EACrB,MAAc;QAJd,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAkB;QAChC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAQ;QAChC,IAAI,CAAC,IAAI,GAAG;YACV,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,QAAQ;IACR,CAAC;IAEM,QAAQ,CAAC,IAAY;QAC1B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAC9C,CAAC,IAAe,EAAE,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACtC,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;YAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACzD,CAAC,CACF,CAAC;IACJ,CAAC;;sFAhCU,mBAAmB;mGAAnB,mBAAmB;;QCbhC,yEACE;QAAA,yEACE;QAAA,yEACE;QAAA,4EAAyD;QAAA,+DAAI;QAAA,4DAAS;QACxE,4DAAM;QACR,4DAAM;QAEN,yEACE;QAAA,6EACE;QADI,2RAAY,iBAAkB,IAAC;QACnC,yEACE;QAAA,yEAEE;QAAA,0EACE;QAAA,2EACE;QAAA,yEAAO;QAAA,oEAAQ;QAAA,4DAAQ;QACzB,4DAAM;QACN,2EACE;QAAA,6EACF;QADqB,+LAA2B;QAA9C,4DACF;QAAA,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,2EACE;QAAA,yEAAO;QAAA,oEAAQ;QAAA,4DAAQ;QACzB,4DAAM;QACN,2EACE;QAAA,6EACF;QADyB,+LAA2B;QAAlD,4DACF;QAAA,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,2EACE;QAAA,yEAAO;QAAA,sEAAU;QAAA,4DAAQ;QAC3B,4DAAM;QACN,2EACE;QAAA,6EACF;QADqB,iMAA6B;QAAhD,4DACF;QAAA,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,2EACE;QAAA,yEAAO;QAAA,qEAAS;QAAA,4DAAQ;QAC1B,4DAAM;QACN,2EACE;QAAA,6EACF;QADqB,gMAA4B;QAA/C,4DACF;QAAA,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,2EACE;QAAA,yEAAO;QAAA,iEAAK;QAAA,4DAAQ;QACtB,4DAAM;QACN,2EACE;QAAA,6EACF;QADqB,4LAAwB;QAA3C,4DACF;QAAA,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,2EACE;QAAA,yEAAO;QAAA,iEAAK;QAAA,4DAAQ;QACtB,4DAAM;QACN,2EACE;QAAA,6EACF;QADqB,4LAAwB;QAA3C,4DACF;QAAA,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,2EACE;QAAA,yEAAO;QAAA,gEAAI;QAAA,4DAAQ;QACrB,4DAAM;QACN,2EACE;QAAA,8EACE;QAD2B,4LAAuB;QAClD,8EAAyB;QAAA,gEAAI;QAAA,4DAAS;QACtC,8EAA0B;QAAA,iEAAK;QAAA,4DAAS;QACxC,8EAA8B;QAAA,qEAAS;QAAA,4DAAS;QAClD,4DAAS;QACX,4DAAM;QACR,4DAAM;QAEN,0EACE;QAAA,2EACE;QAAA,yEAAO;QAAA,kEAAM;QAAA,4DAAQ;QACvB,4DAAM;QACN,2EACE;QAAA,2EACE;QAAA,6EACA;QAD4D,gMAA4B;QAAxF,4DACA;QAAA,6EAAgC;QAAA,gEAAI;QAAA,4DAAQ;QAC9C,4DAAM;QACN,2EACE;QAAA,6EACA;QAD6D,gMAA4B;QAAzF,4DACA;QAAA,6EAAgC;QAAA,iEAAK;QAAA,4DAAQ;QAC/C,4DAAM;QACR,4DAAM;QACR,4DAAM;QAGR,4DAAM;QACR,4DAAM;QACN,8EAAwC;QAAA,kEAAM;QAAA,4DAAS;QACzD,4DAAO;QACT,4DAAM;QAGR,4DAAM;;QAtF2B,2DAA2B;QAA3B,sFAA2B;QASvB,0DAA2B;QAA3B,sFAA2B;QAS/B,0DAA6B;QAA7B,wFAA6B;QAS7B,0DAA4B;QAA5B,uFAA4B;QAS5B,0DAAwB;QAAxB,mFAAwB;QASxB,0DAAwB;QAAxB,mFAAwB;QASd,0DAAuB;QAAvB,kFAAuB;QAC1C,0DAAgB;QAAhB,yEAAgB;QAChB,0DAAiB;QAAjB,0EAAiB;QACjB,0DAAqB;QAArB,8EAAqB;QAWG,0DAAc;QAAd,uEAAc;QAId,0DAAe;QAAf,wEAAe;;6FD5ElD,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;;;;;;;;;;;;;AEZD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;;;;ICQ5C,yEACE;IAAA,yEAEE;IAAA,0EACE;IAAA,0EACE;IAAA,wEAAO;IAAA,6DAAE;IAAA,4DAAQ;IACnB,4DAAM;IACN,0EACE;IAAA,4EACF;IADqB,iVAAqB;IAAxC,4DACF;IAAA,4DAAM;IACR,4DAAM;IAEN,0EACE;IAAA,0EACE;IAAA,yEAAO;IAAA,oEAAQ;IAAA,4DAAQ;IACzB,4DAAM;IACN,2EACE;IAAA,6EACF;IADqB,wVAA2B;IAA9C,4DACF;IAAA,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,oEAAQ;IAAA,4DAAQ;IACzB,4DAAM;IACN,2EACE;IAAA,6EACF;IADyB,wVAA2B;IAAlD,4DACF;IAAA,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,sEAAU;IAAA,4DAAQ;IAC3B,4DAAM;IACN,2EACE;IAAA,6EACF;IADqB,0VAA6B;IAAhD,4DACF;IAAA,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,qEAAS;IAAA,4DAAQ;IAC1B,4DAAM;IACN,2EACE;IAAA,6EACF;IADqB,yVAA4B;IAA/C,4DACF;IAAA,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,iEAAK;IAAA,4DAAQ;IACtB,4DAAM;IACN,2EACE;IAAA,6EACF;IADqB,qVAAwB;IAA3C,4DACF;IAAA,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,iEAAK;IAAA,4DAAQ;IACtB,4DAAM;IACN,2EACE;IAAA,6EACF;IADqB,qVAAwB;IAA3C,4DACF;IAAA,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,gEAAI;IAAA,4DAAQ;IACrB,4DAAM;IACN,2EACE;IAAA,8EACE;IAD2B,uVAAuB;IAClD,8EAAyB;IAAA,gEAAI;IAAA,4DAAS;IACtC,8EAA0B;IAAA,iEAAK;IAAA,4DAAS;IACxC,8EAA8B;IAAA,qEAAS;IAAA,4DAAS;IAClD,4DAAS;IACX,4DAAM;IACR,4DAAM;IAEN,2EACE;IAAA,2EACE;IAAA,yEAAO;IAAA,kEAAM;IAAA,4DAAQ;IACvB,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,6EAEA;IAF4D,2VAA4B;IAAxF,4DAEA;IAAA,6EAAgC;IAAA,gEAAI;IAAA,4DAAQ;IAC9C,4DAAM;IACN,2EACE;IAAA,6EAEA;IAF6D,2VAA4B;IAAzF,4DAEA;IAAA,6EAAgC;IAAA,iEAAK;IAAA,4DAAQ;IAC/C,4DAAM;IACR,4DAAM;IACR,4DAAM;IAER,4DAAM;IACN,2EACE;IAAA,8EAAwC;IAAA,kEAAM;IAAA,4DAAS;IACzD,4DAAM;IACR,4DAAM;;;IA7FqB,0DAAqB;IAArB,mFAAqB;IASrB,0DAA2B;IAA3B,yFAA2B;IASvB,0DAA2B;IAA3B,yFAA2B;IAS/B,0DAA6B;IAA7B,2FAA6B;IAS7B,0DAA4B;IAA5B,0FAA4B;IAS5B,0DAAwB;IAAxB,sFAAwB;IASxB,0DAAwB;IAAxB,sFAAwB;IASd,0DAAuB;IAAvB,qFAAuB;IAC1C,0DAAgB;IAAhB,yEAAgB;IAChB,0DAAiB;IAAjB,0EAAiB;IACjB,0DAAqB;IAArB,8EAAqB;IAWG,0DAAc;IAAd,uEAAc;IAKd,0DAAe;IAAf,wEAAe;;ADpFxD,MAAM,mBAAmB;IAG9B,YACU,WAAwB,EACxB,KAAqB,EACrB,cAAgC,EAChC,MAAqB,EACrB,MAAc;QAJd,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAkB;QAChC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAQ;IACrB,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC;IAEO,OAAO,CAAC,EAAU;QACxB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,SAAS,CACpC,CAAC,IAAe,EAAE,EAAE;YAClB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,QAAQ,CAAC,IAAY;QAC1B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAC9C,CAAC,QAAkC,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,EACD,CAAC,KAAY,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QACzD,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,QAAQ,EACR,0CAA0C,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAC9D,QAAQ,EACR,GAAG,EAAE;YACH,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CACjD,CAAC,QAA6B,EAAE,EAAE;gBAChC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YACtC,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;gBACR,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC/D,CAAC,CACF,CAAC;QACJ,CAAC,EACD,QAAQ,EACR,GAAG,EAAE,GAAE,CAAC,CACT,CAAC;IACJ,CAAC;;sFA9DU,mBAAmB;mGAAnB,mBAAmB;;QCdhC,yEACE;QAAA,yEACI;QAAA,4EAAmD;QAAA,+DAAI;QAAA,4DAAS;QAChE,4EAA6D;QAArB,2IAAS,cAAU,IAAC;QAAC,iEAAM;QAAA,4DAAS;QAChF,4DAAM;QAEN,yEACE;QAAA,6EACE;QADI,4RAAY,iBAAkB,IAAC;QACnC,iHACE;QAsGJ,4DAAO;QACT,4DAAM;QAGR,4DAAM;;QA3GwC,0DAAY;QAAZ,0EAAY;;6FDM7C,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;;;;;;;;;;;;;AEbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;;;;;;;;ICsB9C,qEACE;IAAA,qEAAI;IAAA,uDAAW;IAAA,4DAAK;IACpB,qEAAI;IAAA,uDAAiB;IAAA,4DAAK;IAC1B,qEAAI;IAAA,uDAAa;IAAA,4DAAK;IACtB,qEAAI;IAAA,uDAAkB;IAAA,4DAAK;IAC3B,qEAAI;IAAA,wDAAmB;IAAA,4DAAK;IAC5B,sEAAI;IAAA,wDAAkB;IAAA,4DAAK;IAC3B,sEAAI;IAAA,wDAAc;IAAA,4DAAK;IACvB,sEAAI;IAAA,wDAAc;IAAA,4DAAK;IACvB,yEACE;IAAA,8EAA8E;IAAA,gEAAI;IAAA,4DAAS;IAC3F,8EAAgE;IAA5B,yXAA2B;IAAC,kEAAM;IAAA,4DAAS;IACjF,4DAAK;IACP,4DAAK;;;IAZC,0DAAW;IAAX,2EAAW;IACX,0DAAiB;IAAjB,iFAAiB;IACjB,0DAAa;IAAb,6EAAa;IACb,0DAAkB;IAAlB,kFAAkB;IAClB,0DAAmB;IAAnB,mFAAmB;IACnB,0DAAkB;IAAlB,kFAAkB;IAClB,0DAAc;IAAd,8EAAc;IACd,0DAAc;IAAd,8EAAc;IAEoB,0DAAyC;IAAzC,yJAAyC;;;ADjB9E,MAAM,iBAAiB;IAW5B,YAAoB,WAAwB,EACxB,KAAqB,EACrB,cAAgC,EAChC,MAAqB,EACrB,MAAc;QAJd,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,mBAAc,GAAd,cAAc,CAAkB;QAChC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAAQ;QARlC,iBAAY,GAAG,EAAE,CAAC;QAShB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,IAAI;QACV,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IAEO,QAAQ,CAAC,OAAe,CAAC;QAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,CACvC,CAAC,KAAiC,EAAE,EAAE;;YACpC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC;YACtD,cAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,0CAAE,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;QACrE,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,WAAW,CAAC,KAAuB;QACxC,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAEM,QAAQ,CAAC,IAAe,EAAE,KAAa;QAC5C,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,QAAQ,EACR,0CAA0C,IAAI,CAAC,QAAQ,EAAE,EACzD,QAAQ,EACR,GAAG,EAAE;YACH,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,CAC5C,CAAC,QAA2B,EAAE,EAAE;gBAC9B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACjC,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;gBACX,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC/D,CAAC,CACF,CAAC;QACJ,CAAC,EACD,QAAQ,EACR,GAAG,EAAE;QACL,CAAC,CACF,CAAC;IACJ,CAAC;;kFAhEU,iBAAiB;iGAAjB,iBAAiB;QCf9B,yEACE;QAAA,yEACE;QAAA,sEACE;QAAA,4EAAoE;QAAA,+DAAI;QAAA,4DAAS;QACnF,4DAAM;QACR,4DAAM;QAEN,2EACE;QAAA,wEACA;QAAA,qEACE;QAAA,qEAAI;QAAA,6DAAE;QAAA,4DAAK;QACX,yEAAwB;QAAA,oEAAQ;QAAA,4DAAK;QACrC,yEAAwB;QAAA,gEAAI;QAAA,4DAAK;QACjC,yEAAwB;QAAA,kEAAM;QAAA,4DAAK;QACnC,yEAAwB;QAAA,sEAAU;QAAA,4DAAK;QACvC,yEAAwB;QAAA,qEAAS;QAAA,4DAAK;QACtC,yEAAwB;QAAA,iEAAK;QAAA,4DAAK;QAClC,yEAAwB;QAAA,iEAAK;QAAA,4DAAK;QAClC,yEAAwB;QAAA,mEAAO;QAAA,4DAAK;QACtC,4DAAK;QACL,4DAAQ;QACR,yEACA;QAAA,+GACE;QAaF,4DAAQ;QACV,4DAAQ;QAER,0EACE;QAAA,iFAUa;QAPX,gMAAyB,wGAKV,uBAAmB,IALT;QAO3B,4DAAa;QACb,6EAAoE;QAAA,kEAAM;QAAA,4DAAS;QACrF,4DAAM;QACR,4DAAM;;QA/BE,2DAA4C;QAA5C,iFAA4C;QAmB9C,0DAAyB;QAAzB,sFAAyB;QAUS,0DAA+B;QAA/B,8IAA+B;;6FDpC1D,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;;;;;;;;;;;;;AEdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACqB;AACvB;AAC6B;AAChB;AACf;AAC+B;;AAanE,MAAM,oBAAoB;;mGAApB,oBAAoB;kKAApB,oBAAoB,kBAPtB;YACP,4DAAY;YACZ,4DAAY;YACZ,yEAAgB;YAChB,0DAAW;SACZ;mIAEU,oBAAoB,mBARhB,gFAAiB,EAAE,sFAAmB,EAAE,sFAAmB,aAExE,4DAAY;QACZ,4DAAY;QACZ,yEAAgB;QAChB,0DAAW;6FAGF,oBAAoB;cAThC,sDAAQ;eAAC;gBACR,YAAY,EAAE,CAAC,gFAAiB,EAAE,sFAAmB,EAAE,sFAAmB,CAAC;gBAC3E,OAAO,EAAE;oBACP,4DAAY;oBACZ,4DAAY;oBACZ,yEAAgB;oBAChB,0DAAW;iBACZ;aACF;;;;;;;;;;;;;;ACnBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AACc;AACgB;AACwB;AACM;AACA;AACA;AACS;;;AAE5G,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,mFAAkB,EAAE;YAC3C,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,2GAAiB,EAAE;YACnD,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,iHAAmB,EAAE;YAC3D,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,iHAAmB,EAAE;YACvD,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,+GAAkB,EAAE;YACtD,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,wHAAqB,EAAE;SACxD;KACF;CACF,CAAC;AAMK,MAAM,uBAAuB;;sGAAvB,uBAAuB;wKAAvB,uBAAuB,kBAHzB,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAC9B,4DAAY;mIAEX,uBAAuB,uFAFxB,4DAAY;6FAEX,uBAAuB;cAJnC,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,4DAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;AC1BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACwB;AACH;AACqB;AAC/B;AACoC;;AAgBvF,MAAM,gBAAgB;;+FAAhB,gBAAgB;0JAAhB,gBAAgB,kBARlB;YACP,4DAAY;YACZ,kFAAuB;YACvB,uGAAoB;YACpB,0GAAqB;YACrB,yEAAgB;SACjB;mIAEU,gBAAgB,mBAVzB,mFAAkB,aAGlB,4DAAY;QACZ,kFAAuB;QACvB,uGAAoB;QACpB,0GAAqB;QACrB,yEAAgB;6FAGP,gBAAgB;cAZ5B,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,mFAAkB;iBACnB;gBACD,OAAO,EAAE;oBACP,4DAAY;oBACZ,kFAAuB;oBACvB,uGAAoB;oBACpB,0GAAqB;oBACrB,yEAAgB;iBACjB;aACF;;;;;;;;;;;;;;ACrBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;;;;;;;;ICqDvC,yEAIE;IAAA,qEAAI;IAAA,uDAAsB;IAAA,4DAAK;IAC/B,qEAAI;IAAA,uDAAkB;IAAA,4DAAK;IAC3B,qEAAI;IAAA,uDAAmB;IAAA,4DAAK;IAC5B,qEACE;IAAA,uDACF;;IAAA,4DAAK;IACL,sEAAI;IAAA,wDAAsB;IAAA,4DAAK;IACjC,4DAAK;;;IAPC,0DAAsB;IAAtB,oFAAsB;IACtB,0DAAkB;IAAlB,gFAAkB;IAClB,0DAAmB;IAAnB,iFAAmB;IAErB,0DACF;IADE,+KACF;IACI,0DAAsB;IAAtB,oFAAsB;;;IA/BpC,0EAIE;IAAA,0EACE;IAAA,2EACG;IAAA,uDAAsC;IAAA,4DACxC;IACH,4DAAM;IACN,0EACE;IAAA,4EACE;IAAA,wEACE;IAAA,yEACE;IAAA,qEAAI;IAAA,gEAAK;IAAA,4DAAK;IACd,sEAAI;IAAA,+DAAG;IAAA,4DAAK;IACZ,sEAAI;IAAA,uEAAW;IAAA,4DAAK;IACpB,sEAAI;IAAA,iEAAK;IAAA,4DAAK;IACd,sEAAI;IAAA,mEAAO;IAAA,4DAAK;IAClB,4DAAK;IACP,4DAAQ;IACR,yEACE;IAAA,4HAIE;IAQJ,4DAAQ;IACV,4DAAQ;IACV,4DAAM;IACR,4DAAM;;;IA9BC,0DAAsC;IAAtC,6GAAsC;IAiBnC,2DAA0C;IAA1C,yFAA0C;;;IA7C9D,0EACE;IAAA,0EACE;IAAA,0EACE;IAAA,uDACF;IAAA,4DAAM;IAEN,0EACE;IAAA,uDACF;IAAA,4DAAM;IACN,0EACE;IAAA,sEAAK;IAAA,uDAA4B;IAAA,4DAAM;IACvC,sEAAK;IAAA,wDAA4B;IAAA,4DAAM;IACvC,uEAAK;IAAA,wDAA4B;IAAA,4DAAM;IACvC,uEAAK;IAAA,wDAA2B;IAAA,4DAAM;IACtC,uEAAK;IAAA,wDAA8B;IAAA,4DAAM;IAC3C,4DAAM;IACN,2EACE;IAAA,wDACF;IAAA,4DAAM;IACN,2EACE;IAAA,2EACE;IAAA,2EACE;IAAA,uHAIE;IAiCJ,4DAAM;IACR,4DAAM;IACR,4DAAM;IACR,4DAAM;IA0BR,4DAAM;;;IArFA,0DACF;IADE,4GACF;IAGE,0DACF;IADE,+HACF;IAEO,0DAA4B;IAA5B,8FAA4B;IAC5B,0DAA4B;IAA5B,8FAA4B;IAC5B,0DAA4B;IAA5B,8FAA4B;IAC5B,0DAA2B;IAA3B,6FAA2B;IAC3B,0DAA8B;IAA9B,gGAA8B;IAGnC,0DACF;IADE,kIACF;IAKQ,0DAA+C;IAA/C,+FAA+C;;;;IAyF7D,0EACE;IAAA,oEACA;IAAA,0EACE;IAAA,6EAA2D;IAAvB,uTAAsB;IAAC,iEAAM;IAAA,4DAAS;IAC5E,4DAAM;IACR,4DAAM;;ADtDD,MAAM,iBAAiB;IAU5B,YACU,UAA6B,EAC7B,UAAsB,EACtB,WAA+B;QAF/B,eAAU,GAAV,UAAU,CAAmB;QAC7B,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAoB;QAEvC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,QAAQ;QACN,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU;aACZ,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC;aAC/C,SAAS,CAAC,CAAC,KAAwB,EAAE,EAAE;YACtC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;gBAC7C,MAAM,MAAM,GACV,CAAC,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,qCAAqC;gBAChG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;oBAC5B,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC;oBACzB,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC;oBACzB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAClD,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY;wBAC9D,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;4BAC3B,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BAClD,CAAC,CAAC,IAAI;wBACR,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;4BACvB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACpC,CAAC,CAAC,IAAI;wBACR,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;4BACxB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;4BACpC,CAAC,CAAC,IAAI;wBACR,eAAe,EAAE,QAAQ,CAAC,SAAS,CAAC,WAAW;6BAC5C,8BAA8B;4BAC/B,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,8BAA8B;4BAC/D,CAAC,CAAC,GAAG;wBACP,OAAO,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;qBAC3E,CAAC,CAAC;oBACH,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;iBAC5B,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;YACrC,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,2BAA2B,CAAC;YAC/D,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEL,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU;QACR,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;;kFAtEU,iBAAiB;iGAAjB,iBAAiB;QCzE9B,yEACE;QAAA,+EAOiB;QACjB,yEACE;QAAA,+GACE;QAwFF,yEACE;QAAA,yEACE;QAAA,sEACE;QAAA,uEACE;QAAA,uDACF;;QAAA,4DAAI;QACJ,wEACE;QAAA,wDACF;;QAAA,4DAAI;QACN,4DAAM;QACR,4DAAM;QACR,4DAAM;QACN,0EAKE;QAAA,mEAAsC;QACxC,4DAAM;QACR,4DAAM;QAIN,gHACE;QAKJ,4DAAM;;QA9HF,0DAAiD;QAAjD,0GAAiD;QAQN,0DAAa;QAAb,2EAAa;QA6FhD,0DACF;QADE,2LACF;QAEE,0DACF;QADE,6LACF;QAMJ,0DAA0C;QAA1C,kGAA0C;QASzC,0DAAa;QAAb,2EAAa;;6FDjDP,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AEvED;AAAA;AAAA;AAAA;AAA+C;AAExC,MAAM,UAAU,GAAG,IAAI,4DAAc,CAAsC,qCAAqC,CAAC,CAAC;AAClH,MAAM,wBAAwB,GAAwC;IACzE,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE;QACJ,UAAU,EAAE;YACR,GAAG,EAAE,kCAAkC;YACvC,GAAG,EAAE,WAAW;SACnB;QACD,eAAe,EAAE;YACb,GAAG,EAAE,EAAE;SACV;QACD,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,KAAK;KAC5B;IACD,eAAe,EAAE;QACb,KAAK,EAAE,+BAA+B;KACzC;IACD,MAAM,EAAE;QACJ,aAAa,EAAE,sDAAsD;KACxE;CAEJ,CAAC;;;;;;;;;;;;;ACtBF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AAI/C;;;;EAIE;AACK,MAAM,UAAU,GAAG,IAAI,4DAAc,CAA4B,4BAA4B,CAAC,CAAC;AAC/F,MAAM,wBAAwB,GAA8B;IACjE,uEAAuE;IACvE,eAAe,EAAE,YAAY;IAC7B,+EAA+E;IAC/E,qBAAqB,EAAE,EAAE;IACzB,WAAW,EAAE,EAAE;IACf,sDAAsD;IACtD,gBAAgB,EAAE,EAAE;IACpB,2BAA2B;IAC3B,aAAa,EAAE,IAAI;IACnB,yDAAyD;IACzD,QAAQ,EAAE;QACR,iBAAiB,EAAE,IAAI;QACvB,WAAW,EAAE,0DAA0D;KACxE;IACD,gEAAgE;IAChE,mBAAmB,EAAE;QACnB,iBAAiB,EAAE,IAAI;QACvB,kBAAkB,EAAE,CAAC;KACtB;IACD,gCAAgC;IAChC,oBAAoB,EAAE;QACpB,kBAAkB,EAAE,KAAK;QACzB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,IAAI;QACtB,gCAAgC;QAChC,kBAAkB,EAAE,EACnB;QACD,yBAAyB;QACzB,mBAAmB,EAAE,IAAI;KAC1B;IACD,sEAAsE;IACtE,qBAAqB,EAAE;QACrB,kBAAkB,EAAE,IAAI;QACxB,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;KACrB;IACD,yBAAyB;IACzB,iBAAiB,EAAE,EAAE;IACrB,0CAA0C;IAC1C,YAAY,EAAE,KAAK;IACnB,8CAA8C;IAC9C,oBAAoB,EAAE,KAAK;IAC3B,2BAA2B;IAC3B,OAAO,EAAE,UAAU;IACnB,mBAAmB;IACnB,MAAM,EAAE;QACN,UAAU,EAAE;YACV,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,SAAS;YACnB,OAAO,EAAE,QAAQ;SAClB;QACD,OAAO,EAAE,SAAS;QAClB,YAAY,EAAE,SAAS;QACvB,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,SAAS;QACjB,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE;YACZ,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,SAAS;SACrB;QACD,OAAO,EAAE;YACP,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,SAAS;SACxB;KACF;CACF,CAAC;AAEK,MAAM,UAAU,GAAG,IAAI,4DAAc,CAAmB,mBAAmB,CAAC,CAAC;AAC7E,MAAM,SAAS,GAAqB;IACvC,QAAQ,EAAE,yBAAyB;IACnC,MAAM,EAAE,UAAU;IAClB,SAAS,EAAE,kBAAkB;IAC7B,OAAO,EAAE,aAAa;CACzB,CAAC;AAEF;;;;EAIE;AACF,iDAAiD;AACjD,uCAAuC;AACvC,qCAAqC;AACrC,aAAa;AACb,iBAAiB;AACjB,qCAAqC;AACrC,+BAA+B;AAC/B,2BAA2B;AAC3B,iCAAiC;AACjC,SAAS;AACT,kBAAkB;AAClB,qCAAqC;AACrC,+BAA+B;AAC/B,0BAA0B;AAC1B,kCAAkC;AAClC,QAAQ;AACR,OAAO;AACP,+FAA+F;AAC/F,0DAA0D;AAC1D,6BAA6B;AAC7B,qBAAqB;AACrB,ytNAAytN;AACztN,MAAM;AACN,KAAK;AAEL;;;;EAIE;AACF,0EAA0E;AAC1E,6BAA6B;AAC7B,6BAA6B;AAC7B,uDAAuD;AACvD,0CAA0C;AAC1C,uDAAuD;AACvD,kCAAkC;AAClC,kBAAkB;AAClB,6CAA6C;AAC7C,eAAe;AACf,yCAAyC;AACzC,iDAAiD;AACjD,qCAAqC;AACrC,uBAAuB;AACvB,uFAAuF;AACvF,kDAAkD;AAClD,SAAS;AACT,kBAAkB;AAClB,MAAM;AACN,KAAK;AAGE,MAAM,aAAa,GAAG,IAAI,4DAAc,CAAsB,eAAe,CAAC,CAAC;AAiB/E,MAAM,gBAAgB,GAAG,IAAI,4DAAc,CAAsB,kBAAkB,CAAC,CAAC;;;;;;;;;;;;;ACpK5F;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACM;AACa;AACuB;AAEwB;AACvD;;AAsB7C,MAAM,kBAAkB;;iGAAlB,kBAAkB;8JAAlB,kBAAkB,mBANlB;QACT,EAAC,OAAO,EAAE,sEAAU,EAAE,QAAQ,EAAE,oFAAwB,EAAC;QACzD,EAAC,OAAO,EAAE,sEAAU,EAAE,QAAQ,EAAE,qEAAS,EAAC;QAC1C,gEAAU;KACX,YAXQ;YACP,4DAAY;SACb;mIAWU,kBAAkB,mBAhB3B,+FAAsB;QACtB,wEAAe,aAGf,4DAAY,aAGZ,+FAAsB;QACtB,wEAAe;6FAQN,kBAAkB;cAlB9B,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,+FAAsB;oBACtB,wEAAe;iBAChB;gBACD,OAAO,EAAE;oBACP,4DAAY;iBACb;gBACD,OAAO,EAAE;oBACP,+FAAsB;oBACtB,wEAAe;iBAChB;gBACD,SAAS,EAAE;oBACT,EAAC,OAAO,EAAE,sEAAU,EAAE,QAAQ,EAAE,oFAAwB,EAAC;oBACzD,EAAC,OAAO,EAAE,sEAAU,EAAE,QAAQ,EAAE,qEAAS,EAAC;oBAC1C,gEAAU;iBACX;aACF;;;;;;;;;;;;;;AC3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmD;AAEA;AAMZ;;;;;;;AAUhC,MAAM,yBAA0B,SAAQ,+DAAc;IAC3D,YACY,UAAsB,EACD,gBAAqC,EAC5D,oBAA0C,EAC1C,MAAqB,EACrB,uBAAgD,EAChD,WAA+B,EACX,SAA2B,EAC3B,SAAoC;QAEhE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QATjB,eAAU,GAAV,UAAU,CAAY;QACD,qBAAgB,GAAhB,gBAAgB,CAAqB;QAC5D,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,WAAM,GAAN,MAAM,CAAe;QACrB,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,gBAAW,GAAX,WAAW,CAAoB;QACX,cAAS,GAAT,SAAS,CAAkB;QAC3B,cAAS,GAAT,SAAS,CAA2B;IAGlE,CAAC;IAED,mBAAmB,CAAC,IAAI,EAAE,MAAM;QAC9B,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE;YAC9B,MAAM,YAAY,GAAG;gBACnB,QAAQ,EAAE,MAAM,CAAC,UAAU,EAAE;gBAC7B,MAAM,EAAE,IAAI,CAAC,EAAE;aAChB,CAAC;YAEF,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB;SAC1D;IACH,CAAC;IAED,gBAAgB,CAAC,IAAI,EAAE,MAAM;QAC3B,MAAM,MAAM,GACV,IAAI,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;QACrD,IAAI;YACF,IAAI,KAAK,CAAC;YACV,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aACpD;iBAAM,IAAI,MAAM,KAAK,UAAU,EAAE;gBAChC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACtD;YAED,MAAM,MAAM,GAAG;gBACb,MAAM;gBACN,KAAK;aACN,CAAC;YAEF,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;SAC7D;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACxD;IACH,CAAC;IAES,MAAM,CAAC,GAAG;QAClB,iBAAiB;QACjB,mEAAmE;QACnE,wCAAwC;QAExC,SAAS;QACT,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC/B,kDAAkD;gBAClD,6CAA6C;gBAC7C,WAAW;gBACX,gDAAgD;gBAChD,IAAI;gBACJ,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;aAC5C;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;gBACnC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;aACzC;SACF;IACH,CAAC;;kGAnEU,yBAAyB,mLAG1B,yEAAa,6oBAKb,sEAAU,0DACV,sEAAU;4GATT,yBAAyB,WAAzB,yBAAyB;6FAAzB,yBAAyB;cADrC,wDAAU;;sBAIN,oDAAM;uBAAC,yEAAa;;sBAKpB,oDAAM;uBAAC,sEAAU;;sBACjB,oDAAM;uBAAC,sEAAU;;;;;;;;;;;;;;AC3BtB;AAAA;AAAA;AAAA;AAAiD;;;AAI1C,MAAM,gBAAgB;IACzB,YAAoC,KAAK,EAAY,UAAsB;QAAvC,UAAK,GAAL,KAAK;QAAY,eAAU,GAAV,UAAU,CAAY;QACvE,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;IAES,MAAM,CAAC,GAAG,IAAI,IAAG,CAAC;;gFALnB,gBAAgB,yDACL,MAAM;mGADjB,gBAAgB,WAAhB,gBAAgB;6FAAhB,gBAAgB;cAD5B,wDAAU;;sBAEM,oDAAM;uBAAC,MAAM;;;;;;;;;;;;;;ACL9B;AAAA;AAAA;AAAA;AAAiD;;;AAI1C,MAAM,cAAc;IACvB,YAAoC,KAAK,EAAY,UAAsB;QAAvC,UAAK,GAAL,KAAK;QAAY,eAAU,GAAV,UAAU,CAAY;QACvE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAES,MAAM,CAAC,GAAG,IAAI,IAAG,CAAC;;4EALnB,cAAc,yDACH,MAAM;iGADjB,cAAc,WAAd,cAAc;6FAAd,cAAc;cAD1B,wDAAU;;sBAEM,oDAAM;uBAAC,MAAM;;;;;;;;;;;;;;ACL9B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4D;AAET;AAKZ;AAOL;;;;;;;;AAG3B,MAAM,wBAAyB,SAAQ,+DAAc;IAG1D,YAC8B,SAA2B,EACxB,gBAAqC,EAC5D,kBAAsC,EACtC,WAA+B,EAC7B,UAAsB,EACxB,UAAsB,EACtB,uBAAgD,EAChD,gBAAkC;QAE1C,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QATF,cAAS,GAAT,SAAS,CAAkB;QACxB,qBAAgB,GAAhB,gBAAgB,CAAqB;QAC5D,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,gBAAW,GAAX,WAAW,CAAoB;QAC7B,eAAU,GAAV,UAAU,CAAY;QACxB,eAAU,GAAV,UAAU,CAAY;QACtB,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,qBAAgB,GAAhB,gBAAgB,CAAkB;QAG1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,mBAAmB,CAAC,MAAM;QACxB,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACrD,2CAA2C;QAC3C,IAAI,CAAC,UAAU;aACZ,uBAAuB,CACtB,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EACxC,IAAI,CAAC,kBAAkB,CAAC,4BAA4B,CACrD;aACA,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YACtB,MAAM,CAAC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC5C,sDAAsD;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,cAAc,CAAC,EAAE,CAAC;YACrE,MAAM,QAAQ,GACZ,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACnC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;aAC3B;YACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACP,CAAC;IAED,kBAAkB,CAAC,MAAM;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAClC,6DAA6D;QAC7D,sCAAsC;QACtC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACrD,2CAA2C;QAC3C,wHAAwH;QACxH,mFAAmF;QACnF,kBAAkB;QAClB,2BAA2B;QAC3B,gDAAgD;QAChD,4DAA4D;QAC5D,cAAc;QACd,MAAM;QACN,8BAA8B;QAC9B,4DAA4D;QAC5D,QAAQ;QAER,oBAAoB;QACpB,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE1E,6DAA6D;QAC7D,sCAAsC;QACtC,MAAM,YAAY,GAAG,GAAG,EAAE,CACxB,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC1D,IAAI,gBAAgB,YAAY,OAAO,EAAE;YACvC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SACzD;aAAM,IAAI,gBAAgB,YAAY,+CAAU,EAAE;YACjD,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SACxD;aAAM;YACL,YAAY,EAAE,CAAC;SAChB;IACH,CAAC;IAES,MAAM,CAAC,KAAK,EAAE,MAAM;QAC5B,IAAI,KAAK,EAAE;YACT,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtB;QACD,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;QACzB,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAC/C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;SACjC;IACH,CAAC;;gGAnFU,wBAAwB,yDAIzB,sEAAU,0DACV,yEAAa;2GALZ,wBAAwB,WAAxB,wBAAwB;6FAAxB,wBAAwB;cADpC,wDAAU;;sBAKN,oDAAM;uBAAC,sEAAU;;sBACjB,oDAAM;uBAAC,yEAAa;;;;;;;;;;;;;;ACtBzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmD;AAGQ;AAEH;;;AAGxD,mCAAmC;AACnC,oDAAoD;AACpD,6EAA6E;AAC7E,qDAAqD;AACrD,4BAA4B;AAC5B,yEAAyE;AACzE,0EAA0E;AAC1E,sBAAsB;AACtB,gBAAgB;AAChB,aAAa;AAEb,QAAQ;AACR,IAAI;AAEG,MAAM,iBAAkB,SAAQ,oEAAgB;IACnD,YAAsB,UAAsB,EACJ,SAA2B;QAC/D,KAAK,CAAC,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAFzB,eAAU,GAAV,UAAU,CAAY;QACJ,cAAS,GAAT,SAAS,CAAkB;IAEnE,CAAC;IAES,MAAM,CAAC,GAAG;QAChB,IAAI,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE;YAC9C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SACtD;aAAM;YACH,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,SAAS,CACrC,QAAQ,CAAC,EAAE;gBACP,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACvD,CAAC,EACD,KAAK,CAAC,EAAE;gBACJ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC,CACJ,CAAC;SACL;IACL,CAAC;;kFAnBQ,iBAAiB,mLAEN,sEAAU;oGAFrB,iBAAiB,WAAjB,iBAAiB;6FAAjB,iBAAiB;cAf7B,wDAAU;;sBAiBM,oDAAM;uBAAC,sEAAU;;;;;;;;;;;;;;ACxBlC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOuB;AAIgD;AAMvE,6EAA6E;AACO;AACF;AAClF,6EAA6E;AAC7E,+EAA+E;AACZ;;;;;;;;;;;ICrBjE,yEACE;IAAA,kEAAsC;IACxC,4DAAM;;ADkCD,MAAM,sBAAsB;IA8DjC,YAC6B,QAAmC,EACnC,SAA2B;IACtD,8CAA8C;IACvC,UAAsB,EACrB,WAAwB,EACzB,WAA+B,EAC9B,YAAuC,EACvC,WAAqC;IAC7C,sDAAsD;IACtD,wDAAwD;IAChD,iBAAoC,EACpC,gBAAkC;QAXf,aAAQ,GAAR,QAAQ,CAA2B;QACnC,cAAS,GAAT,SAAS,CAAkB;QAE/C,eAAU,GAAV,UAAU,CAAY;QACrB,gBAAW,GAAX,WAAW,CAAa;QACzB,gBAAW,GAAX,WAAW,CAAoB;QAC9B,iBAAY,GAAZ,YAAY,CAA2B;QACvC,gBAAW,GAAX,WAAW,CAA0B;QAGrC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,qBAAgB,GAAhB,gBAAgB,CAAkB;QArE5C,eAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAuE7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;IAC3D,CAAC;IAlED,IAAI,YAAY;QACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;YACtE,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IAEH,UAAU,CAAC,KAAK;QACd,iCAAiC;QACjC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACtC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,gBAAgB;QAClB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC1B,OAAO,CACL,IAAI,CAAC,YAAY;gBACjB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM;gBAC3D,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CACnC,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,gBAAgB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ;YACrC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE;YACtC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,IAAI,CAAC,WAAW,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;IAmBD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;IACzC,CAAC;IAED,wBAAwB;IACxB,sCAAsC;IACtC,IAAI;IAEJ,wBAAwB;IACxB,mCAAmC;IACnC,IAAI;IAEJ,qBAAqB,CAAC,IAAY;QAChC,MAAM,oBAAoB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,GAAG,IAAI,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IAED,iBAAiB;QACf,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAC7C,CAAC;IAED,8BAA8B;IAC9B,4GAA4G;IAC5G,qBAAqB;IACrB,IAAI;IAEJ,UAAU,CAAC,MAAM;QACf,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACnC,mEAAmE;QACnE,wCAAwC;IAC1C,CAAC;IAED,gCAAgC;IAChC,sEAAsE;IACtE,oCAAoC;IACpC,sDAAsD;IACtD,wDAAwD;IACxD,IAAI;IAEJ,QAAQ;QACN,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,oDAAoD;IACpD,kBAAkB;QAChB,IAAI,MAAM,CAAC;QACX,IAAI,QAAQ,CAAC;QAEb,IAAI,IAAI,CAAC,UAAU,CAAC,0BAA0B,EAAE;YAC9C,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;SACjC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,4BAA4B,EAAE;YAChD,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;SACrC;IACH,CAAC;;4FAxIU,sBAAsB,kEA+DvB,sEAAU,mEACV,sEAAU;sGAhET,sBAAsB;sJAAtB,sBAAkB;2KARlB;YACT,6FAAwB;YACxB,+FAAyB;YACzB,wBAAwB;YACxB,yBAAyB;YACzB,8EAAiB;SAClB;QCnCH,yEACE;QAAA,kHACE;QAEF,oEAIO;QACP,oEAIO;QAgBT,4DAAM;;QA5BC,0DAAoB;QAApB,kFAAoB;QAIvB,0DAAuB;QAAvB,oFAAuB;QAKvB,0DAAwB;QAAxB,qFAAwB;;6FD2Bf,sBAAsB;cAZlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,iCAAiC,CAAC;gBAC9C,SAAS,EAAE;oBACT,6FAAwB;oBACxB,+FAAyB;oBACzB,wBAAwB;oBACxB,yBAAyB;oBACzB,8EAAiB;iBAClB;aACF;;sBAgEI,oDAAM;uBAAC,sEAAU;;sBACjB,oDAAM;uBAAC,sEAAU;6pBA/DX,aAAa;kBAArB,mDAAK;YACG,kBAAkB;kBAA1B,mDAAK;YAiCN,UAAU;kBADT,0DAAY;mBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;AEvE3C;AAAA;AAAA;AAAA;AAA2C;AACJ;;AAKhC,MAAM,WAAW;IAQtB;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,oDAAe,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAND,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAOD,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IAGD,QAAQ,CAAC,IAAI;QACX,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;;sEApBU,WAAW;8FAAX,WAAW,WAAX,WAAW,mBAFV,MAAM;6FAEP,WAAW;cAHvB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmD;AACoB;AAE5B;;;AAQpC,MAAM,UAAU;IAWrB,YAC8B,SAAS,EAC7B,gBAAkC;QADd,cAAS,GAAT,SAAS;QAC7B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAV5C,kBAAa,GAAiB,IAAI,4CAAO,EAAE,CAAC;QAC5C,oBAAe,GAAiB,IAAI,4CAAO,EAAE,CAAC;QAC9C,+BAA0B,GAAG,KAAK,CAAC;QACnC,iCAA4B,GAAG,KAAK,CAAC;QACrC,wBAAmB,GAAG,EAAE,CAAC;QACzB,0BAAqB,GAAG,EAAE,CAAC;QAOzB,+CAA+C;QAC/C,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEM,UAAU,CAAC,OAAa;QAC7B,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAChD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5C,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACnD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,kCAAkC;QAClC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACrD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,qBAAqB,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,4BAA4B,GAAG,KAAK,CAAC;QAC1C,IAAI,OAAO,EAAE;YACX,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAChE,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC;YAChC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;SAChD;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SAClD;IACH,CAAC;IAEO,aAAa,CAAC,UAAU,EAAE,MAAM;QACtC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC;aAC/B,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACb,MAAc,CAAC,MAAM,GAAG,MAAM,CAAC;aACjC;YACD,gCAAgC;YAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBACpC,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;aACxC;YACD,MAAM,CAAC,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC;YACzC,2CAA2C;YAE3C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QACrD,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QACL,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1D,cAAc,CAAC,SAAS,GAAG,oBAAoB,CAAC;QAChD,cAAc,CAAC,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;QACxC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,cAAc,CAAC;aACxC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACb,MAAc,CAAC,QAAQ,GAAG,QAAQ,CAAC;aACrC;YACD,0CAA0C;YAC1C,qCAAqC;YACrC,IAAI;YACJ,2CAA2C;YAC3C,IAAI,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBACtC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACzC,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;aAC1C;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,sBAAsB,CAAC,OAAO;QAC5B,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAChE,YAAY,CAAC,QAAQ,GAAG,OAAO,CAAC;YAChC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;SAC5B;IACH,CAAC;IAED,gBAAgB,CAAC,KAA+C,EAAE,QAAQ;QACxE,MAAM,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;gBACpC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aACtC;YACD,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,sBAAsB,CAAC,WAAW,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,KAA8B,EAAE,QAAQ;QACzD,MAAM,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAC7D,CAAC,QAAQ,EAAE,EAAE;YACX,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;gBACtC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aACxC;YACD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACjD,wBAAwB,CAAC,WAAW,EAAE,CAAC;QACzC,CAAC,CACF,CAAC;IACJ,CAAC;IAEM,OAAO,CAAC,WAAW;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,UAAU,CAAC,MAAM;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/D,WAAW,CAAC,OAAO,GAAG,MAAM,CAAC;QAC7B,WAAW,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QAChD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,MAAM;QAChB,MAAM,MAAM,GAAG;YACb,sEAAsE;YACtE;gBACE,+CAA+C;gBAC/C,OAAO,EAAE;oBACP,SAAS,EAAE;wBACT,MAAM,EAAE;4BACN,IAAI,EAAE;gCACJ,SAAS,EAAE,SAAS;gCACpB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;4BACD,KAAK,EAAE;gCACL,SAAS,EAAE,SAAS;gCACpB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;4BACD,GAAG,EAAE;gCACH,SAAS,EAAE,kBAAkB;gCAC7B,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;4BACD,QAAQ,EAAE;gCACR,SAAS,EAAE,OAAO;gCAClB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;4BACD,OAAO,EAAE;gCACP,SAAS,EAAE,QAAQ;gCACnB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;yBACF;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,SAAS,EAAE,OAAO;gCAClB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,CAAC;gCACZ,MAAM,EAAE,SAAS;6BAClB;4BACD,KAAK,EAAE;gCACL,SAAS,EAAE,OAAO;gCAClB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,CAAC;gCACZ,MAAM,EAAE,SAAS;6BAClB;4BACD,GAAG,EAAE;gCACH,SAAS,EAAE,OAAO;gCAClB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,CAAC;gCACZ,MAAM,EAAE,SAAS;6BAClB;yBACF;qBACF;oBACD,WAAW,EAAE;wBACX,MAAM,EAAE;4BACN,IAAI,EAAE;gCACJ,SAAS,EAAE,aAAa;gCACxB,WAAW,EAAE,aAAa;gCAC1B,MAAM,EAAE,MAAM;6BACf;yBACF;qBACF;oBACD,QAAQ,EAAE,aAAa;iBACxB;gBACD,oEAAoE;gBACpE,IAAI,EAAE;oBACJ,SAAS,EAAE;wBACT,MAAM,EAAE;4BACN,IAAI,EAAE;gCACJ,SAAS,EAAE,SAAS;gCACpB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;4BACD,KAAK,EAAE;gCACL,SAAS,EAAE,SAAS;gCACpB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;4BACD,OAAO,EAAE;gCACP,SAAS,EAAE,QAAQ;gCACnB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;yBACF;wBACD,KAAK,EAAE;4BACL,IAAI,EAAE;gCACJ,SAAS,EAAE,OAAO;gCAClB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,SAAS;6BAClB;yBACF;qBACF;oBACD,QAAQ,EAAE;wBACR,MAAM,EAAE;4BACN,IAAI,EAAE;gCACJ,SAAS,EAAE,OAAO;gCAClB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,SAAS;gCACjB,IAAI,EAAE,cAAc;6BACrB;4BACD,OAAO,EAAE;gCACP,SAAS,EAAE,QAAQ;gCACnB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;yBACF;qBACF;oBACD,WAAW,EAAE;wBACX,MAAM,EAAE;4BACN,IAAI,EAAE;gCACJ,SAAS,EAAE,aAAa;gCACxB,WAAW,EAAE,aAAa;gCAC1B,MAAM,EAAE,MAAM;6BACf;4BACD,KAAK,EAAE;gCACL,SAAS,EAAE,SAAS;gCACpB,WAAW,EAAE,OAAO;gCACpB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;4BACD,OAAO,EAAE;gCACP,SAAS,EAAE,SAAS;gCACpB,WAAW,EAAE,QAAQ;gCACrB,WAAW,EAAE,GAAG;gCAChB,SAAS,EAAE,GAAG;gCACd,MAAM,EAAE,MAAM;6BACf;yBACF;qBACF;oBACD,QAAQ,EAAE,aAAa;iBACxB;aACF;SACF,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAEO,SAAS,CAAC,GAAG;QACnB,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,CAAC;;oEAhTU,UAAU,yDAYX,sEAAU;6FAZT,UAAU,WAAV,UAAU,mBAFT,MAAM;6FAEP,UAAU;cAHtB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;sBAaI,oDAAM;uBAAC,sEAAU;;;;;;;;;;;;;;ACvBtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmD;AAGR;AACgB;;;AAOpD,MAAM,kBAAkB;IAM3B,YAAwC,UAAqC,EAAU,WAAwB;QAAvE,eAAU,GAAV,UAAU,CAA2B;QAAU,gBAAW,GAAX,WAAW,CAAa;QAOxG,yBAAoB,GAAG,CAAC,CAAC;QAGzB,gBAAW,GAAG,IAAI,CAAC;QAE1B,iBAAiB;QACV,mBAAc,GAAG,EAAE,CAAC;QACpB,gBAAW,GAAG,EAAE,CAAC,CAAC,eAAe;QACjC,mBAAc,GAAG,EAAE,CAAC,CAAC,eAAe;QACpC,WAAM,GAA4B,EAAE,CAAC;QACrC,gBAAW,GAAG,EAAE,CAAC;QACxB,oCAAoC;QAC7B,uBAAkB,GAAiB,IAAI,4CAAO,EAAE,CAAC;QAIxD,OAAO;QACC,eAAU,GAAG,EAAE,CAAC;QACZ,iGAAiG;QACjG,sGAAsG;QACtG,6FAA6F;QAC7F,oGAAoG;QACzG,eAAU,GAAiB,IAAI,4CAAO,EAAE,CAAC;QACzC,iBAAY,GAAG,CAAC,CAAC;QAEjB,uBAAkB,GAAG,IAAI,CAAC;QAE1B,0BAAqB,GAAG;YAC7B,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;SACZ,CAAC;QAEK,eAAU,GAAG;QAChB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,sBAAsB;QACtB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,qBAAqB;QACrB,wBAAwB;QACxB,sBAAsB;QACtB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;QACjB,iBAAiB;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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LoginComponent } from './login/login.component';\nimport { AuthGuard } from './auth/auth.guard';\nimport {PackageOptionsComponent} from './package-selector/package-options/package-options.component';\nimport {HomePageComponent} from './package-selector/home-page/home-page.component';\nimport {SelectionComponent} from './package-selector/selection/selection.component';\nimport { AnotherPackageComponent } from './package-selector/another-package/another-package.component';\nimport {ProjectInfoComponent} from './package-selector/project-info/project-info.component';\nimport {VideoComponent} from './package-selector/video/video.component';\nimport { LoginClientComponent } from './login-client/login-client.component';\nimport { CheckoutComponent } from './checkout/checkout.component';\nimport {AdminAreaComponent} from './backoffice/admin-area/admin-area.component';\nimport {BackofficeModule} from './backoffice/backoffice.module';\nimport { SummaryComponent } from './summary/summary.component';\nimport { LinkAccountComponent } from './link-account/link-account.component';\n\nconst routes: Routes = [\n {\n path: '',\n pathMatch: 'full',\n redirectTo: '/homepage'\n },\n {\n path: '',\n canActivateChild: [AuthGuard],\n children: [\n {path: 'homepage', component: HomePageComponent},\n {path: 'project-info', component: ProjectInfoComponent},\n {path: 'video', component: VideoComponent},\n {path: 'package-info/:id', component: PackageOptionsComponent},\n {path: 'selection/packages', component: AnotherPackageComponent},\n {path: 'selection/map', component: SelectionComponent},\n {path: 'summary', component: SummaryComponent},\n {path: 'checkout', component: CheckoutComponent},\n {path: 'link-account', component: LinkAccountComponent}\n ]\n },\n {\n path: 'admin-area',\n canLoad: [AuthGuard],\n loadChildren: () => import('./backoffice/backoffice.module').then( m => m.BackofficeModule)\n },\n {\n path: 'login',\n component: LoginComponent\n }\n // // comentar esto\n // {\n // path: 'checkout',\n // component: CheckoutComponent\n // },\n // {\n // path: 'summary',\n // component: SummaryComponent\n // },\n // {\n // path: 'pruebafd',\n // component: PruebasAlejandroComponent\n // }\n // {\n // path: 'homepage',\n // component: HomePageComponent,\n // children: [\n // {\n // path: 'pinfo/:packageId',\n // component: PackageOptionsComponent\n // }\n // ]\n // },\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(\n routes,\n {\n // enableTracing: environment.routes\n }\n ),\n ],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { UserModel } from './shared/models';\nimport { UserService } from './services';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\nimport { environment } from '../environments/environment';\nimport * as appPackage from '../../package.json';\n// declare let gtag;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss'],\n})\nexport class AppComponent implements OnInit {\n user: UserModel;\n salesRepUsername: string;\n title = 'staplescenter-ticket-management-portal';\n salesRepName$ = new BehaviorSubject(false);\n version: string;\n\n constructor(\n private userService: UserService,\n private router: Router,\n private ref: ChangeDetectorRef,\n private routerActive: ActivatedRoute\n ) {\n // this.router.events.subscribe(event => {\n // if (event instanceof NavigationEnd) {\n // gtag('config', 'UA-74364748-15',\n // {\n // page_path: event.urlAfterRedirects\n // }\n // );\n // }\n // });\n }\n\n ngOnInit(): void {\n this.loadAnayliticsScripts(environment.analytics);\n this.version = appPackage.version;\n }\n\n private loadAnayliticsScripts(analyticsId: string): void {\n // first part analytics node\n const node = document.createElement('script'); // creates the script tag\n node.src = `https://www.googletagmanager.com/gtag/js?id=${analyticsId}`; // sets the source (insert url in between quotes)\n node.async = true; // makes script run asynchronously\n node.type = 'text/javascript'; // set the script type\n document.getElementsByTagName('head')[0].appendChild(node);\n // second part analytics node\n const node2 = document.createElement('script'); // creates the script tag\n node2.innerHTML = `window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${analyticsId}');`;\n node2.type = 'text/javascript'; // set the script type\n // append to head of document\n document.getElementsByTagName('head')[0].appendChild(node2);\n }\n\n // isAdmin(): boolean {\n // if (this.user) {\n // return (this.user.takeover.length > 0);\n // }\n // }\n\n // isLogin(): boolean {\n // return !this.router.url.includes('/login');\n // }\n\n // getTheme(): any {\n // return this.themeSelector.isDarkTheme;\n // }\n}\n","
\n
\n \n
\n \n
\n
\n
\n
\n
v{{ version }}
\n
\n
\n
\n","import { BrowserModule } from '@angular/platform-browser';\nimport { APP_INITIALIZER, LOCALE_ID, NgModule } from '@angular/core';\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { FormsModule } from '@angular/forms';\nimport { APP_CONFIG, ApplicationConfiguration } from './configuration/ticket-management-portal-configuration';\nimport { LoginModule } from './login/login.module';\nimport { DigitalvenueModule } from './digitalvenue/digitalvenue.module';\nimport { SharedModule } from './shared/shared.module';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { ModalModule} from 'ngx-bootstrap/modal';\nimport { AuthInterceptor } from './auth/auth-interceptor';\nimport {TooltipModule} from 'ngx-bootstrap/tooltip';\nimport {TopbarComponent} from './topbar/topbar.component';\nimport {PackageSelectorModule} from './package-selector/package-selector.module';\nimport { CheckoutComponent } from './checkout/checkout.component';\nimport { InitializerService } from './services/initializer.service';\nimport { LoginClientComponent } from './login-client/login-client.component';\nimport { DVM_CALLBACKS, DVM_INTERCEPTORS } from './digitalvenue/digitalvenue.configuration';\nimport { DvmCallbacksService } from './services/dvm-callbacks.service';\nimport {BackofficeModule} from './backoffice/backoffice.module';\nimport { SummaryComponent } from './summary/summary.component';\nimport {ToastrModule} from 'ngx-toastr';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport { CartDataInterceptor } from './services/cart-data.interceptor';\nimport { SingleSeatInterceptor } from './services/single-seat.interceptor';\nimport { LinkAccountComponent } from './link-account/link-account.component';\nimport { AssignPersonModalComponent } from './assign-person-modal/assign-person-modal.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n TopbarComponent,\n LoginClientComponent,\n SummaryComponent,\n LinkAccountComponent,\n AssignPersonModalComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n FormsModule,\n LoginModule,\n DigitalvenueModule,\n PackageSelectorModule,\n SharedModule,\n HttpClientModule,\n ModalModule.forRoot(),\n TooltipModule.forRoot(),\n BackofficeModule,\n ToastrModule.forRoot(),\n BrowserAnimationsModule\n ],\n providers: [\n {provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true},\n {provide: DVM_CALLBACKS, useClass: DvmCallbacksService},\n {provide: APP_CONFIG, useValue: ApplicationConfiguration},\n {provide: LOCALE_ID, useValue: 'en-GB'},\n {provide: DVM_INTERCEPTORS, useClass: CartDataInterceptor, multi: true},\n {provide: APP_INITIALIZER, useFactory: (initializer: InitializerService) => () => initializer.init(),\n multi: true , deps: [InitializerService] }\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n","// import { Component, OnInit } from '@angular/core';\n// import { BsModalRef } from 'ngx-bootstrap/modal';\n//\n// @Component({\n// selector: 'app-assign-person-modal',\n// templateUrl: './assign-person-modal.component.html',\n// styleUrls: ['./assign-person-modal.component.scss']\n// })\n// export class AssignPersonModalComponent implements OnInit {\n//\n// step: \"create-customer\" | \"select\" | \"create-business\" | \"edit-customer\" | null = null;\n//\n// currentCustomer;\n//\n// selectedClient;\n//\n// constructor(private bsModalRef: BsModalRef) { }\n//\n// ngOnInit(): void {\n// }\n//\n// selectStep(step) {\n// this.step = step;\n// }\n//\n//\n// createCustomer(val) {\n//\n// }\n//\n// selectClient(client) {\n// this.selectedClient = client;\n// this.closeModal();\n// }\n//\n// closeModal() {\n// this.bsModalRef.hide();\n// }\n//\n// // -EDIT CUSTOMER (use customer)-\n//\n// useCustomer(customer) {\n// this.currentCustomer = customer;\n// this.selectStep(\"edit-customer\");\n// }\n//\n// }\n\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { take } from 'rxjs/operators';\nimport { CustomerService } from '../services/customer.service';\nimport { FlowcontrolService } from '../services/flowcontrol.service';\nimport { NavigationService } from '../services/navigation.service';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\n@Component({\n selector: 'app-assign-person-modal',\n templateUrl: './assign-person-modal.component.html',\n styleUrls: ['./assign-person-modal.component.scss'],\n})\nexport class AssignPersonModalComponent implements OnInit {\n pageHeader: string = 'Select Account Option';\n\n step: 'create-customer' | 'select' | 'create-business' | null = null;\n businessStep:\n | 'create-business-member'\n | 'find-stuct'\n | 'assign-struct-to-member'\n | 'create-struct'\n | null = null;\n\n editCustomerPhase = false;\n\n atBusinessPage = false;\n\n selectedStruct;\n\n selectedClient;\n\n currentCustomer;\n\n constructor(\n private navigation: NavigationService,\n private activatedRoute: ActivatedRoute,\n private flowControl: FlowcontrolService,\n private bsModalRef: BsModalRef\n ) {}\n\n ngOnInit(): void {}\n\n goToMethod(route: string) {\n this.navigation.goTo(route, { relativeTo: this.activatedRoute });\n }\n\n handleBack() {\n if (this.editCustomerPhase) {\n this.editCustomerPhase = false;\n this.currentCustomer = null;\n } else if (this.atBusinessPage && this.businessStep) {\n this.businessStep = null;\n this.pageHeader = 'Business Page';\n } else if (this.atBusinessPage && !this.businessStep) {\n this.atBusinessPage = false;\n this.pageHeader = 'Customer Account Options';\n } else if (!this.atBusinessPage && this.step) {\n this.step = null;\n this.pageHeader = 'Customer Account Options';\n } else {\n this.closeModal();\n }\n }\n\n selectStep(step) {\n this.step = step;\n\n if (step === 'create-customer') {\n this.pageHeader = 'Create New Customer';\n } else if (step === 'select') {\n this.pageHeader = 'Assign Customer - Find Customer';\n }\n }\n\n selectBusinessStep(step) {\n this.businessStep = step;\n\n if (step === 'create-business-Member') {\n this.pageHeader = 'Assign Customer - Create Business Member';\n } else if (step === 'assign-structu-to-member') {\n this.pageHeader = 'Assign Customer - Assign Customer to Structure';\n } else if (step === 'create-struct') {\n this.pageHeader = 'Assign Customer - Create Structure';\n }\n }\n\n toggleBusinessPage(isOpen?: boolean) {\n this.atBusinessPage = isOpen ?? !this.atBusinessPage;\n this.pageHeader = this.atBusinessPage\n ? 'Business Account Options'\n : 'Customer Account Options';\n }\n\n // -SELECT- STEP\n\n selectClient(client) {\n this.currentCustomer = client;\n this.editCustomerPhase = true;\n }\n\n // -CREATE STRUCT- STEP\n createBusinessCustomer(struct) {}\n\n // -EDIT CUSTOMER (use customer)-\n\n useCustomer(customer) {\n this.selectedClient = customer;\n this.closeModal();\n }\n\n handleNewStruct(struct) {\n this.selectedStruct = struct;\n this.businessStep = 'create-business-member';\n }\n\n closeModal() {\n this.bsModalRef.hide();\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\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 \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
\n \n
\n\n \n\n\n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n \n
\n
\n\n","import { Injectable } from '@angular/core';\nimport {\n HttpInterceptor,\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpErrorResponse,\n} from '@angular/common/http';\nimport { Router } from '@angular/router';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { MessagingService } from '../shared/modals/messaging.service';\nimport { NavigationService } from '../services/navigation.service';\n\n@Injectable()\nexport class AuthInterceptor implements HttpInterceptor {\n isShown = false;\n constructor(\n private router: Router,\n private navigatonService: NavigationService,\n private messageService: MessagingService\n ) {}\n\n private handleAuthError(error: HttpErrorResponse): Observable {\n console.log('Tenemos un error', error);\n // handle the auth error or rethrow\n if (error.status === 401 || error.status === 403) {\n if (this.router.url !== '/login' && !this.isShown) {\n this.isShown = true;\n this.messageService.info(\n 'Oops!',\n `Your session has been expired.`,\n 'Accept',\n () => {\n this.isShown = false;\n localStorage.removeItem('access_token');\n this.router.navigateByUrl('/login');\n }\n );\n }\n } else if (error.status === 503) {\n this.messageService.error(\n 'Oops!',\n `Something went wrong: ${error.error.message}`,\n 'Accept',\n () => {\n // this.router.navigate([\"homepage\"]);\n this.navigatonService.resetHistory();\n }\n );\n }\n return throwError(error);\n }\n\n intercept(\n request: HttpRequest,\n next: HttpHandler\n ): Observable> {\n // Clone the request to add the new header.\n\n // Commented because it's used on other interceptor\n // const headerName = 'X-CSRFTOKEN';\n // const token = this.auth.getCsrfToken() as string;\n // if (token !== null && !request.headers.has(headerName)) {\n // request = request.clone({ headers: request.headers.set(headerName, token) });\n // }\n return next\n .handle(request)\n .pipe(catchError((x) => this.handleAuthError(x)));\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n CanActivate,\n CanActivateChild,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n UrlTree,\n Router,\n CanLoad,\n Route, UrlSegment\n} from '@angular/router';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { map, mapTo } from 'rxjs/operators';\nimport { UserService } from '../services';\nimport {UserModel} from \"../shared/models\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate, CanActivateChild, CanLoad {\n\n constructor(private router: Router, private userService: UserService) { }\n\n canActivate(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable {\n\n if (localStorage.getItem('access_token') === null) {\n this.router.navigate(['/login']);\n return of(false);\n } else {\n const token = JSON.parse(localStorage.getItem('access_token'));\n const date = Date.now();\n if (date > token.expires_at) {\n localStorage.removeItem('access_token');\n this.router.navigate(['/login']);\n return of(false);\n } else {\n return this.userService.getUserLogged()\n .pipe(\n mapTo(true)\n );\n }\n }\n }\n\n canActivateChild(\n next: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable {\n return this.canActivate(next, state);\n }\n\n canLoad(route: Route, segments: UrlSegment[]): Observable {\n if (localStorage.getItem('access_token') === null) {\n this.router.navigate(['/login']);\n return of(false);\n } else {\n const token = JSON.parse(localStorage.getItem('access_token'));\n const date = Date.now();\n if (date > token.expires_at) {\n localStorage.removeItem('access_token');\n this.router.navigate(['/login']);\n return of(false);\n } else {\n return this.userService.getUserLogged()\n .pipe(\n map(user => {\n if (user.user.type === 'root' || user.user.type === 'admin') {\n return true;\n } else {\n this.router.navigate(['/homepage']);\n return false;\n }\n }));\n }\n }\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-admin-area',\n templateUrl: './admin-area.component.html',\n styleUrls: ['./admin-area.component.scss']\n})\nexport class AdminAreaComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { OrderService } from '../services/order.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { OrderModel } from '../../../shared/models/order.model';\nimport { ToastrService } from 'ngx-toastr';\nimport { NgForm } from '@angular/forms';\nimport { saveAs } from 'file-saver';\n\n@Component({\n selector: 'app-order-details',\n templateUrl: './order-details.component.html',\n styleUrls: ['./order-details.component.scss'],\n})\nexport class OrderDetailsComponent implements OnInit {\n order: OrderModel;\n\n constructor(\n public orderService: OrderService,\n private route: ActivatedRoute,\n private toastr: ToastrService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.init();\n }\n\n private init(): void {\n const id = this.route.snapshot.paramMap.get('id');\n this.getOrder(id);\n }\n\n private getOrder(id: string): void {\n this.orderService.getOrder(id).subscribe(\n (response) => {\n this.order = response;\n },\n (error) => {\n if (\n error.hasOwnProperty('codeError') &&\n error.codeError === 'EntityNotFound'\n ) {\n this.toastr.error('', 'Order not exists');\n }\n this.router.navigate(['/admin-area/orders-list']);\n }\n );\n }\n\n onSubmit(form: NgForm): void {}\n\n toString(text: any): string {\n return JSON.stringify(text);\n }\n\n downloadSecutix(response): void {\n const save = JSON.stringify(response);\n const blob = new Blob([save], {\n type: 'application/json',\n });\n saveAs(blob, 'raw_response_secutix.json');\n }\n\n presentSeats(seats): string {\n let str = '';\n for (const s of seats) {\n str += `${s},`;\n }\n return str;\n }\n\n updateOrder(order: OrderModel): void {\n this.orderService.updateOrder(order).subscribe(\n (response: any) => {\n this.init();\n },\n (error) => {\n console.log(error);\n }\n );\n }\n}\n","
\n
\n \n Back\n \n \n
\n\n
\n
\n
\n
\n Order\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
\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 Order Package {{ pkg.id }}\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
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n \n Download Raw Response\n \n
\n
\n
\n
\n\n
\n \n Sales Rep. Nยบ {{ order.sales_rep.username }}\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","import { Component, OnInit } from '@angular/core';\nimport { OrderService } from '../services/order.service';\nimport { OrderModel } from '../../../shared/models/order.model';\nimport { ActivatedRoute } from '@angular/router';\nimport { PageChangedEvent } from 'ngx-bootstrap/pagination';\nimport { PaginationModel } from '../../../shared/models/PaginationModel';\n\n@Component({\n selector: 'app-order-list',\n templateUrl: './order-list.component.html',\n styleUrls: ['./order-list.component.scss']\n})\nexport class OrderListComponent implements OnInit {\n\n orderList: Array;\n // PaginationModel variables\n page: number;\n totalItems: number;\n itemsPerPage = 10;\n totalPages: number;\n currentPage: number;\n\n constructor(public orderService: OrderService,\n private route: ActivatedRoute) {\n this.currentPage = 1;\n }\n\n ngOnInit(): void {\n this.init();\n }\n\n private init(): void {\n const startpage = parseInt(this.route.snapshot.queryParamMap.get('startpage'), 10);\n this.currentPage = isNaN(startpage) ? 1 : startpage;\n this.getOrders();\n }\n\n private getOrders(page: number = 1): void {\n this.orderService.getOrders(page).subscribe((orders: PaginationModel) => {\n this.orderList = orders.list;\n this.totalItems = orders.count;\n this.totalPages = this.totalItems / this.itemsPerPage;\n document.getElementById('user-table')?.classList.remove('loading');\n });\n }\n\n public pageChanged(event: PageChangedEvent): void {\n document.getElementById('user-table').classList.add('loading');\n this.getOrders(event.page);\n }\n\n}\n","
\n
\n \n Back\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
Order IDFile IDOrder StateCreate AtUpdate At
{{ order.order_id }}{{ order.fileId }}{{ order.status }}\n {{ orderService.prettyDate(order.createAt) }}\n \n {{ orderService.prettyDate(order.updateAt) }}\n \n \n Inspect\n \n
\n\n
\n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RouterModule } from '@angular/router';\nimport { PaginationModule } from 'ngx-bootstrap/pagination';\nimport { FormsModule } from '@angular/forms';\nimport { OrderListComponent } from './order-list/order-list.component';\nimport { OrderDetailsComponent } from './order-details/order-details.component';\n\n\n\n@NgModule({\n declarations: [OrderListComponent, OrderDetailsComponent],\n imports: [\n CommonModule,\n RouterModule,\n PaginationModule,\n FormsModule\n ]\n})\nexport class OrderManagementModule { }\n","import { HttpClient } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { PaginationModel } from '../../../shared/models/PaginationModel';\nimport { OrderModel } from '../../../shared/models/order.model';\nimport { Injectable } from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderService {\n\n private apiRoot = '/bo';\n\n constructor(private http: HttpClient) {\n }\n\n public getOrders(page: number = 1): Observable> {\n const url = `${this.apiRoot}/order?page=${page}`;\n return this.http.get>(url);\n }\n\n public getOrder(id: string): Observable {\n return this.http.get(`${this.apiRoot}/order/${id}`);\n }\n\n public updateOrder(order: OrderModel): Observable {\n return this.http.patch(`${this.apiRoot}/order/${order.order_id}`, order);\n }\n\n public prettyDate(dateStr: string): string {\n const datePipe = new DatePipe('en-US');\n const str = datePipe.transform(dateStr, 'medium');\n return str;\n }\n}\n","import { Injectable } from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {Observable} from 'rxjs';\nimport {UserModel} from '../../../../shared/models';\nimport {PaginationModel} from '../../../shared/models/PaginationModel';\nimport {ResponseModel} from '../../../shared/models/ResponseModel';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserService {\n\n private apiRoot = '/bo';\n\n constructor(private http: HttpClient) { }\n\n public getUsers(page: number = 1): Observable> {\n const url = `${this.apiRoot}/user?page=${page}`;\n return this.http.get>(url);\n }\n\n public createUser(user: UserModel): Observable {\n const url = `${this.apiRoot}/user`;\n return this.http.post(url, user);\n }\n\n public getUser(id: string): Observable {\n const url = `${this.apiRoot}/user/${id}`;\n return this.http.get(url);\n }\n\n public updateUser(user: UserModel): Observable> {\n const url = `${this.apiRoot}/user/${user.id}`;\n return this.http.patch>(url, user);\n }\n\n public deleteUser(id: number): Observable<{message: string}> {\n const url = `${this.apiRoot}/user/${id}`;\n return this.http.delete<{message: string}>(url);\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport {UserModel} from '../../../../shared/models';\nimport {NgForm} from '@angular/forms';\nimport {UserService} from '../service/user.service';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {MessagingService} from '../../../../shared/modals/messaging.service';\nimport {ToastrService} from 'ngx-toastr';\n\n@Component({\n selector: 'app-user-create',\n templateUrl: './user-create.component.html',\n styleUrls: ['./user-create.component.scss']\n})\nexport class UserCreateComponent implements OnInit {\n\n user: UserModel;\n\n constructor(private userService: UserService,\n private route: ActivatedRoute,\n private messageService: MessagingService,\n private toastr: ToastrService,\n private router: Router) {\n this.user = {\n email: '',\n first_name: '',\n last_name: '',\n phone: '',\n type: 'sales_rep',\n username: '',\n is_active: true\n };\n }\n\n ngOnInit(): void {\n }\n\n public onSubmit(form: NgForm): void {\n this.userService.createUser(this.user).subscribe(\n (user: UserModel) => {\n this.toastr.success('User created successfully', 'Created');\n this.router.navigate(['user-list']);\n }, (error: Error) => {\n this.toastr.success(error.message, 'Could not create');\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 \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
\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\n\n
\n
\n \n
\n
\n\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport { UserModel } from '../../../../shared/models';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { UserService } from '../service/user.service';\nimport { MessagingService } from '../../../../shared/modals/messaging.service';\nimport { ToastrService } from 'ngx-toastr';\nimport { NgForm } from '@angular/forms';\nimport { ResponseModel } from '../../../shared/models/ResponseModel';\n\n@Component({\n selector: 'app-user-detail',\n templateUrl: './user-detail.component.html',\n styleUrls: ['./user-detail.component.scss'],\n})\nexport class UserDetailComponent implements OnInit {\n user: UserModel;\n\n constructor(\n private userService: UserService,\n private route: ActivatedRoute,\n private messageService: MessagingService,\n private toastr: ToastrService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n this.init();\n }\n\n private init(): void {\n const id = this.route.snapshot.paramMap.get('id');\n this.setUser(id);\n }\n\n private setUser(id: string): void {\n this.userService.getUser(id).subscribe(\n (user: UserModel) => {\n this.user = user;\n },\n (error: Error) => {\n console.log(error);\n }\n );\n }\n\n public onSubmit(form: NgForm): void {\n this.userService.updateUser(this.user).subscribe(\n (response: ResponseModel) => {\n this.toastr.success('User updated successfully', 'Updated');\n this.init();\n },\n (error: Error) => {\n this.toastr.success(error.message, 'Could not update');\n }\n );\n }\n\n public onDelete(): void {\n this.messageService.info(\n 'Delete',\n `Do you really want to delete the user: ${this.user.username}`,\n 'Delete',\n () => {\n this.userService.deleteUser(this.user.id).subscribe(\n (response: { message: string }) => {\n this.toastr.success(response.message, 'Deleted');\n this.router.navigate(['user-list']);\n },\n (error) => {\n this.toastr.success(error.error.message, 'Could not delete');\n }\n );\n },\n 'Cancel',\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
\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
\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
\n
\n \n \n
\n
\n
\n\n
\n
\n \n
\n
\n\n
\n
\n\n\n
\n","import { Component, OnInit } from '@angular/core';\nimport {UserService} from '../service/user.service';\nimport {UserModel} from '../../../../shared/models';\nimport {PaginationModel} from '../../../shared/models/PaginationModel';\nimport {PageChangedEvent} from 'ngx-bootstrap/pagination';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {MessagingService} from '../../../../shared/modals/messaging.service';\nimport {ToastrService} from 'ngx-toastr';\n\n\n@Component({\n selector: 'app-user-list',\n templateUrl: './user-list.component.html',\n styleUrls: ['./user-list.component.scss']\n})\nexport class UserListComponent implements OnInit {\n\n userList: Array;\n\n // PaginationModel varialbes\n page: number;\n totalItems: number;\n itemsPerPage = 10;\n totalPages: number;\n currentPage: number;\n\n constructor(private userService: UserService,\n private route: ActivatedRoute,\n private messageService: MessagingService,\n private toastr: ToastrService,\n private router: Router) {\n this.currentPage = 1;\n }\n\n ngOnInit(): void {\n this.init();\n }\n\n private init(): void {\n this.getUsers();\n }\n\n private getUsers(page: number = 1): void {\n const startpage = parseInt(this.route.snapshot.queryParamMap.get('startpage'), 10);\n this.currentPage = isNaN(startpage) ? 1 : startpage;\n this.userService.getUsers(page).subscribe(\n (users: PaginationModel) => {\n this.userList = users.list;\n this.totalItems = users.count;\n this.totalPages = this.totalItems / this.itemsPerPage;\n document.getElementById('user-table')?.classList.remove('loading');\n }\n );\n }\n\n public pageChanged(event: PageChangedEvent): void {\n document.getElementById('user-table').classList.add('loading');\n this.getUsers(event.page);\n }\n\n public onDelete(user: UserModel, index: number): void {\n this.messageService.info(\n 'Delete',\n `Do you really want to delete the user: ${user.username}`,\n 'Delete',\n () => {\n this.userService.deleteUser(user.id).subscribe(\n (response: {message: string}) => {\n this.toastr.success(response.message, 'Deleted');\n this.userList.splice(index, 1);\n }, (error) => {\n this.toastr.success(error.error.message, 'Could not delete');\n }\n );\n },\n 'Cancel',\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 \n \n \n \n \n \n \n \n \n
idUsernameTypeActiveFirst nameLast nameEmailPhoneDetails
{{user.id}}{{user.username}}{{user.type}}{{user.is_active}}{{user.first_name}}{{user.last_name}}{{user.email}}{{user.phone}}\n \n \n
\n\n
\n \n \n \n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UserListComponent } from './user-list/user-list.component';\nimport {RouterModule} from '@angular/router';\nimport { UserDetailComponent } from './user-detail/user-detail.component';\nimport {PaginationModule} from 'ngx-bootstrap/pagination';\nimport {FormsModule} from '@angular/forms';\nimport { UserCreateComponent } from './user-create/user-create.component';\n\n\n\n@NgModule({\n declarations: [UserListComponent, UserDetailComponent, UserCreateComponent],\n imports: [\n CommonModule,\n RouterModule,\n PaginationModule,\n FormsModule\n ]\n})\nexport class UserManagementModule { }\n","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {AdminAreaComponent} from './admin-area/admin-area.component';\nimport {UserListComponent} from './admin-area/user-management/user-list/user-list.component';\nimport {UserDetailComponent} from './admin-area/user-management/user-detail/user-detail.component';\nimport {UserCreateComponent} from './admin-area/user-management/user-create/user-create.component';\nimport { OrderListComponent } from './admin-area/order-management/order-list/order-list.component';\nimport { OrderDetailsComponent } from './admin-area/order-management/order-details/order-details.component';\n\nconst routes: Routes = [\n {\n path: '',\n children: [\n { path: '', component: AdminAreaComponent },\n { path: 'user-list', component: UserListComponent },\n { path: 'user-detail/:id', component: UserDetailComponent },\n { path: 'user-create', component: UserCreateComponent },\n { path: 'orders-list', component: OrderListComponent },\n { path: 'order/:id', component: OrderDetailsComponent },\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class BackofficeRoutingModule {\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AdminAreaComponent } from './admin-area/admin-area.component';\nimport {BackofficeRoutingModule} from './backoffice-routing.module';\nimport {UserManagementModule} from './admin-area/user-management/user-management.module';\nimport {PaginationModule} from 'ngx-bootstrap/pagination';\nimport { OrderManagementModule } from './admin-area/order-management/order-management.module';\n\n\n\n@NgModule({\n declarations: [\n AdminAreaComponent\n ],\n imports: [\n CommonModule,\n BackofficeRoutingModule,\n UserManagementModule,\n OrderManagementModule,\n PaginationModule\n ]\n})\nexport class BackofficeModule { }\n","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { FlowcontrolService } from '../services/flowcontrol.service';\nimport { ApiService } from '../services/api.service';\nimport { NavigationService } from '../services/navigation.service';\n\ntype OrderState = 'CLOSED' | 'OPEN' | 'ABANDONED';\n\ninterface OrderProductSeatOperation {\n audienceCatId: string;\n audienceSubCategory: string;\n audienceSubCategoryId: string;\n productId: string;\n product: string;\n productCode: string;\n sales_price: any;\n unitPriceWithoutVatTotalAmount: number;\n vatRate: number;\n unitPrice: number;\n}\n\ninterface OrderProductSeat {\n movementId: string;\n operationId: string;\n seat: {\n mmc_id: string;\n seatId: string;\n row: string;\n seatCategoryId: string;\n seatNumber: string;\n contactReference: string;\n contact: {\n contactId: string;\n contactNumber: string;\n name: string;\n lastname: string;\n }\n }\n operation: OrderProductSeatOperation;\n}\n\ninterface OrderProduct {\n audienceCatId: string;\n audienceSubCategory: string;\n audienceSubCategoryId: string;\n productId: string;\n product: string;\n productCode: string;\n sales_price: any;\n unitPriceWithoutVatTotalAmount: number;\n vatRate: number;\n unitPrice: number;\n seats: OrderProductSeat[]\n}\n\ninterface OrderCheckoutPage {\n totalAmount: string;\n reservationAmount: string;\n reservationAmountWithoutVat: string;\n orderId: string;\n filedId: string;\n orderState: OrderState;\n currencyCode: string;\n creationDateTime: string;\n contactReference: string;\n products: OrderProduct[]\n}\n\n\n@Component({\n selector: 'app-checkout',\n templateUrl: './checkout.component.html',\n styleUrls: ['./checkout.component.scss'],\n})\nexport class CheckoutComponent implements OnInit, OnDestroy {\n // State\n packageAcquirements;\n totalAmount;\n totalAmountWithoutVat;\n showLoader: boolean;\n customer;\n order;\n innerWidth: number;\n\n constructor(\n private navigation: NavigationService,\n private apiService: ApiService,\n private flowControl: FlowcontrolService,\n ) {\n this.packageAcquirements = [];\n this.showLoader = true;\n }\n\n ngOnDestroy(): void {}\n\n ngOnInit(): void {\n this.innerWidth = window.innerWidth;\n this.apiService\n .getTransaction(this.flowControl.currentOrderId)\n .subscribe((order: OrderCheckoutPage) => {\n this.order = order;\n for (const p of Object.values(order.products)) {\n const amount =\n p['unitPriceWithoutVatTotalAmount'] * p['seats'].length; // para valor CON vat usar'unitPrice'\n this.packageAcquirements.push({\n packageId: p['productId'],\n packageName: p['product'],\n seats: Object.values(p['seats']).map((seatData) => ({\n id: seatData.seat.mmc_id ? seatData.seat.mmc_id : 'S_99-99-99',\n section: seatData.seat.mmc_id\n ? seatData.seat.mmc_id.split('-')[0].split('_')[1]\n : '99',\n row: seatData.seat.mmc_id\n ? seatData.seat.mmc_id.split('-')[1]\n : '99',\n seat: seatData.seat.mmc_id\n ? seatData.seat.mmc_id.split('-')[2]\n : '99',\n priceWithoutVat: seatData.operation.sales_price\n .unitPriceWithoutVatTotalAmount\n ? seatData.operation.sales_price.unitPriceWithoutVatTotalAmount\n : '0',\n contact: `${seatData.seat.contact.name} ${seatData.seat.contact.lastname}`\n })),\n totalAmount: Number(amount),\n });\n }\n this.totalAmount = order.totalAmount;\n this.totalAmountWithoutVat = order.reservationAmountWithoutVat;\n this.showLoader = false;\n });\n\n this.flowControl.getCustomer().subscribe((customer) => {\n this.customer = customer;\n });\n }\n\n endProcess() {\n this.showLoader = false;\n this.navigation.goTo('homepage');\n }\n\n isIpad(): boolean {\n return /iPad/i.test(window.navigator.userAgent);\n }\n}\n","
\n \n \n
\n
\n
\n
\n File Number: {{ order.fileId }}\n
\n\n
\n {{ customer.name }} {{ customer.lastname }}\n
\n
\n
{{ customer.address.line1 }}
\n
{{ customer.address.line2 }}
\n
{{ customer.address.line3 }}
\n
{{ customer.address.town }}
\n
{{ customer.address.zipCode }}
\n
\n
\n Client Reference Number: {{ customer.contactNumber }}\n
\n
\n
\n
\n \n
\n Package: {{ acquirement.packageName }}\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
BlockRowSeat NumberPriceContact
{{ seatData.section }}{{ seatData.row }}{{ seatData.seat }}\n {{ seatData.priceWithoutVat | currency: 'GBP' }}\n {{ seatData.contact }}
\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
\n
\n
\n
\n

\n Subtotal: {{ totalAmount / 1.2 / 1000 | currency: 'GBP' }}\n

\n

\n Total ( + VAT ): {{ totalAmount / 1000 | currency: 'GBP' }}\n

\n
\n
\n
\n \n \n
\n \n \n
\n
\n
\n \n
\n
\n\n","import { TicketManagementPortalConfiguration } from './ticket-management-portal-configuration.model';\nimport { InjectionToken } from '@angular/core';\n\nexport const APP_CONFIG = new InjectionToken('TicketManagementPortalConfiguration');\nexport const ApplicationConfiguration: TicketManagementPortalConfiguration = {\n title: 'Fulham FC',\n subtitle: 'Seat Realocation Portal',\n topbar: {\n topbarLogo: {\n src: '../../assets/img/logo-shield.png',\n alt: 'Fulham FC'\n },\n topbarLogoPrint: {\n src: ''\n },\n includeInfoIcon: true,\n includeSwitchTheme: false\n },\n includeSalesRep: {\n title: 'Your Premium Services Manager'\n },\n footer: {\n copyrightText: '2020 3D Digital Venue by Mobile Media Content (MMC).'\n }\n\n};\n","// import { SeatgeekConnectionConfiguration } from 'ngx-seatgeek-connection';\nimport { environment } from '../../environments/environment';\nimport { DigitalvenueConfiguration } from './digitalvenue-configuration.model';\nimport { InjectionToken } from '@angular/core';\nimport { DVMConfiguration } from './dvmconfiguration.model';\nimport { Observable } from 'rxjs';\n\n/*\n*\n* Application Configuration\n*\n*/\nexport const APP_CONFIG = new InjectionToken('Digitalvenue Configuration');\nexport const ApplicationConfiguration: DigitalvenueConfiguration = {\n // Select the type of application to load: Relocation or Season Tickets\n applicationType: 'Relocation',\n // Include the areas to be treated as GA, and the areas to be locked in the map\n generalAdmissionAreas: [],\n lockedAreas: [],\n // Default Price Type to be used when selecting a seat\n defaultPricetype: '',\n // Include areas search bar\n includeSearch: true,\n // Show Redirect pop-up when user has no series available\n redirect: {\n isRedirectEnabled: true,\n redirectURL: 'https://3ddigitalvenue.com/3dmap/clients/staples-center/',\n },\n // Add-ons configuration (only with applicationType: Relocation)\n addonsConfiguration: {\n isAddonsAvailable: true,\n addonsMaxSelection: 2\n },\n // Parking IDs and configuration\n parkingConfiguration: {\n isParkingAvailable: false,\n parkingSeriesID: null,\n parkingPricetype: null,\n // Garages transation - ID: Name\n parkingTranslation: {\n },\n // Maximum slots per user\n parkingMaxSelection: null\n },\n // Data to be shown in the popovers (it has to be previously imported)\n popoversConfiguration: {\n includeDescription: true,\n includeSeatsCount: true,\n includePricing: true\n },\n // Maximum seats per user\n seatsMaxSelection: 60,\n // Data Providers available: SeatGeek, MMC\n dataProvider: 'MMC',\n // Use Pending Buffer for isolated seats error\n preventIsolatedSeats: false,\n // Load areamap or blockmap\n mapType: 'blockmap',\n // Interface colors\n colors: {\n mapElement: {\n available: '#1F8EFA',\n selected: '#eaeaea',\n pending: 'orange'\n },\n buttons: '#d81c2b',\n buttonsHover: '#007bff',\n popoverText: '#98A7B9',\n topbar: '#d81c2b',\n bottomInterface: '#141414',\n subInterface: {\n header: '#141414',\n listTitle: '#b8b6b7'\n },\n tickets: {\n text: '#252525',\n actions: '#252525',\n actionsHover: '#398be2'\n }\n }\n};\n\nexport const DVM_CONFIG = new InjectionToken('DVM Configuration');\nexport const DVMConfig: DVMConfiguration = {\n venue_id: 'eu-gb-00005-fulhamnight',\n map_id: 'blockmap',\n container: 'viewer-container',\n version: 'development'\n};\n\n/*\n*\n* TK3D Configuration\n*\n*/\n// export const Tk3dConfiguration: Tk3dConfig = {\n// venue: 'nam-us-00096-chicagocubs',\n// // venue: 'nam-us-00077-mnufc',\n// flags: {\n// seatmap: {\n// available_by_default: false,\n// user_selection: false,\n// max_selection: 60,\n// multiple_selection: true\n// },\n// blockmap: {\n// available_by_default: false,\n// user_selection: false,\n// max_selection: 1,\n// multiple_selection: false\n// }\n// },\n// defaultPlugins: ['ThumbnailPlugin', 'RowsPlugin', 'NeighborsPlugin', 'ZoomButtonsPlugin'],\n// removeUnavailable: { seatmap: true, blockmap: true },\n// injectTk3dService: true,\n// neighborsInfo: {\n// \"S_AA13\": { \"l\": \"S_AA14\", \"r\": \"S_12\" }, \"S_AA14\": { \"l\": \"S_AA15\", \"r\": \"S_AA13\" }, \"S_AA15\": { \"l\": \"S_AA16\", \"r\": \"S_AA14\" }, \"S_AA16\": { \"l\": \"S_AA18\", \"r\": \"S_AA15\" }, \"S_AA18\": { \"l\": \"S_AA19\", \"r\": \"S_AA16\" }, \"S_AA19\": { \"l\": \"S_AA20\", \"r\": \"S_AA18\" }, \"S_AA20\": { \"l\": \"S_AA21\", \"r\": \"S_AA18\" }, \"S_AA21\": { \"l\": \"S_AA22\", \"r\": \"S_AA19\" }, \"S_AA22\": { \"l\": \"S_23\", \"r\": \"S_AA21\" }, \"S_Bleacher\": { \"l\": \"S_134\", \"r\": \"S_134\" }, \"S_CreeLightingClub1\": { \"l\": \"S_CreeLightingClub2\", \"r\": \"S_305L\" }, \"S_CreeLightingClub2\": { \"l\": \"S_CreeLightingClub3\", \"r\": \"S_CreeLightingClub1\" }, \"S_CreeLightingClub3\": { \"l\": \"S_CreeLightingClub4\", \"r\": \"S_CreeLightingClub2\" }, \"S_CreeLightingClub4\": { \"l\": \"S_CreeLightingClub5\", \"r\": \"S_CreeLightingClub3\" }, \"S_CreeLightingClub5\": { \"l\": \"S_308L\", \"r\": \"S_CreeLightingClub4\" }, \"S_3\": { \"l\": \"S_4\", \"r\": \"S_102\" }, \"S_4\": { \"l\": \"S_5\", \"r\": \"S_3\" }, \"S_5\": { \"l\": \"S_6\", \"r\": \"S_4\" }, \"S_6\": { \"l\": \"S_8\", \"r\": \"S_5\" }, \"S_7\": { \"l\": \"S_8\", \"r\": \"S_6\" }, \"S_8\": { \"l\": \"S_9\", \"r\": \"S_6\" }, \"S_9\": { \"l\": \"S_10\", \"r\": \"S_8\" }, \"S_10\": { \"l\": \"S_11\", \"r\": \"S_9\" }, \"S_11\": { \"l\": \"S_12\", \"r\": \"S_10\" }, \"S_12\": { \"l\": \"S_13\", \"r\": \"S_11\" }, \"S_13\": { \"l\": \"S_14\", \"r\": \"S_12\" }, \"S_14\": { \"l\": \"S_15\", \"r\": \"S_13\" }, \"S_15\": { \"l\": \"S_16\", \"r\": \"S_14\" }, \"S_16\": { \"l\": \"S_18\", \"r\": \"S_14\" }, \"S_18\": { \"l\": \"S_19\", \"r\": \"S_16\" }, \"S_19\": { \"l\": \"S_20\", \"r\": \"S_18\" }, \"S_20\": { \"l\": \"S_21\", \"r\": \"S_19\" }, \"S_21\": { \"l\": \"S_22\", \"r\": \"S_20\" }, \"S_22\": { \"l\": \"S_23\", \"r\": \"S_21\" }, \"S_23\": { \"l\": \"S_24\", \"r\": \"S_22\" }, \"S_24\": { \"l\": \"S_25\", \"r\": \"S_23\" }, \"S_25\": { \"l\": \"S_26\", \"r\": \"S_24\" }, \"S_26\": { \"l\": \"S_27\", \"r\": \"S_25\" }, \"S_27\": { \"l\": \"S_28\", \"r\": \"S_25\" }, \"S_28\": { \"l\": \"S_29\", \"r\": \"S_27\" }, \"S_29\": { \"l\": \"S_30\", \"r\": \"S_28\" }, \"S_30\": { \"l\": \"S_31\", \"r\": \"S_29\" }, \"S_31\": { \"l\": \"S_32\", \"r\": \"S_30\" }, \"S_32\": { \"l\": \"S_133\", \"r\": \"S_31\" }, \"S_101\": { \"l\": \"S_102\", \"r\": \"S_202\" }, \"S_102\": { \"l\": \"S_103\", \"r\": \"S_101\" }, \"S_103\": { \"l\": \"S_104\", \"r\": \"S_102\" }, \"S_104\": { \"l\": \"S_105\", \"r\": \"S_103\" }, \"S_105\": { \"l\": \"S_106\", \"r\": \"S_104\" }, \"S_106\": { \"l\": \"S_107\", \"r\": \"S_105\" }, \"S_107\": { \"l\": \"S_108\", \"r\": \"S_106\" }, \"S_108\": { \"l\": \"S_109\", \"r\": \"S_107\" }, \"S_109\": { \"l\": \"S_110\", \"r\": \"S_108\" }, \"S_110\": { \"l\": \"S_111\", \"r\": \"S_109\" }, \"S_111\": { \"l\": \"S_112\", \"r\": \"S_110\" }, \"S_112\": { \"l\": \"S_113\", \"r\": \"S_111\" }, \"S_113\": { \"l\": \"S_114\", \"r\": \"S_112\" }, \"S_114\": { \"l\": \"S_115\", \"r\": \"S_113\" }, \"S_115\": { \"l\": \"S_116\", \"r\": \"S_114\" }, \"S_116\": { \"l\": \"S_117\", \"r\": \"S_115\" }, \"S_117\": { \"l\": \"S_118\", \"r\": \"S_116\" }, \"S_118\": { \"l\": \"S_119\", \"r\": \"S_117\" }, \"S_119\": { \"l\": \"S_120\", \"r\": \"S_118\" }, \"S_120\": { \"l\": \"S_121\", \"r\": \"S_119\" }, \"S_121\": { \"l\": \"S_122\", \"r\": \"S_120\" }, \"S_122\": { \"l\": \"S_123\", \"r\": \"S_121\" }, \"S_123\": { \"l\": \"S_124\", \"r\": \"S_122\" }, \"S_124\": { \"l\": \"S_125\", \"r\": \"S_123\" }, \"S_125\": { \"l\": \"S_126\", \"r\": \"S_124\" }, \"S_126\": { \"l\": \"S_127\", \"r\": \"S_125\" }, \"S_127\": { \"l\": \"S_128\", \"r\": \"S_126\" }, \"S_128\": { \"l\": \"S_129\", \"r\": \"S_127\" }, \"S_129\": { \"l\": \"S_130\", \"r\": \"S_128\" }, \"S_130\": { \"l\": \"S_131\", \"r\": \"S_129\" }, \"S_131\": { \"l\": \"S_132\", \"r\": \"S_130\" }, \"S_132\": { \"l\": \"S_133\", \"r\": \"S_131\" }, \"S_133\": { \"l\": \"S_134\", \"r\": \"S_132\" }, \"S_134\": { \"l\": \"S_233\", \"r\": \"S_133\" }, \"S_202\": { \"l\": \"S_203\", \"r\": \"S_101\" }, \"S_203\": { \"l\": \"S_204\", \"r\": \"S_202\" }, \"S_204\": { \"l\": \"S_205\", \"r\": \"S_203\" }, \"S_205\": { \"l\": \"S_206\", \"r\": \"S_204\" }, \"S_206\": { \"l\": \"S_207\", \"r\": \"S_205\" }, \"S_207\": { \"l\": \"S_208\", \"r\": \"S_206\" }, \"S_208\": { \"l\": \"S_209\", \"r\": \"S_207\" }, \"S_209\": { \"l\": \"S_210\", \"r\": \"S_208\" }, \"S_210\": { \"l\": \"S_212\", \"r\": \"S_209\" }, \"S_212\": { \"l\": \"S_213\", \"r\": \"S_210\" }, \"S_213\": { \"l\": \"S_214\", \"r\": \"S_212\" }, \"S_214\": { \"l\": \"S_215\", \"r\": \"S_213\" }, \"S_215\": { \"l\": \"S_216\", \"r\": \"S_214\" }, \"S_216\": { \"l\": \"S_217\", \"r\": \"S_215\" }, \"S_217\": { \"l\": \"S_218\", \"r\": \"S_216\" }, \"S_218\": { \"l\": \"S_220\", \"r\": \"S_217\" }, \"S_220\": { \"l\": \"S_221\", \"r\": \"S_218\" }, \"S_221\": { \"l\": \"S_222\", \"r\": \"S_220\" }, \"S_222\": { \"l\": \"S_223\", \"r\": \"S_221\" }, \"S_223\": { \"l\": \"S_225\", \"r\": \"S_222\" }, \"S_225\": { \"l\": \"S_226\", \"r\": \"S_223\" }, \"S_226\": { \"l\": \"S_227\", \"r\": \"S_225\" }, \"S_227\": { \"l\": \"S_228\", \"r\": \"S_226\" }, \"S_228\": { \"l\": \"S_229\", \"r\": \"S_227\" }, \"S_229\": { \"l\": \"S_230\", \"r\": \"S_228\" }, \"S_230\": { \"l\": \"S_231\", \"r\": \"S_229\" }, \"S_231\": { \"l\": \"S_232\", \"r\": \"S_230\" }, \"S_232\": { \"l\": \"S_233\", \"r\": \"S_231\" }, \"S_233\": { \"l\": \"S_134\", \"r\": \"S_232\" }, \"S_303L\": { \"l\": \"S_304L\", \"r\": \"S_203\" }, \"S_304L\": { \"l\": \"S_305L\", \"r\": \"S_303L\" }, \"S_305L\": { \"l\": \"S_306L\", \"r\": \"S_304L\" }, \"S_306L\": { \"l\": \"S_307L\", \"r\": \"S_305L\" }, \"S_307L\": { \"l\": \"S_308L\", \"r\": \"S_306L\" }, \"S_308L\": { \"l\": \"S_309L\", \"r\": \"S_307L\" }, \"S_309L\": { \"l\": \"S_310L\", \"r\": \"S_308L\" }, \"S_310L\": { \"l\": \"S_311L\", \"r\": \"S_309L\" }, \"S_311L\": { \"l\": \"S_312L\", \"r\": \"S_310L\" }, \"S_312L\": { \"l\": \"S_313L\", \"r\": \"S_311L\" }, \"S_313L\": { \"l\": \"S_314L\", \"r\": \"S_312L\" }, \"S_314L\": { \"l\": \"S_315L\", \"r\": \"S_313L\" }, \"S_315L\": { \"l\": \"S_316L\", \"r\": \"S_314L\" }, \"S_316L\": { \"l\": \"S_317R\", \"r\": \"S_315L\" }, \"S_317R\": { \"l\": \"S_318R\", \"r\": \"S_316L\" }, \"S_318R\": { \"l\": \"S_319R\", \"r\": \"S_317R\" }, \"S_319R\": { \"l\": \"S_320R\", \"r\": \"S_318R\" }, \"S_320R\": { \"l\": \"S_321R\", \"r\": \"S_319R\" }, \"S_321R\": { \"l\": \"S_322R\", \"r\": \"S_320R\" }, \"S_322R\": { \"l\": \"S_323R\", \"r\": \"S_321R\" }, \"S_323R\": { \"l\": \"S_324R\", \"r\": \"S_322R\" }, \"S_324R\": { \"l\": \"S_326R\", \"r\": \"S_323R\" }, \"S_326R\": { \"l\": \"S_327R\", \"r\": \"S_324R\" }, \"S_327R\": { \"l\": \"S_328R\", \"r\": \"S_326R\" }, \"S_328R\": { \"l\": \"S_329R\", \"r\": \"S_327R\" }, \"S_329R\": { \"l\": \"S_330R\", \"r\": \"S_328R\" }, \"S_330R\": { \"l\": \"S_331R\", \"r\": \"S_329R\" }, \"S_331R\": { \"l\": \"S_232\", \"r\": \"S_330R\" }, \"S_403L\": { \"l\": \"S_404L\", \"r\": \"S_303L\" }, \"S_404L\": { \"l\": \"S_405L\", \"r\": \"S_403L\" }, \"S_405L\": { \"l\": \"S_406L\", \"r\": \"S_404L\" }, \"S_406L\": { \"l\": \"S_407L\", \"r\": \"S_405L\" }, \"S_407L\": { \"l\": \"S_408L\", \"r\": \"S_406L\" }, \"S_408L\": { \"l\": \"S_409L\", \"r\": \"S_407L\" }, \"S_409L\": { \"l\": \"S_410L\", \"r\": \"S_408L\" }, \"S_410L\": { \"l\": \"S_411L\", \"r\": \"S_409L\" }, \"S_411L\": { \"l\": \"S_412L\", \"r\": \"S_410L\" }, \"S_412L\": { \"l\": \"S_413L\", \"r\": \"S_411L\" }, \"S_413L\": { \"l\": \"S_414L\", \"r\": \"S_412L\" }, \"S_414L\": { \"l\": \"S_415L\", \"r\": \"S_413L\" }, \"S_415L\": { \"l\": \"S_315L\", \"r\": \"S_414L\" }, \"S_419R\": { \"l\": \"S_420R\", \"r\": \"S_318R\" }, \"S_420R\": { \"l\": \"S_421R\", \"r\": \"S_419R\" }, \"S_421R\": { \"l\": \"S_422R\", \"r\": \"S_420R\" }, \"S_422R\": { \"l\": \"S_423R\", \"r\": \"S_421R\" }, \"S_423R\": { \"l\": \"S_424R\", \"r\": \"S_422R\" }, \"S_424R\": { \"l\": \"S_425R\", \"r\": \"S_423R\" }, \"S_425R\": { \"l\": \"S_426R\", \"r\": \"S_424R\" }, \"S_426R\": { \"l\": \"S_427R\", \"r\": \"S_425R\" }, \"S_427R\": { \"l\": \"S_428R\", \"r\": \"S_426R\" }, \"S_428R\": { \"l\": \"S_429R\", \"r\": \"S_427R\" }, \"S_429R\": { \"l\": \"S_430R\", \"r\": \"S_428R\" }, \"S_430R\": { \"l\": \"S_431R\", \"r\": \"S_429R\" }, \"S_431R\": { \"l\": \"S_331R\", \"r\": \"S_430R\" }\n// }\n// };\n\n/*\n*\n* Connection Configuration\n*\n*/\n// export const SeatgeekConfiguration: SeatgeekConnectionConfiguration = {\n// seatgeekClientUrl: null,\n// client: 'minnesota2019',\n// parkingID: '7256CE84-1674-E811-81D2-0EBF4BA87F18',\n// proxyApiUrl: environment.proxyApiUrl,\n// areaPricesMultipleSectors: true, // Not being used\n// idTranslationFromFiles: true,\n// dataConfig: {\n// baseUrl: 'assets/seatgeekdataconfig/',\n// paths: {\n// areaMapping: 'areamapping.json',\n// sectionsInAreas: 'sectionsinareas.json',\n// areaNames: 'areanames.json',\n// seats: 'seats'\n// // areaDescriptions: 'areadesc.json', // test with different file input format\n// // areaDescriptions: 'areadesc_fix.json',\n// },\n// local: true\n// }\n// };\n\n\nexport const DVM_CALLBACKS = new InjectionToken(\"DVM_CALLBACKS\");\n\nexport interface SeatObject {\n id: string;\n areaid: string;\n}\n\nexport interface Effect {\n action: \"select\" | \"unselect\",\n seats: SeatObject[]\n}\n\nexport interface DVM_CALLBACKS_MODEL {\n loadSeatmapHandler(viewer): Observable;\n onSeatSelection(error: Error, effect: Effect, viewer): Observable | Promise | any;\n}\n\nexport const DVM_INTERCEPTORS = new InjectionToken(\"DVM_INTERCEPTORS\");\nexport interface DvmInterceptor {\n addSeatsInterceptor(seats, cart): Object;\n removeSeatsInterceptor(seats, cart): Object;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TopbarComponent } from './topbar/topbar.component';\nimport { MainInterfaceComponent } from './main-interface/main-interface.component';\nimport { RouterModule } from '@angular/router';\nimport { APP_CONFIG, ApplicationConfiguration, DVMConfig, DVM_CONFIG } from './digitalvenue.configuration';\nimport { DVMService } from './services/dvm.service';\n\n\n\n@NgModule({\n declarations: [\n MainInterfaceComponent,\n TopbarComponent\n ],\n imports: [\n CommonModule\n ],\n exports: [\n MainInterfaceComponent,\n TopbarComponent\n ],\n providers: [\n {provide: APP_CONFIG, useValue: ApplicationConfiguration},\n {provide: DVM_CONFIG, useValue: DVMConfig},\n DVMService\n ]\n})\nexport class DigitalvenueModule { }\n","import { Injectable, Inject } from '@angular/core';\nimport { DVMService } from '../services/dvm.service';\nimport { GeneralHandler } from './general.handler';\nimport {\n DVM_CONFIG,\n APP_CONFIG,\n DVM_CALLBACKS,\n DVM_CALLBACKS_MODEL,\n} from '../digitalvenue.configuration';\nimport { DVMConfiguration } from '../dvmconfiguration.model';\nimport { FlowControlService } from '../services/flow-control.service';\nimport { Seat } from 'src/app/shared/models';\nimport { ModalsService } from 'src/app/shared/modals/modals.service';\nimport { DigitalvenueConfiguration } from '../digitalvenue-configuration.model';\nimport { PackageSelectionService } from 'src/app/package-selector/services/package-selection.service';\nimport { SeatSelectionService } from '../services/seat-selection.service';\n\n@Injectable()\nexport class ClickSeatselectionHandler extends GeneralHandler {\n constructor(\n protected dvmService: DVMService,\n @Inject(DVM_CALLBACKS) private callbacksService: DVM_CALLBACKS_MODEL,\n private seatSelectionService: SeatSelectionService,\n private modals: ModalsService,\n private packageSelectionService: PackageSelectionService,\n private flowControl: FlowControlService,\n @Inject(DVM_CONFIG) private dvmConfig: DVMConfiguration,\n @Inject(APP_CONFIG) private appConfig: DigitalvenueConfiguration\n ) {\n super('click', dvmService);\n }\n\n sectionClickHandler(node, viewer) {\n if (node.state === 'available') {\n const load_options = {\n venue_id: viewer.getVenueId(),\n map_id: node.id,\n };\n\n this.dvmService.loadMap(load_options); //Permite chaining\n }\n }\n\n seatClickHandler(node, viewer) {\n const action: 'select' | 'unselect' =\n node.state === 'available' ? 'select' : 'unselect';\n try {\n let seats;\n if (action === 'select') {\n seats = this.seatSelectionService.selectseat(node);\n } else if (action === 'unselect') {\n seats = this.seatSelectionService.unselectseat(node);\n }\n\n const effect = {\n action,\n seats,\n };\n\n this.callbacksService.onSeatSelection(null, effect, viewer);\n } catch (e) {\n this.callbacksService.onSeatSelection(e, null, viewer);\n }\n }\n\n protected handle(obj) {\n // Close popovers\n // const tooltip: HTMLElement = document.querySelector('#tooltip');\n // tooltip.removeAttribute('data-show');\n\n // Handle\n const viewer = obj.instance;\n const nodes = obj.nodes;\n if (nodes.length) {\n if (nodes[0].type === 'section') {\n // if (this.flowControl.suitesHash[nodes[0].id]) {\n // this.dvmService.load3DView(nodes[0].id);\n // } else {\n // this.sectionClickHandler(nodes[0], viewer);\n // }\n this.sectionClickHandler(nodes[0], viewer);\n } else if (nodes[0].type === 'seat') {\n this.seatClickHandler(nodes[0], viewer);\n }\n }\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport { DVMService } from '../services/dvm.service';\n\n@Injectable()\nexport class General3dHandler {\n constructor(@Inject(String) private event, protected dvmService: DVMService) {\n this.dvmService.subscribe3dHandler(event, this.handle.bind(this));\n }\n\n protected handle(...args) {}\n\n}\n","import {Inject, Injectable} from '@angular/core';\nimport { DVMService } from '../services/dvm.service';\n\n@Injectable()\nexport class GeneralHandler {\n constructor(@Inject(String) private event, protected dvmService: DVMService) {\n this.dvmService.subscribeHandler(event, this.handle.bind(this));\n }\n\n protected handle(...args) {}\n\n}\n","import { Injectable, Inject, ViewRef } from '@angular/core';\nimport { DVMService } from '../services/dvm.service';\nimport { GeneralHandler } from './general.handler';\nimport {\n DVM_CALLBACKS,\n DVM_CALLBACKS_MODEL,\n DVM_CONFIG,\n} from '../digitalvenue.configuration';\nimport { DVMConfiguration } from '../dvmconfiguration.model';\nimport { FlowControlService } from '../services/flow-control.service';\nimport { ApiService } from 'src/app/services/api.service';\nimport { PackageSelectionService } from 'src/app/package-selector/services/package-selection.service';\nimport { MapLoaderService } from '../services/map-loader.service';\nimport { FlowcontrolService } from 'src/app/services/flowcontrol.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class LoadSeatselectionHandler extends GeneralHandler {\n private wasCartLoaded: boolean;\n\n constructor(\n @Inject(DVM_CONFIG) private dvmConfig: DVMConfiguration,\n @Inject(DVM_CALLBACKS) private callbacksService: DVM_CALLBACKS_MODEL,\n private flowControlService: FlowcontrolService,\n private flowControl: FlowControlService,\n protected dvmService: DVMService,\n private apiService: ApiService,\n private packageSelectionService: PackageSelectionService,\n private mapLoaderService: MapLoaderService\n ) {\n super('end_load', dvmService);\n this.wasCartLoaded = false;\n }\n\n loadBlockmapHandler(viewer): void {\n this.mapLoaderService.addProcess('sections_loading');\n // tslint:disable-next-line:max-line-length\n this.apiService\n .getSectionsAvailability(\n this.flowControlService.currentPackageID,\n this.flowControlService.currentPackageSeatCategoryId\n )\n .subscribe((sections) => {\n viewer.setAvailability('section', sections);\n // Seleccionar los asientos de este paquete en la cart\n const currPackageId = this.packageSelectionService.currentPackage.id;\n const cartItem =\n this.packageSelectionService.getCartForPackage(currPackageId);\n if (cartItem && !this.wasCartLoaded) {\n this.packageSelectionService.select(cartItem.listOfSeats);\n this.wasCartLoaded = true;\n }\n this.mapLoaderService.removeProcess('sections_loading');\n });\n }\n\n loadSeatmapHandler(viewer): void {\n const section = viewer.getMapId();\n // Aqui puede ponerse logica que tenga que ejecutarse siempre\n // Por ejemplo, las pantallas de carga\n this.mapLoaderService.addProcess('sections_loading');\n // tslint:disable-next-line:max-line-length\n // Comento la llamada ya que mas abajo llama al callbackresponse y vuelve a setear las sillas, de esta manera se elimina\n // una llamada, dejo este comentario para recordarme por si esto generara algun bug\n // this.apiService\n // .getSeatsAvailability(\n // this.flowControlService.currentPackageID,\n // this.flowControlService.currentPackageSeatCategoryId,\n // section\n // )\n // .subscribe((seatmap) => {\n // viewer.setAvailability('seat', Object.keys(seatmap));\n // });\n\n // External callback\n const callbackResponse = this.callbacksService.loadSeatmapHandler(viewer);\n\n // Aqui puede ponerse logica que tenga que ejecutarse siempre\n // Por ejemplo, las pantallas de carga\n const removeLoader = () =>\n this.mapLoaderService.removeProcess('sections_loading');\n if (callbackResponse instanceof Promise) {\n callbackResponse.then(removeLoader).catch(removeLoader);\n } else if (callbackResponse instanceof Observable) {\n callbackResponse.subscribe(removeLoader, removeLoader);\n } else {\n removeLoader();\n }\n }\n\n protected handle(error, viewer): void {\n if (error) {\n console.error(error);\n }\n viewer = viewer.instance;\n if (viewer.getMapId() === this.dvmConfig.map_id) {\n this.loadBlockmapHandler(viewer);\n } else {\n this.loadSeatmapHandler(viewer);\n }\n }\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { DVMService } from '../services/dvm.service';\nimport { GeneralHandler } from './general.handler';\nimport { DVM_CONFIG } from '../digitalvenue.configuration';\nimport { DVMConfiguration } from '../dvmconfiguration.model';\nimport { General3dHandler } from './general-3d.handler';\n\n@Injectable()\n// export class NavigationHandler {\n// constructor(protected dvmService: DVMService,\n// @Inject(DVM_CONFIG) private dvmConfig: DVMConfiguration) {\n// this.dvmService.viewer3dSubject.subscribe(\n// viewer3d => {\n// viewer3d.subscribe('click_navigation_node', (obj) => {\n// this.dvmService.load3DView(obj.navigation.view_id);\n// });\n// }\n// );\n\n// }\n// }\n\nexport class NavigationHandler extends General3dHandler {\n constructor(protected dvmService: DVMService,\n @Inject(DVM_CONFIG) private dvmConfig: DVMConfiguration) {\n super('click_navigation_node', dvmService);\n }\n\n protected handle(obj) {\n if (this.dvmService.isViewer3dSubjectInitialized) {\n this.dvmService.load3DView(obj.navigation.view_id);\n } else {\n this.dvmService.viewer3dSubject.subscribe(\n viewer3d => {\n this.dvmService.load3DView(obj.navigation.view_id);\n },\n error => {\n console.error(error);\n }\n );\n }\n }\n}\n","import {\n Component,\n OnInit,\n Input,\n Inject,\n HostListener,\n AfterContentInit,\n} from '@angular/core';\nimport { UserService } from 'src/app/services/user.service';\nimport { FlowControlService } from '../services/flow-control.service';\nimport { DigitalvenueConfiguration } from '../digitalvenue-configuration.model';\nimport { APP_CONFIG, DVM_CONFIG } from '../digitalvenue.configuration';\nimport { CustomerPlan } from 'src/app/shared/models';\nimport { DVMService } from '../services/dvm.service';\n// declare var $: any;\nimport * as $ from 'jquery';\nimport { DVMConfiguration } from '../dvmconfiguration.model';\n// import { Popover3dviewService } from '../services/popover-3dview.service';\nimport { ClickSeatselectionHandler } from '../handlers/click-seatselection.handler';\nimport { LoadSeatselectionHandler } from '../handlers/load-seatselection.handler';\n// import { PopoverCreateHandler } from '../handlers/popover-create.handler';\n// import { PopoverDestroyHandler } from '../handlers/popover-destroy.handler';\nimport { NavigationHandler } from '../handlers/navigation.handler';\nimport { MapLoaderService } from '../services/map-loader.service';\n\n@Component({\n selector: 'app-main-interface',\n templateUrl: './main-interface.component.html',\n styleUrls: ['./main-interface.component.scss'],\n providers: [\n LoadSeatselectionHandler,\n ClickSeatselectionHandler,\n // PopoverCreateHandler,\n // PopoverDestroyHandler,\n NavigationHandler,\n ],\n})\nexport class MainInterfaceComponent implements OnInit {\n @Input() selectedSeats: object[];\n @Input() isSelectionAllowed;\n customerPlan: CustomerPlan;\n _previewPlan: string;\n innerWidth = window.innerWidth;\n\n // Maps\n currentMap: any;\n selectableMapsArray: Array;\n\n get isView3DOpen() {\n if (!this.dvmService.viewer3d || !this.dvmService.viewer3d.getViewId()) {\n return false;\n }\n return true;\n }\n\n get sector() {\n return null;\n }\n\n get seat() {\n return null;\n }\n\n get blockSelected() {\n return null;\n }\n\n /**\n * Event that detects the window size\n * @param event window resize\n */\n @HostListener('window:resize', ['$event'])\n sizeChange(event) {\n // gets the window width on reize\n this.innerWidth = window.innerWidth;\n }\n\n get previewPlan(): string {\n return this._previewPlan;\n }\n\n get hideClubPreviews() {\n if (this.dvmService.viewer) {\n return (\n this.isView3DOpen ||\n this.dvmService.viewer.getMapId() !== this.dvmConfig.map_id ||\n !this.dvmService.viewer.getMapId()\n );\n }\n return null;\n }\n\n get suitesTablesText() {\n const nodeId = this.dvmService.viewer3d\n ? this.dvmService.viewer3d.getViewId()\n : '';\n return this.flowControl.getSuitesLoungesExtraText(nodeId);\n }\n\n constructor(\n @Inject(APP_CONFIG) public dvConfig: DigitalvenueConfiguration,\n @Inject(DVM_CONFIG) public dvmConfig: DVMConfiguration,\n // public popover3dview: Popover3dviewService,\n public dvmService: DVMService,\n private userService: UserService,\n public flowControl: FlowControlService,\n private clickHandler: ClickSeatselectionHandler,\n private loadHandler: LoadSeatselectionHandler,\n // private popoverCreateHandler: PopoverCreateHandler,\n // private popoverDestroyHandler: PopoverDestroyHandler,\n private navigationHandler: NavigationHandler,\n private mapLoaderService: MapLoaderService\n ) {\n this.selectableMapsArray = this.flowControl.getAllMaps();\n }\n\n get isMapLoading() {\n return this.mapLoaderService.isLoading;\n }\n\n // popoverMouseEnter() {\n // this.popover3dview.deleteTimer();\n // }\n\n // popoverMouseLeave() {\n // this.popover3dview.setTimer();\n // }\n\n isRelocationAvailable(date: string) {\n const appointmentTimestamp = new Date(date).getTime();\n const now = new Date().getTime();\n return now >= appointmentTimestamp ? true : false;\n }\n\n closeGuideOverlay() {\n document.getElementById('guide-overlay').style.display = 'none';\n this.flowControl.guideOverlayClosed = true;\n }\n\n // isGuideOverlayAvailable() {\n // return this.isRelocationAvailable(this.customerPlan.appointment_date_from) && !this.isSelectionAllowed;\n // // return false;\n // }\n\n open3DView(viewId) {\n this.dvmService.load3DView(viewId);\n // const tooltip: HTMLElement = document.querySelector('#tooltip');\n // tooltip.removeAttribute('data-show');\n }\n\n // public open3DView(viewId) {\n // const loadOptions = JSON.parse(JSON.stringify(this.dvmConfig));\n // loadOptions.view_id = viewId;\n // loadOptions.venue_id = this.dvmConfig.venue_id;\n // this.dvmService.viewer3d.loadView3d(loadOptions);\n // }\n\n ngOnInit() {\n this.dvmService.restartDVM();\n }\n\n // tslint:disable-next-line: use-lifecycle-interface\n ngAfterViewChecked() {\n let viewer;\n let viewer3d;\n\n if (this.dvmService.isViewerSubjectInitialized) {\n viewer = this.dvmService.viewer;\n }\n\n if (this.dvmService.isViewer3dSubjectInitialized) {\n viewer3d = this.dvmService.viewer3d;\n }\n }\n}\n","
\n
\n \n
\n
\n \n\n \n \n\n \n \n\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CartService {\n\n private cart: BehaviorSubject;\n \n get cart$() {\n return this.cart.asObservable();\n }\n\n constructor() {\n this.cart = new BehaviorSubject({});\n }\n\n\n resetCart() {\n this.cart.next({});\n }\n\n\n emitCart(cart) {\n this.cart.next(cart);\n }\n\n\n\n\n}\n","import { Injectable, Inject } from '@angular/core';\nimport { APP_CONFIG, DVM_CONFIG } from '../digitalvenue.configuration';\nimport { DigitalvenueConfiguration } from '../digitalvenue-configuration.model';\nimport { Observable, Subject } from 'rxjs';\nimport { MapLoaderService } from './map-loader.service';\n\ndeclare const DVM;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DVMService {\n viewer;\n viewer3d;\n viewerSubject: Subject = new Subject();\n viewer3dSubject: Subject = new Subject();\n isViewerSubjectInitialized = false;\n isViewer3dSubjectInitialized = false;\n subscribedCallbacks = {};\n subscribed3dCallbacks = {};\n debug: boolean;\n\n constructor(\n @Inject(DVM_CONFIG) private DVMConfig,\n private mapLoaderService: MapLoaderService\n ) {\n // this.initializeDVM('map_viewer', DVMConfig);\n this.viewerSubject.subscribe((viewer) => (this.viewer = viewer));\n this.debug = true;\n }\n\n public restartDVM(venueId?: any) {\n this.mapLoaderService.addProcess('map_loading');\n for (const event in this.subscribedCallbacks) {\n this.subscribedCallbacks[event].forEach((callback) => {\n this.viewer.unsubscribe(event, callback);\n });\n }\n this.subscribedCallbacks = {};\n // tslint:disable-next-line: forin\n for (const event in this.subscribed3dCallbacks) {\n this.subscribed3dCallbacks[event].forEach((callback) => {\n this.viewer3d.unsubscribe(event, callback);\n });\n }\n this.subscribed3dCallbacks = {};\n this.isViewerSubjectInitialized = false;\n this.isViewer3dSubjectInitialized = false;\n if (venueId) {\n const viewerConfig = JSON.parse(JSON.stringify(this.DVMConfig));\n viewerConfig.venue_id = venueId;\n viewerConfig.map_id = this.viewer.getMapId();\n this.initializeDVM('map_viewer', viewerConfig);\n } else {\n this.initializeDVM('map_viewer', this.DVMConfig);\n }\n }\n\n private initializeDVM(moduleName, config) {\n DVM.loadModule(moduleName, config)\n .then((viewer) => {\n this.viewer = viewer;\n if (this.debug) {\n (window as any).viewer = viewer;\n }\n // this.loadMap(this.DVMConfig);\n this.loadMap(config);\n if (!this.isViewerSubjectInitialized) {\n console.log('Viewer was not initialized. Init to', this.viewer);\n this.viewerSubject.next(this.viewer);\n this.isViewerSubjectInitialized = true;\n }\n viewer.flags.automatic_selection = false;\n // viewer.flags.fixed_aspect_ratio = false;\n\n this.mapLoaderService.removeProcess('map_loading');\n })\n .catch((err) => {\n console.error(err);\n });\n const viewer3dConfig = JSON.parse(JSON.stringify(config));\n viewer3dConfig.container = 'viewer3d-container';\n viewer3dConfig.plugins = ['navigation'];\n DVM.loadModule('3d_viewer', viewer3dConfig)\n .then((viewer3d) => {\n this.viewer3d = viewer3d;\n if (this.debug) {\n (window as any).viewer3d = viewer3d;\n }\n // if ((window as any).viewer3d == null) {\n // (window as any).viewer3d = [];\n // }\n // (window as any).viewer3d.push(viewer3d);\n if (!this.isViewer3dSubjectInitialized) {\n this.viewer3dSubject.next(this.viewer3d);\n this.isViewer3dSubjectInitialized = true;\n }\n })\n .catch((err) => {\n console.error(err);\n });\n }\n\n changeMapConfiguration(venueId) {\n if (this.viewer) {\n const viewerConfig = JSON.parse(JSON.stringify(this.DVMConfig));\n viewerConfig.venue_id = venueId;\n viewerConfig.map_id = this.viewer.getMapId();\n this.loadMap(viewerConfig);\n }\n }\n\n subscribeHandler(event: 'click' | 'end_load' | 'enter' | 'leave', callback) {\n const viewerSubjectSubscribe = this.viewerSubject.subscribe((viewer) => {\n this.viewer.subscribe(event, callback);\n if (!this.subscribedCallbacks[event]) {\n this.subscribedCallbacks[event] = [];\n }\n this.subscribedCallbacks[event].push(callback);\n viewerSubjectSubscribe.unsubscribe();\n });\n }\n\n subscribe3dHandler(event: 'click_navigation_node', callback) {\n const viewer3dSubjectSubscribe = this.viewer3dSubject.subscribe(\n (viewer3d) => {\n this.viewer3d.subscribe(event, callback);\n if (!this.subscribed3dCallbacks[event]) {\n this.subscribed3dCallbacks[event] = [];\n }\n this.subscribed3dCallbacks[event].push(callback);\n viewer3dSubjectSubscribe.unsubscribe();\n }\n );\n }\n\n public loadMap(loadOptions) {\n return this.viewer.loadMap(loadOptions).then(() => {\n this.applyStyles(this.viewer);\n });\n }\n\n public load3DView(nodeId) {\n const loadOptions = JSON.parse(JSON.stringify(this.DVMConfig));\n loadOptions.view_id = nodeId;\n loadOptions.venue_id = this.viewer.getVenueId();\n this.viewer3d.loadView3d(loadOptions);\n }\n\n applyStyles(viewer) {\n const styles = [\n // Level 0. sections are visible, seats are hidden (no styles needed).\n {\n // Level 0 styles for nodes with \"section\" type\n section: {\n available: {\n normal: {\n none: {\n fillStyle: '#1D8EF9',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 1.5,\n cursor: 'auto',\n },\n owned: {\n fillStyle: '#DE00FF',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 1.5,\n cursor: 'auto',\n },\n vip: {\n fillStyle: 'rgb(186, 12, 47)',\n strokeStyle: 'white',\n fillOpacity: 0.2,\n lineWidth: 1.5,\n cursor: 'auto',\n },\n vipGreen: {\n fillStyle: 'green',\n strokeStyle: 'white',\n fillOpacity: 0.9,\n lineWidth: 1.5,\n cursor: 'auto',\n },\n pending: {\n fillStyle: 'orange',\n strokeStyle: 'white',\n fillOpacity: 0.9,\n lineWidth: 1.5,\n cursor: 'auto',\n },\n },\n hover: {\n none: {\n fillStyle: 'white',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 2,\n cursor: 'pointer',\n },\n owned: {\n fillStyle: 'white',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 2,\n cursor: 'pointer',\n },\n vip: {\n fillStyle: 'white',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 2,\n cursor: 'pointer',\n },\n },\n },\n unavailable: {\n normal: {\n none: {\n fillStyle: 'transparent',\n strokeStyle: 'transparent',\n cursor: 'auto',\n },\n },\n },\n disabled: 'unavailable',\n },\n // Level 0 styles for nodes with \"seat\" type (no styles = not shown)\n seat: {\n available: {\n normal: {\n none: {\n fillStyle: '#1D8EF9',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 0.1,\n cursor: 'auto',\n },\n owned: {\n fillStyle: '#DE00FF',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 0.1,\n cursor: 'auto',\n },\n pending: {\n fillStyle: 'orange',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 0.1,\n cursor: 'auto',\n },\n },\n hover: {\n none: {\n fillStyle: 'white',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 0.2,\n cursor: 'pointer',\n },\n },\n },\n selected: {\n normal: {\n none: {\n fillStyle: 'white',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 0.2,\n cursor: 'pointer',\n icon: 'selectedicon',\n },\n pending: {\n fillStyle: 'orange',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 0.2,\n cursor: 'auto',\n },\n },\n },\n unavailable: {\n normal: {\n none: {\n fillStyle: 'transparent',\n strokeStyle: 'transparent',\n cursor: 'auto',\n },\n owned: {\n fillStyle: '#DE00FF',\n strokeStyle: 'white',\n fillOpacity: 0.7,\n lineWidth: 0.1,\n cursor: 'auto',\n },\n pending: {\n fillStyle: '#DE00FF',\n strokeStyle: 'orange',\n fillOpacity: 0.7,\n lineWidth: 0.1,\n cursor: 'auto',\n },\n },\n },\n disabled: 'unavailable',\n },\n },\n ];\n viewer.setStyles(styles);\n }\n\n private getNodeId(obj) {\n return obj.nodes.length > 0 ? obj.nodes[0].id : null;\n }\n}\n","import { Injectable, Inject } from '@angular/core';\ndeclare var require: any;\nimport { Seat } from 'src/app/shared/models/seat.model';\nimport { Subject, Observable } from 'rxjs';\nimport { APP_CONFIG } from '../digitalvenue.configuration';\nimport { DigitalvenueConfiguration } from '../digitalvenue-configuration.model';\nimport {UserService} from '../../services/user.service';\n@Injectable({\n providedIn: 'root'\n})\n\nexport class FlowControlService {\n\n get isGASelected() {\n return this.app_config.generalAdmissionAreas.indexOf(this.current3DView) >= 0;\n }\n\n constructor(@Inject(APP_CONFIG) private app_config: DigitalvenueConfiguration, private userService: UserService) {\n }\n // General admission control\n public current3DView;\n public currentGeneralAdmissionArea: string;\n // Max selection control\n public maxAddons;\n public relocationSeatsCount = 0;\n // Plan control\n public currentPlan;\n public upgradePlan = null;\n public justAddonsAllowed;\n // Basket control\n public discardedSeats = {};\n public seatsToKeep = []; // Array of IDs\n public seatsToDiscard = []; // Array of IDs\n public Basket: { [key: string]: Seat } = {};\n public extraBasket = [];\n // Availability Notification Subject\n public availabilityLoaded: Subject = new Subject();\n // Checkout navigation\n canCheckout: boolean;\n auxTransactionID: number;\n // Maps\n private viewerMaps = {};\n // {'nam-us-00036-lakers-premium': {id: 0, name: 'Lakers', venue: 'nam-us-00036-lakers-premium'},\n // 'nam-us-00036-clippers-premium': {id: 1, name: 'Clippers', venue: 'nam-us-00036-clippers-premium'},\n // 'nam-us-00036-kings-premium': {id: 2, name: 'Kings', venue: 'nam-us-00036-kings-premium'},\n // 'nam-us-00036-concert-premium': {id: 3, name: 'Concert', venue: 'nam-us-00036-concert-premium'}};\n public currentMap: Subject = new Subject();\n public currentVenue = 0;\n\n public guideOverlayClosed = true;\n\n public availableSectionsHash = {\n S_R18: true,\n S_R08: true,\n S_R17: true,\n S_R07: true,\n S_R26: true,\n S_R56: true,\n S_R16: true,\n S_R06: true,\n S_R35: true,\n S_R25: true,\n S_R15: true,\n S_R05: true,\n S_R34: true,\n S_R24: true,\n S_R14: true,\n S_R04: true,\n S_R03: true,\n S_R13: true,\n S_R23: true,\n S_R12: true,\n S_R02: true,\n S_R01: true,\n S_R11: true,\n S_R53: true\n };\n\n public suitesHash = {\n // 'S_A1(INT)': true,\n // 'S_A10(INT)': true,\n // 'S_A11(INT)': true,\n // 'S_A12(INT)': true,\n // 'S_A13(INT)': true,\n // 'S_A14(INT)': true,\n // 'S_A15(INT)': true,\n // 'S_A16(INT)': true,\n // 'S_A17(INT)': true,\n // 'S_A18(INT)': true,\n // 'S_A19(INT)': true,\n // 'S_A2(INT)': true,\n // 'S_A20(INT)': true,\n // 'S_A21(INT)': true,\n // 'S_A22(INT)': true,\n // 'S_A23(INT)': true,\n // 'S_A24(INT)': true,\n // 'S_A25(INT)': true,\n // 'S_A26(INT)': true,\n // 'S_A27(INT)': true,\n // 'S_A28(INT)': true,\n // 'S_A3(INT)': true,\n // 'S_A30(INT)': true,\n // 'S_A31(INT)': true,\n // 'S_A32(INT)': true,\n // 'S_A33(INT)': true,\n // 'S_A34(INT)': true,\n // 'S_A35(INT)': true,\n // 'S_A36(INT)': true,\n // 'S_A37(INT)': true,\n // 'S_A38(INT)': true,\n // 'S_A39(INT)': true,\n // 'S_A4(INT)': true,\n // 'S_A40(INT)': true,\n // 'S_A41(INT)': true,\n // 'S_A42(INT)': true,\n // 'S_A43(INT)': true,\n // 'S_A44(INT)': true,\n // 'S_A45(INT)': true,\n // 'S_A46(INT)': true,\n // 'S_A47(INT)': true,\n // 'S_A48(INT)': true,\n // 'S_A49(INT)': true,\n // 'S_A5(INT)': true,\n // 'S_A50(INT)': true,\n // 'S_A51(INT)': true,\n // 'S_A52(INT)': true,\n // 'S_A53(INT)': true,\n // 'S_A54(INT)': true,\n // 'S_A55(INT)': true,\n // 'S_A56(INT)': true,\n // 'S_A6(INT)': true,\n // 'S_A7(INT)': true,\n // 'S_A8(INT)': true,\n // 'S_A9(INT)': true,\n // 'S_B1(INT)': true,\n // 'S_B10(INT)': true,\n // 'S_B11(INT)': true,\n // 'S_B12(INT)': true,\n // 'S_B13(INT)': true,\n // 'S_B14(INT)': true,\n // 'S_B15(INT)': true,\n // 'S_B16(INT)': true,\n // 'S_B17(INT)': true,\n // 'S_B18(INT)': true,\n // 'S_B19(INT)': true,\n // 'S_B2(INT)': true,\n // 'S_B20(INT)': true,\n // 'S_B21(INT)': true,\n // 'S_B22(INT)': true,\n // 'S_B23(INT)': true,\n // 'S_B24(INT)': true,\n // 'S_B25(INT)': true,\n // 'S_B26(INT)': true,\n // 'S_B27(INT)': true,\n // 'S_B28(INT)': true,\n // 'S_B29(INT)': true,\n // 'S_B3(INT)': true,\n // 'S_B30(INT)': true,\n // 'S_B32(INT)': true,\n // 'S_B33(INT)': true,\n // 'S_B34(INT)': true,\n // 'S_B35(INT)': true,\n // 'S_B36(INT)': true,\n // 'S_B37(INT)': true,\n // 'S_B38(INT)': true,\n // 'S_B39(INT)': true,\n // 'S_B4(INT)': true,\n // 'S_B40(INT)': true,\n // 'S_B41(INT)': true,\n // 'S_B42(INT)': true,\n // 'S_B43(INT)': true,\n // 'S_B44(INT)': true,\n // 'S_B45(INT)': true,\n // 'S_B46(INT)': true,\n // 'S_B47(INT)': true,\n // 'S_B48(INT)': true,\n // 'S_B49(INT)': true,\n // 'S_B5(INT)': true,\n // 'S_B50(INT)': true,\n // 'S_B51(INT)': true,\n // 'S_B52(INT)': true,\n // 'S_B53(INT)': true,\n // 'S_B54(INT)': true,\n // 'S_B55(INT)': true,\n // 'S_B56(INT)': true,\n // 'S_B57(INT)': true,\n // 'S_B58(INT)': true,\n // 'S_B59(INT)': true,\n // 'S_B6(INT)': true,\n // 'S_B60(INT)': true,\n // 'S_B61(INT)': true,\n // 'S_B62(INT)': true,\n // 'S_B7(INT)': true,\n // 'S_B8(INT)': true,\n // 'S_B9(INT)': true,\n // 'S_C1(INT)': true,\n // 'S_C10(INT)': true,\n // 'S_C11(INT)': true,\n // 'S_C12(INT)': true,\n // 'S_C13(INT)': true,\n // 'S_C14(INT)': true,\n // 'S_C15(INT)': true,\n // 'S_C16(INT)': true,\n // 'S_C17(INT)': true,\n // 'S_C18(INT)': true,\n // 'S_C19(INT)': true,\n // 'S_C2(INT)': true,\n // 'S_C20(INT)': true,\n // 'S_C21(INT)': true,\n // 'S_C22(INT)': true,\n // 'S_C23(INT)': true,\n // 'S_C24(INT)': true,\n // 'S_C25(INT)': true,\n // 'S_C26(INT)': true,\n // 'S_C27(INT)': true,\n // 'S_C28(INT)': true,\n // 'S_C29(INT)': true,\n // 'S_C3(INT)': true,\n // 'S_C30(INT)': true,\n // 'S_C31(INT)': true,\n // 'S_C32(INT)': true,\n // 'S_C33(INT)': true,\n // 'S_C34(INT)': true,\n // 'S_C35(INT)': true,\n // 'S_C36(INT)': true,\n // 'S_C37(INT)': true,\n // 'S_C38(INT)': true,\n // 'S_C39(INT)': true,\n // 'S_C4(INT)': true,\n // 'S_C40(INT)': true,\n // 'S_C41(INT)': true,\n // 'S_C42(INT)': true,\n // 'S_C43(INT)': true,\n // 'S_C44(INT)': true,\n // 'S_C45(INT)': true,\n // 'S_C46(INT)': true,\n // 'S_C47(INT)': true,\n // 'S_C48(INT)': true,\n // 'S_C49(INT)': true,\n // 'S_C5(INT)': true,\n // 'S_C50(INT)': true,\n // 'S_C51(INT)': true,\n // 'S_C52(INT)': true,\n // 'S_C53(INT)': true,\n // 'S_C54(INT)': true,\n // 'S_C6(INT)': true,\n // 'S_C7(INT)': true,\n // 'S_C8(INT)': true,\n // 'S_C9(INT)': true,\n // 'S_Lexus(INT)': true,\n // 'S_SMC(INT)': true,\n // 'S_TB0': true,\n // 'S_TB1': true,\n // 'S_TB2': true,\n // 'S_TB3': true,\n // 'S_TB4': true,\n // 'S_TB5': true,\n // 'S_TB6': true,\n // 'S_TB7': true,\n // 'S_TB8': true,\n // 'S_TB9': true,\n // 'S_TB10': true,\n // 'S_TB11': true,\n // 'S_TB12': true,\n // 'S_TB13': true,\n // 'S_TB14': true,\n // 'S_TB15': true,\n // 'S_TB16': true,\n // 'S_TB17': true,\n // 'S_TB18': true,\n // 'S_TB19': true,\n // 'S_TB20': true,\n // 'S_TB21': true,\n // 'S_TB22': true,\n // 'S_TB23': true,\n // 'S_TB24': true,\n // 'S_TB25': true,\n // 'S_TB26': true\n };\n // suites in green requested from staples, all the rest red\n public greenSuites = {\n 'S_A32(INT)': true,\n 'S_B55(INT)': true,\n 'S_C12(INT)': true,\n 'S_TB10': true,\n 'S_TB25': true\n };\n\n public init(planId) {\n this.seatsToDiscard = [];\n this.seatsToKeep = [];\n this.relocationSeatsCount = 0;\n this.justAddonsAllowed = false;\n this.currentPlan = planId;\n this.Basket = {};\n }\n\n public getAllMaps(): any {\n return this.viewerMaps;\n }\n\n public getCurrentMap$(): Observable {\n return this.currentMap.asObservable();\n }\n\n public setCurrentMap(currentMap: any) {\n this.currentMap.next(currentMap);\n }\n\n public getSuitesLoungesExtraText(nodeId) {\n if (nodeId) {\n nodeId = nodeId.split('-')[0];\n }\n let extraText = '';\n let extraTextInit = '';\n if (this.greenSuites[nodeId]) {\n extraTextInit = 'Private Suites';\n if (nodeId.indexOf('TB') !== -1) {\n extraTextInit = 'Premier Tables & Lounges at San Manuel Club';\n }\n extraText = `${extraTextInit} available for the 2020-21 Season.\n Click here\n to contact your Premium Services Manager`;\n }\n return extraText;\n }\n\n showMinimap() {\n // $('#minimap').removeClass('d-none');\n // $('#minimap').addClass('d-md-block');\n // $('#minimap').css('z-index', '1');\n }\n hideMinimap() {\n // $('#minimap').removeClass('d-md-block');\n // $('#minimap').addClass('d-none');\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { DVMService } from './dvm.service';\nimport { FlowControlService } from './flow-control.service';\nimport { buffer, catchError, tap } from 'rxjs/operators';\nimport { of, throwError } from 'rxjs';\nimport { findNode } from '@angular/compiler';\n\n@Injectable({\n providedIn: 'root',\n})\n\n/* ISOLATED SEAT HANDLING */\nexport class IsolatedSeatsService {\n singleSeatsBuffer = [];\n singleSeatsAction = '';\n\n constructor(private dvmService: DVMService) {}\n\n public checkPendingIsolatedSeats() {\n // Recogemos los asientos pending el mapa\n const pendingElements = this.dvmService.viewer.getNodesByTag(\n 'seat',\n 'pending'\n );\n // Pasamos los asientos pending a la comprobaciรณn de isolated\n return this.checkIsolatedSeats(pendingElements);\n }\n\n public checkIsolatedSeats(seats, seatObject = null, action = null) {\n const isolatedSeats = [];\n for (let i = 0; i < seats.length; ++i) {\n // Recorremos los asientos recibidos\n const seat = seats[i];\n if (seat.row) {\n const row = seat.row; // Fila del asiento\n const index = row.indexOf(seat.id); // Indice de la silla en el array de asientos\n const right_id1 = row[index + 1]; // ID Asiento de la derecha del asiento recibido\n const right_id2 = row[index + 2]; // ID Asiento de 2 a la derecha del asiento recibido\n const left_id1 = row[index - 1]; // ID Asiento de la izquierda del asiento recibido\n const left_id2 = row[index - 2]; // ID Asiento de 2 a la izquierda del asiento recibido\n\n if (this.isAvailable(right_id1)) {\n // Si hay asiento disponible a la derecha\n if (!this.isAvailable(right_id2)) {\n // Si no hay asiento disponible 2 a la derecha\n isolatedSeats.push(right_id1); // El asiento de la derecha estรก aislado\n }\n }\n\n if (this.isAvailable(left_id1)) {\n // Si hay asiento disponible a la izquierda\n if (!this.isAvailable(left_id2)) {\n // Si no hay asiento disponible 2 a la izquierda\n isolatedSeats.push(left_id1); // El asiento de la izquierda estรก aislado\n }\n }\n }\n }\n // Comprobamos si hay asientos aislados y si se estรก asiendo la comprobaciรณn cuando se ha hecho un acciรณn en un asiento concreto\n if (isolatedSeats.length > 0 && action != null && seatObject != null) {\n // Manejamos el isolated para ese asiento de forma unica\n this.singleSeatHandling(seatObject, action);\n }\n // Devolvemos los asientos aislados\n return isolatedSeats;\n }\n\n private isAvailable(id) {\n if (id) {\n const element = this.dvmService.viewer.getNodeById(id);\n return element.state === 'available';\n }\n return false; // Si no existe, no es available\n }\n\n /*\n * CHECK IF BUFFER NEEDS TO BE RESET\n */\n public checkResetBuffer(areaid) {\n if (this.singleSeatsBuffer.length > 0 && this.singleSeatsAction === 'add') {\n // AREAID CHANGE CONDITION\n if (areaid !== this.singleSeatsBuffer[0]['areaid']) {\n this.singleSeatsBuffer = [];\n }\n }\n }\n\n /*\n * RESET BUFFER\n */\n public resetBuffer() {\n this.singleSeatsBuffer = [];\n this.singleSeatsAction = '';\n }\n\n /*\n * TO BE EXECUTED WHEN A SEAT IS UNSELECTED AND THE ISOLATED SEATS BUFFER IS NOT EMPTY\n */\n public singleSeatHandling(seatObject, action) {\n // IF CURRENT ACTION IS NOT 'REMOVE'\n if (this.singleSeatsAction !== action) {\n if (this.singleSeatsBuffer.length > 0) {\n // IF SEAT SELECTED IS ON THE BUFFER, WE REMOVE IT\n if (\n this.dvmService.viewer.getNodeById(seatObject.id).tag === 'pending'\n ) {\n this.singleSeatsBuffer = [];\n } else {\n // IF NOT, WE SEND WARNING TO THE USER\n const errorMessage = 'IsolatedSeatsNotHandled';\n const errorText =\n 'Your selection is leaving an isolated seat and could not be completed. ' +\n 'Please, fix your selection by clicking the isolated seat to continue.';\n // this.modals.throwErrorModal(errorMessage, errorText);\n return throwError(new Error(errorMessage + '%%%' + errorText));\n }\n // PRINT BUFFER UPDATES ON THE MAP\n this.printBuffer();\n // this.flowControl.showLoader(false);\n // this.loaderService.removeProcess(\"selectseat\");\n return;\n\n // IF BUFFER IS EMPTY, WE SET THE NEW ACTION\n } else if (this.singleSeatsBuffer.length === 0) {\n this.singleSeatsAction = action;\n }\n }\n\n // IF THE ISOLATED SEATS BUFFER IS EMPTY, WE ADD THE SEAT TO THE BUFFER\n if (this.singleSeatsBuffer.length <= 1) {\n this.singleSeatsBuffer.push(seatObject);\n } else {\n // IF THE BUFFER ALREADY CONTAINS TWO SEATS, WARNING IS SENT TO THE USER\n const errorMessage = 'IsolatedSeatsNotHandled';\n const errorText =\n 'Your selection is leaving an isolated seat and could not be completed. ' +\n 'Please, fix your selection by clicking the isolated seat to continue.';\n // this.modals.throwErrorModal(errorMessage, errorText);\n throw new Error(errorMessage + '%%%' + errorText);\n }\n // IF THE BUFFER CONTAINS TWO SEATS, THEY ARE SENT TO BE RESOLVED\n let seats;\n try {\n if (this.singleSeatsBuffer.length >= 2) {\n if (this.singleSeatsAction === 'remove') {\n seats = this.sendSingleSeatsRemoveBuffer();\n } else {\n seats = this.sendSingleSeatsAddBuffer();\n }\n }\n return seats;\n } finally {\n this.printBuffer();\n if (seats) {\n this.singleSeatsBuffer = [];\n this.dvmService.viewer.setNodesTag(\n this.dvmService.viewer.getNodesByTag('seat', 'pending'),\n 'none'\n );\n }\n }\n }\n\n /*\n * SEND BUFFER TO BE RESOLVED WHEN 'REMOVE' ACTION IS ACTIVE\n */\n private sendSingleSeatsRemoveBuffer() {\n const seats = [];\n for (let i = 0; i < this.singleSeatsBuffer.length; ++i) {\n seats.push(this.singleSeatsBuffer[i]);\n }\n if (seats.length > 0) {\n // CHECK ISOLATED SEATS INTERNALLY\n // this.printBuffer();\n const isolatedSeats = this.checkPendingIsolatedSeats();\n if (isolatedSeats.length > 0) {\n this.dvmService.viewer.select(this.singleSeatsBuffer[1].id);\n this.singleSeatsBuffer.length = 1;\n this.printBuffer();\n const errorMessage = 'IsolatedSeatsNotHandled';\n const errorText =\n 'Your selection is leaving an isolated seat and could not be completed. ' +\n 'Please, fix your selection by clicking the isolated seat to continue.';\n // throw new Error(`${errorMessage}::${errorText}`);\n //! AQUI HAY QUE MANDAR EL ERROR PARA EL HANDLER\n throw new Error(errorMessage + '%%%' + errorText);\n // this.flowControl.showLoader(false);\n } else {\n return seats;\n }\n }\n }\n\n /*\n * SEND BUFFER TO BE RESOLVED WHEN 'ADD' ACTION IS ACTIVE\n */\n private sendSingleSeatsAddBuffer() {\n // Comprobamos si el array tiene elementos\n if (this.singleSeatsBuffer.length > 0) {\n // CHECK ISOLATED SEATS INTERNALLY\n // Acualizamos el mapa con los datos del buffer\n this.printBuffer();\n // Intentamos solucionar los isolated cogiendo los asientos pending del mapa\n const isolatedSeats = this.checkPendingIsolatedSeats();\n if (isolatedSeats.length > 0) {\n this.dvmService.viewer.unselect(this.singleSeatsBuffer[1].id);\n this.singleSeatsBuffer.length = 1;\n this.printBuffer();\n const errorMessage = 'IsolatedSeatsNotHandled';\n const errorText =\n 'Your selection is leaving an isolated seat and could not be completed. ' +\n 'Please, fix your selection by clicking the isolated seat to continue.';\n throw new Error(errorMessage + '%%%' + errorText);\n // this.flowControl.showLoader(false);\n } else {\n // PENDIENTE DE REVISION\n // CHECK ISOLATED SEATS EXTERNALLY\n return this.singleSeatsBuffer;\n }\n }\n }\n\n /*\n * PRINT BUFFER CHANGES IN THE SEATMAP\n */\n public printBuffer() {\n let action; // Acciรณn que se ha realizado al hacer click sobre el asiento\n let counteraction; // Acciรณn contraria de la que se ha realizado\n if (this.singleSeatsAction === 'add') {\n action = 'select';\n counteraction = 'unselect';\n } else if (this.singleSeatsAction === 'remove') {\n action = 'unselect';\n counteraction = 'select';\n }\n\n // Buscamos todos los elementos que estan como pending en el mapa\n const pendingElements = this.dvmService.viewer.getNodesByTag(\n 'seat',\n 'pending'\n );\n if (pendingElements.length > 0 && pendingElements != null) {\n // Si hay elementos pending\n for (let i = 0; i < pendingElements.length; ++i) {\n this.dvmService.viewer[counteraction](pendingElements[i]); // Hacemos la acciรณn contraria sobre los elementos que estan como pending\n this.dvmService.viewer.setNodesTag(pendingElements[i], 'none'); // Les quitamos la etiqueta de pending\n }\n }\n if (this.singleSeatsBuffer.length > 0) {\n // Si hay asientos aislados\n for (let j = 0; j < this.singleSeatsBuffer.length; ++j) {\n this.dvmService.viewer[action](this.singleSeatsBuffer[j].id); // Hacemos la acciรณn original sobre los elementos aislados\n this.dvmService.viewer.setNodesTag(\n this.singleSeatsBuffer[j].id,\n 'pending'\n ); // Les ponemos la etiqueta de pending\n }\n }\n }\n}\n","import { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MapLoaderService {\n private processes: any[];\n\n constructor() {\n this.processes = [];\n // setInterval(() => console.log(this.processes), 4000)\n }\n\n get isLoading() {\n return Boolean(this.processes.length);\n }\n\n loadingSentence() {\n return this.processes.length;\n }\n\n addProcess(process: string | Array) {\n this.processes = this.processes.concat(process);\n }\n\n removeProcess(process) {\n const index = this.processes.indexOf(process);\n if (index !== -1) {\n this.processes.splice(index, 1);\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { DVMService } from './dvm.service';\nimport { IsolatedSeatsService } from './isolated-seats.service';\nimport { BehaviorSubject, Observable, of, throwError } from 'rxjs';\nimport { take, tap } from 'rxjs/operators';\nimport { DvmInterceptor, DVM_CALLBACKS, DVM_CALLBACKS_MODEL, DVM_INTERCEPTORS } from '../digitalvenue.configuration';\nimport { CartService } from './cart.service';\n\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SeatSelectionService {\n\n private countNew = 0;\n additionalSeatsLimit = 5;\n\n constructor(private dvmService: DVMService,\n @Inject(DVM_CALLBACKS) private callbacksService: DVM_CALLBACKS_MODEL,\n @Inject(DVM_INTERCEPTORS) private dvmInterceptors: DvmInterceptor | [DvmInterceptor],\n private cartService: CartService,\n private isolatedSeatsService: IsolatedSeatsService) {\n }\n\n public get countOfSelectedSeats(): number {\n return this.countNew;\n }\n\n // Set count selected seats\n public set resetCountSelectedSeat(num: number) {\n this.countNew = num;\n }\n\n selectseat(node): any {\n // Obtenemos la area del nodo\n const mmcArea = this.dvmService.viewer.getMapId();\n\n // Miramos si hay que reseater el buffer para esta area\n this.isolatedSeatsService.checkResetBuffer(mmcArea);\n\n // Solicitamos la acciรณn de aรฑadir la silla\n const action = 'add';\n const seatObject = { id: node.id, areaid: mmcArea };\n // Pasamos el objeto asiento y la acciรณn al algoritmo de isolated seats\n\n // Solicitamos los asientos resultantes\n const seats = this.isolatedseats(seatObject, action);\n\n // Ejecutar solo si tenemos el cart service activado\n let cart;\n // Sync execution, recuperar la cart\n this.cartService.cart$.pipe(take(1)).subscribe(res => cart = res);\n\n // Ejecutamos el interceptor o interceptoes de la cart para obtener la nueva cart\n let updatedCart;\n if (this.dvmInterceptors instanceof Array) {\n updatedCart = this.dvmInterceptors.reduce((cart, interceptor: DvmInterceptor) => interceptor.addSeatsInterceptor(seats, cart), cart);\n } else if (this.dvmInterceptors) {\n updatedCart = this.dvmInterceptors.addSeatsInterceptor(seats, cart);\n }\n\n // Emitimos la nueva cart\n this.cartService.emitCart(updatedCart);\n\n return seats;\n }\n\n\n unselectseat(node) {\n const mmcArea = this.dvmService.viewer.getMapId();\n const action = 'remove';\n const seatObject = { id: node.id, areaid: mmcArea };\n\n\n const seats = this.isolatedseats(seatObject, action);\n\n let cart;\n this.cartService.cart$.pipe(take(1)).subscribe(res => cart = res);\n\n // Ejecutamos el interceptor o interceptoes de la cart para obtener la nueva cart\n let updatedCart;\n if (this.dvmInterceptors instanceof Array) {\n updatedCart = this.dvmInterceptors.reduce((cart, interceptor: DvmInterceptor) => interceptor.removeSeatsInterceptor(seats, cart), cart);\n } else if (this.dvmInterceptors) {\n updatedCart = this.dvmInterceptors.removeSeatsInterceptor(seats, cart);\n }\n\n //Emitimos la nueva cart\n this.cartService.emitCart(updatedCart);\n\n return seats;\n\n }\n\n\n\n private isolatedseats(seatObject, action) {\n // Comprobamos si hay asientos en el buffer\n if (this.isolatedSeatsService.singleSeatsBuffer.length > 0) {\n // Si hay asiento en el buffer comprobamos si se puede solucionar el isolated\n return this.isolatedSeatsService.singleSeatHandling(seatObject, action);\n } else {\n // Si no hay asientos en el buffer\n let existIsolatedseats: boolean;\n\n // Comprobamos si la app quiere prevenir los isolated seats\n if (false) { //Forzado a siempre prevenir\n existIsolatedseats = false;\n } else {\n let selectedElements = null\n if (action === \"add\") {\n // Si es una acciรณn de aรฑadir el elemento seleccionado es el que ha recibido la acciรณn\n selectedElements = Array.of(this.dvmService.viewer.getNodeById(seatObject.id));\n } else if (action === \"remove\") {\n // Si es una acciรณn de quitar los elementos seleccionados son los selected menos el que ha recibido la acciรณn\n this.dvmService.viewer.unselect(seatObject.id);\n selectedElements = this.dvmService.viewer.getNodesByState('seat', 'selected');\n }\n // Comprobamos que asientos quedan aislados\n const isolatedseats = this.isolatedSeatsService.checkIsolatedSeats(selectedElements, seatObject, action);\n //Logger isolated seats\n existIsolatedseats = !!isolatedseats.length;\n }\n\n\n if (!existIsolatedseats) {\n // Seleccionamos o deseleccionamos directamente la silla\n if (action === \"add\") {\n this.countNew++;\n this.dvmService.viewer.select(seatObject.id);\n } else if (action === \"remove\") {\n this.countNew--;\n this.dvmService.viewer.unselect(seatObject.id);\n }\n // Avisamos de que el asiento se ha conseguido aรฑadir o descartar (que silla y de que sector)\n return [seatObject];\n } else {\n const ISerrorMessage = 'IsolatedSeatsNotHandled';\n const ISerrorText =\n 'Your selection is leaving an isolated seat. Please, fix your selection before continuing.';\n throw new Error(ISerrorMessage + \"%%%\" + ISerrorText)\n }\n }\n }\n}\n","import { Component, Input, OnInit, Inject } from '@angular/core';\nimport { FlowControlService } from '../services/flow-control.service';\nimport { APP_CONFIG } from 'src/app/configuration/ticket-management-portal-configuration';\nimport { DigitalvenueConfiguration } from '../digitalvenue-configuration.model';\nimport { DVMService } from '../services/dvm.service';\nimport { DVM_CONFIG } from '../digitalvenue.configuration';\nimport { DVMConfiguration } from '../dvmconfiguration.model';\nimport { IsolatedSeatsService } from '../services/isolated-seats.service';\n\n\n@Component({\n selector: 'app-venue-topbar',\n templateUrl: './topbar.component.html',\n styleUrls: ['./topbar.component.scss']\n})\nexport class TopbarComponent implements OnInit {\n\n get isStep1() {\n if (this.dvmService.viewer) {\n return this.dvmService.viewer.getMapId() === this.dvmConfig.map_id;\n }\n return false;\n }\n\n get isStep2() {\n if (this.dvmService.viewer && this.dvmService.viewer.getMapId()) {\n return this.dvmService.viewer.getMapId() !== this.dvmConfig.map_id && !this.dvmService.viewer3d.getViewId();\n }\n return false;\n }\n\n get isStep3() {\n if (this.dvmService.viewer3d && this.dvmService.viewer3d.getViewId()) {\n return true;\n }\n return false;\n }\n\n back() {\n const loadOptions = JSON.parse(JSON.stringify(this.dvmConfig));\n loadOptions.venue_id = this.dvmService.viewer.getVenueId();\n if (this.isStep2) {\n this.isolatedSeatsService.resetBuffer();\n } else if (this.isStep3) {\n loadOptions.map_id = this.dvmService.viewer.getMapId();\n this.dvmService.viewer3d.reset();\n }\n this.dvmService.loadMap(loadOptions);\n }\n\n isSectionView() {\n if (this.flowControl.suitesHash[this.dvmService.viewer3d.getViewId().split('-')[0].split('(')[0]] ||\n this.dvmService.viewer3d.getViewId().split('-').length === 1) {\n return true;\n }\n return this.flowControl.isGASelected;\n }\n\n get currentSection() {\n if (this.isStep3) {\n return this.dvmService.viewer3d.getViewId().split('-')[0].split('_')[1].split('(')[0];\n }\n if (this.dvmService.viewer) {\n return this.dvmService.viewer.getMapId().split('-')[0].split('_')[1];\n }\n }\n\n get currentRow() {\n if (this.isStep3 && this.dvmService.viewer3d.getViewId()) {\n return this.dvmService.viewer3d.getViewId().split('-')[1];\n }\n }\n\n get currentSeat() {\n if (this.isStep3 && this.dvmService.viewer3d.getViewId()) {\n return this.dvmService.viewer3d.getViewId().split('-')[2];\n }\n }\n\n constructor(private flowControl: FlowControlService,\n private dvmService: DVMService,\n private isolatedSeatsService: IsolatedSeatsService,\n @Inject(DVM_CONFIG) public dvmConfig: DVMConfiguration,\n @Inject(APP_CONFIG) public dvConfig: DigitalvenueConfiguration) { }\n\n ngOnInit() {\n }\n\n}\n","\n
\n \n
\n
\n Block \n \n {{currentSection}}\n \n
\n Row \n \n {{currentRow}}\n \n Seat \n \n {{currentSeat}}\n \n
\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { take } from 'rxjs/operators';\nimport { CustomerService } from '../services/customer.service';\nimport { FlowcontrolService } from '../services/flowcontrol.service';\nimport { NavigationService } from '../services/navigation.service';\n\n@Component({\n selector: 'app-link-account',\n templateUrl: './link-account.component.html',\n styleUrls: ['./link-account.component.scss'],\n})\nexport class LinkAccountComponent implements OnInit {\n pageHeader = 'Select Account Option';\n\n step: 'create-customer' | 'select' | 'create-business' | null = null;\n businessStep:\n | 'create-business-member'\n | 'find-stuct'\n | 'assign-struct-to-member'\n | 'create-struct'\n | 'assign-struct-to-relay'\n | 'select-customer-for-structure'\n | 'assigning'\n | null = null;\n\n editCustomerPhase = false;\n\n atBusinessPage = false;\n\n selectedStruct;\n\n currentCustomer;\n\n constructor(\n private navigation: NavigationService,\n private activatedRoute: ActivatedRoute,\n private flowControl: FlowcontrolService\n ) {}\n\n ngOnInit(): void {\n this.flowControl\n .getCustomer()\n .pipe(take(1))\n .subscribe((customer) => {\n if (customer) {\n this.currentCustomer = customer;\n this.editCustomerPhase = true;\n this.flowControl.setCustomer(null);\n }\n this.flowControl.persistState();\n });\n }\n\n goToMethod(route: string) {\n this.navigation.goTo(route, { relativeTo: this.activatedRoute });\n }\n\n handleBack() {\n if (this.editCustomerPhase) {\n this.editCustomerPhase = false;\n this.currentCustomer = null;\n } else if (this.atBusinessPage && this.businessStep) {\n this.businessStep = null;\n this.pageHeader = 'Business Page'; //! incoherencia\n } else if (this.atBusinessPage && !this.businessStep) {\n this.atBusinessPage = false;\n this.pageHeader = 'Customer Account Options';\n } else if (!this.atBusinessPage && this.step) {\n this.step = null;\n this.pageHeader = 'Customer Account Options';\n } else {\n this.navigation.goBack();\n }\n }\n\n selectStep(step) {\n this.step = step;\n\n if (step === 'create-customer') {\n this.pageHeader = 'Create New Customer';\n } else if (step === 'select') {\n this.pageHeader = 'Find Customer Account';\n }\n }\n\n selectBusinessStep(step) {\n this.businessStep = step;\n\n if (step === 'create-business-member') {\n this.pageHeader = 'Assign Customer - Create Business Member';\n } else if (step === 'assign-struct-to-member') {\n this.pageHeader = 'Assign Customer - Assign Customer to Business';\n } else if (step === 'create-struct') {\n this.pageHeader = 'Assign Customer - Create Business';\n }\n }\n\n toggleBusinessPage(isOpen?: boolean) {\n this.atBusinessPage = isOpen ?? !this.atBusinessPage;\n this.pageHeader = this.atBusinessPage\n ? 'Business Account Options' //! incoherencia\n : 'Customer Account Options';\n }\n\n // -SELECT- STEP\n\n selectClient(client) {\n this.currentCustomer = client;\n this.editCustomerPhase = true;\n }\n\n // -CREATE STRUCT- STEP\n createBusinessCustomer(struct) {}\n\n // -EDIT CUSTOMER (use customer)-\n\n useCustomer(customer) {\n this.flowControl.setCustomer(customer); // Seleccionamos el user\n this.navigation.goTo('selection/map'); // Navegamos al siguiente\n }\n\n handleNewStruct(struct) {\n this.selectedStruct = struct;\n this.businessStep = 'select-customer-for-structure';\n }\n\n handleNewStructAndCustomer(struct) {\n this.selectedStruct = struct;\n // this.businessStep = 'create-business-member';\n this.businessStep = 'create-business-member';\n }\n\n selectedClientToAssignStruct(client): void {\n this.currentCustomer = client;\n this.editCustomerPhase = false;\n this.businessStep = 'assigning';\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\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
\n
\n
\n\n
\n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { BsModalRef, BsModalService } from 'ngx-bootstrap/modal';\nimport { PackageSelectionService } from 'src/app/package-selector/services/package-selection.service';\nimport { CustomerService } from 'src/app/services/customer.service';\nimport { ModalsService } from 'src/app/shared/modals/modals.service';\nimport { PackageModel } from 'src/app/shared/models';\nimport { UserService } from '../services';\nimport { FlowcontrolService } from '../services/flowcontrol.service';\nimport { NavigationService } from '../services/navigation.service';\nimport { forkJoin, Observable } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\n\n@Component({\n selector: 'app-login-client',\n templateUrl: './login-client.component.html',\n styleUrls: ['./login-client.component.scss'],\n})\n\n// export interface PhoneCode {\n// [key: string]: string;\n// }\nexport class LoginClientComponent implements OnInit {\n // State variables\n linkedAccount;\n currentTab: 'create' | 'search' | 'create-struct' = 'create';\n assignedStruct;\n countryPhone: any;\n countryCode: any;\n // @ts-ignore\n emailRegex =\n /^[a-zA-Z0-9.!#$%&โ€™*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\n phoneRegex = /^[0-9]*$/;\n\n isReadOnly = false;\n\n currPackageId: number;\n\n constructor(\n private navigation: NavigationService,\n private flowcontrolService: FlowcontrolService,\n private packageSelectionService: PackageSelectionService,\n private customerService: CustomerService,\n private http: HttpClient,\n private userService: UserService\n ) {}\n\n ngOnInit(): void {\n const joins = [\n this.getJson('/assets/data/country-codes.json'),\n this.getJson('/assets/data/country-phones.json'),\n ];\n forkJoin(joins).subscribe((responseList) => {\n this.countryCode = responseList[0];\n this.countryPhone = this.sortProperties(responseList[1]);\n });\n this.flowcontrolService.getCustomer().subscribe((customer) => {\n if (customer) {\n this.linkedAccount = customer;\n this.toggleEditable();\n }\n });\n }\n\n prefixUkFirst(data: Array): any {\n data.forEach((item, i) => {\n if (item[0] === 'GB') {\n data.splice(i, 1);\n data.unshift(item);\n }\n });\n return data;\n }\n\n sortProperties(obj): Array {\n // convert object into array\n const sortable = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n sortable.push([key, obj[key]]);\n }\n } // each item is an array in format [key, value]\n\n // sort items by value\n sortable.sort((a, b) => {\n const x = a[1];\n const y = b[1];\n return x < y ? -1 : x > y ? 1 : 0;\n });\n return this.prefixUkFirst(sortable); // array in format [ [ key1, val1 ], [ key2, val2 ], ... ]\n }\n\n toggleEditable() {\n this.isReadOnly = !this.isReadOnly;\n }\n\n cancelChanges(form: NgForm) {\n this.toggleEditable();\n this.linkedAccount = this.linkedAccount;\n this.linkedAccount.phonePrefix =\n this.countryPhone[this.linkedAccount.countryCode];\n this.linkedAccount.phone = this.linkedAccount.phone.replace(\n this.linkedAccount.phonePrefix,\n ''\n );\n form.resetForm(this.linkedAccount);\n }\n\n submitForm(form) {\n const { dirty } = form;\n const customer = form.value;\n customer.language = 'en';\n customer.role = 'PUBLIC';\n if (form.invalid) {\n return;\n }\n\n // const hasEmptyFields = Object.values(customer).some(entry => entry == null);\n // if (hasEmptyFields) {\n // return\n // }\n\n if (this.linkedAccount) {\n // Si hay una cuenta vinculada\n if (this.isReadOnly) {\n // Si estaba en modo lectura\n this.flowcontrolService.setCustomer(this.linkedAccount); // Seleccionamos el user\n this.navigation.goTo('selection/map'); // Navegamos al siguiente\n } else {\n // Si estaba en escritura\n // Aรฑadimos el contact id a los datos del form (para que haga el update la API)\n customer.contactNumber = this.linkedAccount.contactNumber;\n customer.phone = `${this.linkedAccount.phonePrefix}${customer.phone}`;\n this.customerService\n .editCustomer(customer)\n .subscribe((editedCustomer) => {\n // Solicitamos ediciรณn de usuario\n this.linkedAccount = editedCustomer; // Asignamos la respuesta editada como cuenta vinculada\n this.linkedAccount.phonePrefix = this.setPhoneAndPrefix(\n editedCustomer.countryCode\n );\n this.linkedAccount.birthdate = this.formatDate(\n editedCustomer.birthdate\n );\n this.linkedAccount.phone = this.linkedAccount.phone\n ? this.linkedAccount.phone.replace(\n this.linkedAccount.phonePrefix,\n ''\n )\n : '000';\n });\n this.toggleEditable(); // Cambiamos a modo readonly\n }\n } else {\n customer.phone = `${customer.phonePrefix}${customer.phone}`;\n this.customerService\n .createCustomer(customer)\n .subscribe((createdCustomer) => {\n // Solicitamos crear el usuario\n this.linkedAccount = createdCustomer; // Asignamos la respuesta de creaciรณn como cuenta vinculada\n this.linkedAccount.phonePrefix = this.setPhoneAndPrefix(\n this.linkedAccount.countryCode\n );\n this.linkedAccount.birthdate = this.formatDate(\n createdCustomer.birthdate\n );\n this.linkedAccount.phone = this.linkedAccount.phone\n ? this.linkedAccount.phone.replace(\n this.linkedAccount.phonePrefix,\n ''\n )\n : '000';\n this.toggleEditable(); // Cambiamos a modo readonly\n });\n }\n }\n\n handleAssignStruct(structNumber) {\n this.assignedStruct = structNumber;\n this.changeTab('create');\n }\n\n formatDate(date) {\n // tslint:disable-next-line:one-variable-per-declaration prefer-const\n let d = new Date(date),\n month = '' + (d.getMonth() + 1),\n day = '' + d.getDate(),\n // tslint:disable-next-line:prefer-const\n year = d.getFullYear();\n\n if (month.length < 2) {\n month = '0' + month;\n }\n if (day.length < 2) {\n day = '0' + day;\n }\n\n return [year, month, day].join('-');\n }\n\n selectClient(client) {\n this.linkedAccount = client;\n this.linkedAccount.phonePrefix = this.setPhoneAndPrefix(\n this.linkedAccount.countryCode\n );\n this.linkedAccount.phone = this.linkedAccount.phone\n ? this.linkedAccount.phone.replace(this.linkedAccount.phonePrefix, '')\n : '';\n this.linkedAccount.birthdate = this.formatDate(client.birthdate);\n this.changeTab('create');\n this.isReadOnly = true;\n }\n\n changeTab(tab: 'create' | 'search' | 'create-struct') {\n this.currentTab = tab;\n }\n\n getJson(urlToJson): Observable {\n return this.http.get(urlToJson);\n }\n\n setPhoneAndPrefix(countryCode: string): any {\n const prefix = this.countryPhone.find((item, i) => {\n if (item[0] === countryCode) {\n return `${item[1]}`;\n }\n });\n return prefix[1];\n // return `${this.countryPhone[countryCode]}`;\n }\n}\n","
\n \n
\n

\n London's original football club has a new world-class matchday experience.\n

\n

\n Welcome to The Riverside.\n

\n
\n \n
\n
\n
\n \n
\n
\n
\n \n
\n
\n \n
\n
\n Name is required.\n
\n
\n
\n\n\n
\n \n
\n
\n Lastname is required.\n
\n
\n
\n\n
\n
\n \n
\n
\n Email is required.\n
\n
\n Email must be valid.\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n Phone is required.\n
\n
\n Only numbers are allowed.\n
\n
\n
\n
\n \n
\n
\n Birthdate is required.\n
\n
\n
\n
\n
\n\n\n
\n \n
\n
\n Address is required.\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
\n
\n Town is required.\n
\n
\n
\n
\n \n
\n
\n Postcode is required.\n
\n
\n
\n
\n \n \n
\n
\n Country Code is required.\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 Already have an account? Sign in\n

\n
\n
\n \n
\n

\n You don't have an account? Create account\n

\n
\n
\n
\n \n
\n

\n Already have a structure? Create account\n

\n
\n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { UserService } from '../services';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.scss'],\n})\nexport class LoginComponent implements OnInit {\n username: string;\n password: string;\n user$;\n isFormInvalid = false;\n errorText: string;\n\n showError: boolean;\n\n constructor(private userService: UserService, private router: Router) {\n this.showError = false;\n }\n\n ngOnInit(): void {}\n\n login(): void {\n this.userService.login(this.username, this.password).subscribe(\n (success) => {\n if (success.user.type === 'root' || success.user.type === 'admin') {\n this.router.navigate(['/admin-area']);\n } else {\n this.router.navigate(['/homepage']);\n }\n },\n (error) => {\n this.showError = true;\n setTimeout(() => {\n this.showError = false;\n }, 5000);\n }\n );\n }\n}\n","
\n
\n
\n
\n

LOG IN

\n

London's original football club has a new world-class matchday experience.

\n

Welcome to The Riverside.

\n
\n
\n
\n
\n \n \n \n
\n
\n
\n \n
\n Invalid credentials\n
\n
\n
\n
\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LoginComponent } from './login.component';\nimport { FormsModule } from '@angular/forms';\nimport { SharedModule } from '../shared/shared.module';\n\n\n\n@NgModule({\n declarations: [\n LoginComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n SharedModule\n ]\n})\nexport class LoginModule { }\n","import { Component, OnInit } from '@angular/core';\nimport { PackageModel } from '../../shared/models';\nimport { PackagesService } from 'src/app/services/packages.service';\nimport { forkJoin } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { CartService } from 'src/app/digitalvenue/services/cart.service';\n\n@Component({\n selector: 'app-another-package',\n templateUrl: './another-package.component.html',\n styleUrls: ['./another-package.component.scss'],\n})\nexport class AnotherPackageComponent implements OnInit {\n defaultColumns = 4;\n packageAvailableList: Array;\n\n constructor(\n private packagesService: PackagesService,\n private cartService: CartService,\n ) {}\n\n ngOnInit(): void {\n const packages$ = this.packagesService.getPackages();\n const cart$ = this.cartService.cart$.pipe(take(1));\n\n forkJoin([packages$, cart$]).subscribe(([packages, cart]: any) => {\n const packagesArray: PackageModel[] = Object.values(packages.packages);\n const acquiredPackages = Object.keys(cart);\n this.packageAvailableList = packagesArray.filter(\n (pkg: PackageModel) => acquiredPackages.indexOf(pkg.id) === -1\n );\n });\n }\n}\n","\n
\n \n\n
\n
\n \n \n
\n
\n
\n","import {Component, EventEmitter, Input, OnInit, Output} from '@angular/core';\nimport {CustomerPackagePlan} from '../../../../shared/models/customer-package/customer-package-plan.model';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-home-page-column-item',\n templateUrl: './home-page-column-item.component.html',\n styleUrls: ['./home-page-column-item.component.scss']\n})\nexport class HomePageColumnItemComponent implements OnInit {\n @Input('customer_package') cp: CustomerPackagePlan;\n @Input('show-package-info') pinfo;\n\n constructor(private router: Router) { }\n\n ngOnInit(): void {\n }\n\n setSelectedPackage(): void {\n // if (this.pinfo) {\n // this.packageTestService.selectedPackage = this.cp;\n // this.router.navigate(['/pinfo', this.cp.name]);\n // } else {\n // this.selectionPackageService.selectPackage(this.cp);\n // }\n }\n\n}\n","
{{cp.name.toUpperCase()}}
\n\n\n \n Empty\n \n\n\n","import {Component, Input, OnInit} from '@angular/core';\nimport {CustomerPackagePlan} from '../../../shared/models/customer-package/customer-package-plan.model';\n\n@Component({\n selector: 'app-home-page-column',\n templateUrl: './home-page-column.component.html',\n styleUrls: ['./home-page-column.component.scss']\n})\nexport class HomePageColumnComponent implements OnInit {\n @Input('packages') availablePackages: Array;\n @Input('array_index') index: number;\n @Input('show-package-info') pinfo = true;\n\n constructor() { }\n\n ngOnInit(): void {\n // const addStart = this.index * 2;\n // for (let i = 0; i < addStart; i++) {\n // this.availablePackages = [null].concat(this.availablePackages);\n // }\n }\n\n}\n","\n\n\n\n\n\n\n\n\n\n\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { PackageService } from '../../services/package.service';\nimport { NavigationService } from 'src/app/services/navigation.service';\nimport { FlowcontrolService } from 'src/app/services/flowcontrol.service';\nimport { PackagesService } from 'src/app/services/packages.service';\nimport { forkJoin } from 'rxjs';\n\n@Component({\n selector: 'app-home-page-package',\n templateUrl: './home-page-package.component.html',\n styleUrls: ['./home-page-package.component.scss'],\n})\nexport class HomePagePackageComponent implements OnInit {\n @Input('package') pkg: any;\n @Input('show-package-info') pinfo;\n imageClasses: Array = [];\n image;\n imageUrl;\n packageDesc: any;\n\n constructor(\n private navigation: NavigationService,\n private flowControlService: FlowcontrolService,\n private packageService: PackageService,\n private packagesService: PackagesService\n ) {}\n\n ngOnInit(): void {\n const pkgDesc$ = this.packagesService.getPackageDescription(this.pkg.id);\n forkJoin([pkgDesc$]).subscribe(([pkgDesc]: any) => {\n this.packageDesc = pkgDesc;\n });\n // const random = Math.floor(Math.random() * this.imageClasses.length);\n // this.image = this.imageClasses[random];\n // this.imageUrl = this.pkg.image;\n }\n\n openDetails(): void {\n this.navigation.goTo(`/package-info/${this.pkg.id}`);\n this.flowControlService.currentPackageID = this.pkg.id;\n this.flowControlService.currentPackageSeatCategoryId =\n this.pkg.seatCategoryId;\n }\n\n // setRandomImage(): string {\n // const random = Math.floor(Math.random() * this.imageClasses.length);\n // return this.imageClasses[random];\n // }\n}\n","\n \n \n {{ pkg.externalName }}\n \n\n","import { Component, Inject, NgZone, OnInit } from '@angular/core';\nimport { PackageModel, UserModel } from '../../shared/models';\nimport { APP_CONFIG } from '../../configuration/ticket-management-portal-configuration';\nimport { TicketManagementPortalConfiguration } from '../../configuration/ticket-management-portal-configuration.model';\nimport { Router } from '@angular/router';\nimport { PackagesService } from '../../services/packages.service';\nimport { forkJoin } from 'rxjs';\nimport { NavigationService } from '../../services/navigation.service';\nimport { FlowcontrolService } from '../../services/flowcontrol.service';\nimport { CartService } from '../../digitalvenue/services/cart.service';\n\n@Component({\n selector: 'app-home-page',\n templateUrl: './home-page.component.html',\n styleUrls: ['./home-page.component.scss'],\n})\nexport class HomePageComponent implements OnInit {\n user: UserModel;\n defaultColumns = 4;\n packageAvailableList: Array;\n isLoading: boolean;\n\n constructor(\n /* tslint:disable */\n @Inject(APP_CONFIG) public app_config: TicketManagementPortalConfiguration,\n private navigation: NavigationService,\n private flowControl: FlowcontrolService,\n private zone: NgZone,\n private packagesService: PackagesService,\n private cartService: CartService,\n private router: Router\n ) {}\n\n ngOnInit(): void {\n // TODO: Quick testing until API is available\n // this.user = this.packageTestService.userTest;\n this.init();\n }\n\n private init(): void {\n // RESET *like new session*\n this.navigation.resetHistory();\n this.cartService.resetCart();\n this.flowControl.resetAll();\n this.flowControl.persistState();\n\n const packages$ = this.packagesService.getPackagesFromJSON();\n const pkgDesc$ = this.packagesService.getAllDescriptions();\n const categories$ = this.packagesService.getCategoriesFromJSON();\n\n this.isLoading = true;\n forkJoin([packages$, pkgDesc$, categories$]).subscribe(\n ([packages]) => {\n // Solo nos importa la respuesta del packages, los otros son para cachearlos\n this.isLoading = false;\n // @ts-ignore\n this.packageAvailableList = Object.values(\n // @ts-ignore\n packages.packages as PackageModel\n ).sort((a, b) => a.packagePosition - b.packagePosition);\n }\n );\n }\n\n onGoCustomerData(): void {\n this.zone.run(() => {\n this.router.navigate(['selection/packages']);\n });\n // this.router.navigate(['customer-selector']);\n }\n\n packageListToMap(list: Array): Map {\n const mapping = new Map();\n for (const item of list) {\n mapping.set(item.name.replace(' ', '-').toLowerCase(), item);\n }\n return mapping;\n }\n}\n","
\n \n\n \n

\n โ€œMake no mistake, the Riverside development will be a location like no\n other, a real game-changer for Fulham Football Club, our neighbourhood,\n and all of London.โ€\n

Shahid Khan, Fulham FC Chairman\n

\n
\n\n
\n \n
\n \n \n
\n
\n
\n\n \n
\n \n
\n
\n\n \n
\n","import { Component, Input, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-package-carousel',\n templateUrl: './package-carousel.component.html',\n styleUrls: ['./package-carousel.component.scss'],\n})\nexport class PackageCarouselComponent implements OnInit {\n @Input('images') images: any;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","\n \n
\n \n
\n
\n","import { Component, Input, OnInit, EventEmitter, Output } from '@angular/core';\nimport { PackageModel } from '../../../shared/models';\n\n@Component({\n selector: 'app-package-item-location',\n templateUrl: './package-item-location.component.html',\n styleUrls: ['./package-item-location.component.scss'],\n})\nexport class PackageItemLocationComponent implements OnInit {\n @Input() selectedPackage: PackageModel;\n @Output()\n goToSeatView: EventEmitter = new EventEmitter();\n\n constructor() {}\n\n ngOnInit(): void {}\n\n onGoViewSeatLocation() {\n this.goToSeatView.emit(true);\n }\n}\n","
\n
\n
\n

Title

\n

TODO: Location Text in API

\n
\n
\n \n
\n\n
\n
\n
\n \n\n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { PackageModel } from '../../../shared/models';\n\n@Component({\n selector: 'app-package-item-member-benefits',\n templateUrl: './package-item-member-benefits.component.html',\n styleUrls: ['./package-item-member-benefits.component.scss']\n})\nexport class PackageItemMemberBenefitsComponent implements OnInit {\n\n @Input() selectedPackage: PackageModel;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n}\n","
\n
\n
\n

\n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { PackageModel } from '../../../shared/models';\n\n@Component({\n selector: 'app-package-item-overview',\n templateUrl: './package-item-overview.component.html',\n styleUrls: ['./package-item-overview.component.scss'],\n})\nexport class PackageItemOverviewComponent implements OnInit {\n @Input() selectedPackage: PackageModel;\n\n constructor() {}\n\n ngOnInit(): void {\n }\n}\n","
\n
\n

{{ selectedPackage.name }}

\n

{{ selectedPackage.title }}

\n

\n
\n\n
\n
\n \n
\n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport localeGB from '@angular/common/locales/en-GB';\nimport localeGBExtras from '@angular/common/locales/extra/en-GB';\nimport { PriceHash } from '../../../shared/models/customer-package/customer-package-plan.model';\nimport { PackageModel, PackageSecutix } from '../../../shared/models';\nimport { registerLocaleData } from '@angular/common';\n\n@Component({\n selector: 'app-package-item-prices',\n templateUrl: './package-item-prices.component.html',\n styleUrls: ['./package-item-prices.component.scss'],\n})\nexport class PackageItemPricesComponent implements OnInit {\n @Input() selectedPackageDescription: PackageModel ;\n @Input() categories: any[];\n @Input() selectedPackageData: PackageSecutix;\n termLength: string;\n categoriesData: any[];\n\n constructor() {}\n\n ngOnInit(): void {\n registerLocaleData(localeGB, 'en-GB', localeGBExtras);\n this.init();\n }\n\n private init(): void {\n this.categoriesData = Object.values(this.categories)\n .sort((a, b) => {\n if (a.name < b.name) {\n return -1;\n }\n if (a.name > b.name) {\n return 1;\n }\n return 0;\n })\n .map((category: any) => {\n // if (\n // this.selectedPackage.id === '10228599874595' || // digital brasserie\n // this.selectedPackage.id === '10228599874596' || // physical brasserie\n // this.selectedPackage.id === '10228599874592' || // digital gourmet\n // this.selectedPackage.id === '10228599874591' // physical gourmet\n // ) {\n // category.price.minQty = 2;\n // }\n this.sanitizeTermLengths(category.name);\n return {\n minSeats: this.selectedPackageData.minQuantity,\n amount: category.price.amount,\n amountWithoutVat: category.price.amountWithoutVat,\n termLength: this.termLength,\n capacity: this.selectedPackageDescription.capacity,\n };\n });\n }\n\n toDots(value: number | PriceHash[]): string {\n if (typeof value === 'number') {\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n }\n }\n\n private sanitizeTermLengths(data: string): void {\n // lo siento\n if (!this.termLength) {\n if (data.includes('2')) this.termLength = '2';\n if (data.includes('3')) this.termLength = '3';\n if (data.includes('5')) this.termLength = '5';\n }\n if (this.termLength === '2' && data.includes('3')) this.termLength = '2, 3';\n if (this.termLength === '2' && data.includes('5')) this.termLength = '2, 5';\n if (this.termLength === '3' && data.includes('5')) this.termLength = '3, 5';\n if (this.termLength === '2, 3' && data.includes('5'))\n this.termLength = '2, 3, 5';\n }\n}\n","
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Minimum Purchase (Seats)CapacityPrice Per SeatTerm Lengths (Seasons)
{{ categoriesData[0].minSeats }}{{ categoriesData[0].capacity }}\n {{ categoriesData[0].amountWithoutVat | currency: 'GBP' }} + VAT\n {{ termLength }}
\n
\n","import { AfterViewChecked, Component, Inject, Input, OnInit } from '@angular/core';\nimport {APP_CONFIG, DVM_CONFIG} from '../../../digitalvenue/digitalvenue.configuration';\nimport {DigitalvenueConfiguration} from '../../../digitalvenue/digitalvenue-configuration.model';\nimport {DVMConfiguration} from '../../../digitalvenue/dvmconfiguration.model';\nimport {DVMService} from '../../../digitalvenue/services/dvm.service';\nimport { PackageModel } from '../../../shared/models';\n\ndeclare const DVM;\n\n\n@Component({\n selector: 'app-package-item-seat-view',\n templateUrl: './package-item-seat-view.component.html',\n styleUrls: ['./package-item-seat-view.component.scss']\n})\nexport class PackageItemSeatViewComponent implements OnInit, AfterViewChecked {\n\n @Input() selectedPackage: PackageModel;\n\n viewer3d;\n constructor(@Inject(APP_CONFIG) public dvConfig: DigitalvenueConfiguration,\n @Inject(DVM_CONFIG) public dvmConfig: DVMConfiguration,\n public dvmService: DVMService)\n {\n }\n\n ngOnInit(): void {\n if (!this.viewer3d) {\n this.initializeDVM(this.dvmConfig).then(() => {\n this.open3dView();\n });\n } else {\n this.open3dView();\n }\n }\n\n ngAfterViewChecked(): void {\n\n }\n\n initializeDVM(config) {\n const viewer3dConfig = JSON.parse(JSON.stringify(config));\n viewer3dConfig.container = 'viewer3d-container';\n viewer3dConfig.plugins = ['navigation'];\n return DVM.loadModule('3d_viewer', viewer3dConfig)\n .then((viewer3d) => {\n this.viewer3d = viewer3d;\n this.viewer3d.subscribe('click_navigation_node', this.navigationHandler.bind(this));\n })\n .catch((err) => {\n console.error(err);\n });\n }\n\n navigationHandler(obj) {\n this.open3dView(obj.navigation.view_id);\n }\n\n open3dView(view = null) {\n // const load3DView = () => {\n const objView = { venue_id: this.dvmConfig.venue_id, view_id: this.selectedPackage.view_id};\n if (view) {\n objView.view_id = view;\n }\n this.viewer3d.loadView3d(objView)\n .then((resolve) => {\n document.getElementById('main-interface').style.height = '550px';\n this.viewer3d.flags.fixed_aspect_ratio = false;\n // if (this.isMobile() || window.innerWidth < 1200) {\n // this.viewer3dModal.flags.fixed_aspect_ratio = false;\n // document.getElementById('viewer3d-container-modal').style.height = this.parentModalHeight + 'px';\n // }\n this.viewer3d.open();\n })\n .catch((err) => {\n console.error(err);\n });\n // };\n\n // if (!this.dvmService.viewer3d) {\n // const viewer3dConfig = JSON.parse(JSON.stringify(this.DVMConfig));\n // viewer3dConfig.container = 'viewer3d-container-modal';\n // DVM.loadModule('3d_viewer', viewer3dConfig)\n // .then((viewer3d) => {\n // this.dvmService.viewer3d = viewer3d;\n // load3DView();\n // })\n // .catch((err) => {\n // console.error(err);\n // });\n // } else {\n // load3DView();\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
\n","import { Component, Input, OnInit, ViewEncapsulation } from '@angular/core';\nimport { PackageModel } from '../../../shared/models';\n\n@Component({\n selector: 'app-package-item-unique-benefits',\n templateUrl: './package-item-unique-benefits.component.html',\n styleUrls: ['./package-item-unique-benefits.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class PackageItemUniqueBenefitsComponent implements OnInit {\n @Input() selectedPackage: PackageModel;\n\n constructor() {}\n\n ngOnInit(): void {}\n}\n","
\n
\n \n

\n

\n
\n
\n
\n
\n

\n
\n
\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';\nimport { PackageModel } from '../../../shared/models';\n\n@Component({\n selector: 'app-package-item-vr',\n templateUrl: './package-item-vr.component.html',\n styleUrls: ['./package-item-vr.component.scss'],\n})\nexport class PackageItemVrComponent implements OnInit {\n @Input() selectedPackage: PackageModel;\n\n constructor(private sanitizer: DomSanitizer) {}\n\n ngOnInit(): void {}\n\n public iframeUrl(): SafeResourceUrl {\n return this.sanitizer.bypassSecurityTrustResourceUrl(\n this.selectedPackage.iframe\n );\n }\n}\n","
\n \n
\n \n
\n
\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { PackageModel, PackageSecutix, SeasonTicketItemCategory } from '../../shared/models';\nimport { PackagesService } from '../../services/packages.service';\nimport { forkJoin } from 'rxjs';\nimport { NavigationService } from '../../services/navigation.service';\nimport { FlowcontrolService } from '../../services/flowcontrol.service';\nimport { take } from 'rxjs/operators';\n\n@Component({\n selector: 'app-package-options',\n templateUrl: './package-options.component.html',\n styleUrls: ['./package-options.component.scss'],\n})\nexport class PackageOptionsComponent implements OnInit {\n @ViewChild('navOverview') navOverview: any;\n @ViewChild('navLocation') navLocation: any;\n @ViewChild('navSeatView') navSeatView: any;\n @ViewChild('navMemberBenefits') navMemberBenefits: any;\n @ViewChild('navUniqueBenefits') navUniqueBenefits: any;\n @ViewChild('navPrices') navPrices: any;\n @ViewChild('navVR') navVR: any;\n navArray: any;\n previousSelectedTarget: any;\n currentState: number;\n\n packageData: PackageSecutix;\n packageDesc: PackageModel;\n categories: Record;\n pkgId: string;\n\n constructor(\n private navigation: NavigationService,\n private flowControlService: FlowcontrolService,\n private activatedRoute: ActivatedRoute,\n private packagesService: PackagesService\n ) {}\n\n ngOnInit(): void {\n this.pkgId = this.flowControlService.currentPackageID ?? this.activatedRoute.snapshot.paramMap.get('id');\n this.init();\n }\n\n init(): void {\n // Solicitamos los datos del paquete y las descripciones\n const pkgData$ = this.packagesService.getPackageDetails(this.pkgId);\n const pkgDesc$ = this.packagesService.getPackageDescription(this.pkgId);\n // Subscripcion al completado de ambos (como Promise.all)\n forkJoin([pkgData$, pkgDesc$]).subscribe(\n ([pkgData, pkgDesc]: any[]) => {\n this.packageData = pkgData;\n this.packageDesc = pkgDesc;\n this.categories = pkgData.seasonTicket.seasonTicketItems[0].categories;\n // En caso de ejecutarse sincrono, enviamos la ejecucion al siguiente tick del event loop\n setTimeout(() => {\n this.navOverview.nativeElement.classList.add('nav-option-active');\n this.currentState = 0;\n this.previousSelectedTarget = this.navOverview.nativeElement;\n this.navArray = [\n this.navOverview,\n this.navLocation,\n this.navSeatView,\n this.navMemberBenefits,\n this.navUniqueBenefits,\n this.navPrices,\n this.navVR,\n ];\n });\n }\n );\n }\n\n packetName(): string {\n return this.packageData ? this.packageData.externalName.toUpperCase() : '';\n }\n\n onGoToSeatViewFromLocation(value: boolean): void {\n if (value) {\n if (this.previousSelectedTarget) {\n this.previousSelectedTarget.classList.remove('nav-option-active');\n }\n const element = this.navArray[2].nativeElement as HTMLElement;\n element.classList.add('nav-option-active');\n this.currentState = 2;\n this.previousSelectedTarget = element;\n }\n }\n\n onClick(event: MouseEvent, clicked: number): void {\n if (this.previousSelectedTarget) {\n this.previousSelectedTarget.classList.remove('nav-option-active');\n }\n (event.target as HTMLElement).classList.add('nav-option-active');\n\n this.currentState = clicked;\n this.previousSelectedTarget = event.target as HTMLElement;\n }\n\n navigate(): void {\n const elem = this.navArray[this.currentState].nativeElement;\n this.previousSelectedTarget.classList.remove('nav-option-active');\n elem.classList.add('nav-option-active');\n this.previousSelectedTarget = elem;\n }\n\n goSeatSelection(): void {\n // this.navigation.goTo(\"selection/map/\" + this.packageData.id);\n this.flowControlService.currentPackageID = this.packageData.id;\n this.flowControlService.currentPackageName = this.packageData.externalName;\n\n this.flowControlService\n .getCustomer()\n .pipe(take(1))\n .subscribe((customer) => {\n if (customer) {\n this.navigation.goTo('selection/map'); // Navegamos al siguiente\n } else {\n this.navigation.goTo('link-account');\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 \n\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SharedModule} from '../shared/shared.module';\nimport { PackageOptionsComponent } from './package-options/package-options.component';\nimport { HomePageComponent } from './home-page/home-page.component';\nimport { HomePageColumnComponent } from './home-page/home-page-column/home-page-column.component';\nimport { HomePageColumnItemComponent } from './home-page/home-page-column/home-page-column-item/home-page-column-item.component';\nimport {AppRoutingModule} from '../app-routing.module';\nimport { PackageItemOverviewComponent } from './package-options/package-item-overview/package-item-overview.component';\nimport { PackageItemLocationComponent } from './package-options/package-item-location/package-item-location.component';\nimport { PackageItemSeatViewComponent } from './package-options/package-item-seat-view/package-item-seat-view.component';\nimport { PackageItemMemberBenefitsComponent } from './package-options/package-item-member-benefits/package-item-member-benefits.component';\nimport { PackageItemUniqueBenefitsComponent } from './package-options/package-item-unique-benefits/package-item-unique-benefits.component';\nimport { PackageItemPricesComponent } from './package-options/package-item-prices/package-item-prices.component';\nimport {FormsModule} from '@angular/forms';\nimport { SelectionComponent } from './selection/selection.component';\nimport { HomePagePackageComponent } from './home-page/home-page-package/home-page-package.component';\nimport { AnotherPackageComponent } from './another-package/another-package.component';\nimport { PackageItemVrComponent } from './package-options/package-item-vr/package-item-vr.component';\nimport { ProjectInfoComponent } from './project-info/project-info.component';\nimport { VideoComponent } from './video/video.component';\nimport { PackageCarouselComponent } from './package-carousel/package-carousel.component';\nimport {IvyCarouselModule} from 'angular-responsive-carousel';\nimport { CheckoutComponent } from '../checkout/checkout.component';\nimport { DigitalvenueModule } from '../digitalvenue/digitalvenue.module';\nimport { UserSelectionComponent } from '../user-selection/user-selection.component';\n\n@NgModule({\n declarations: [\n PackageOptionsComponent,\n HomePageComponent,\n HomePageColumnComponent,\n HomePageColumnItemComponent,\n PackageItemOverviewComponent,\n PackageItemLocationComponent,\n PackageItemSeatViewComponent,\n PackageItemMemberBenefitsComponent,\n PackageItemUniqueBenefitsComponent,\n PackageItemPricesComponent,\n SelectionComponent,\n UserSelectionComponent,\n HomePagePackageComponent,\n AnotherPackageComponent,\n PackageItemVrComponent,\n ProjectInfoComponent,\n VideoComponent,\n PackageCarouselComponent,\n CheckoutComponent\n ],\n imports: [\n CommonModule,\n SharedModule,\n AppRoutingModule,\n FormsModule,\n IvyCarouselModule,\n DigitalvenueModule\n ]\n})\nexport class PackageSelectorModule { }\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-project-info',\n templateUrl: './project-info.component.html',\n styleUrls: ['./project-info.component.scss']\n})\nexport class ProjectInfoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n

PENDING ASSET

\n
\n","import { Component, OnDestroy, OnInit } from '@angular/core';\nimport { PackageSelectionService } from '../services/package-selection.service';\nimport { PackagesService } from '../../services/packages.service';\nimport { NavigationService } from '../../services/navigation.service';\nimport { FlowcontrolService } from '../../services/flowcontrol.service';\nimport { CartService } from '../../digitalvenue/services/cart.service';\nimport { SeatCart, PackageSecutix } from '../../shared/models';\nimport { Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { SeatSelectionService } from '../../digitalvenue/services/seat-selection.service';\n\ntype CurrentPackage = PackageSecutix;\n\n@Component({\n selector: 'app-selection',\n templateUrl: './selection.component.html',\n styleUrls: ['./selection.component.scss'],\n})\nexport class SelectionComponent implements OnInit, OnDestroy {\n currentPackage: CurrentPackage;\n showLateralBar: boolean;\n minQtyToSelect = 1;\n areSelectedSeats = false;\n seatsOnCart: SeatCart[];\n // Cart subscription\n cartSubscription: Subscription;\n\n constructor(\n private flowcontrolService: FlowcontrolService,\n private navigation: NavigationService,\n private packagesService: PackagesService,\n private packageSelectionService: PackageSelectionService,\n private cartService: CartService,\n private seatSelectionService: SeatSelectionService\n ) {}\n\n ngOnInit(): void {\n const pkgId = this.flowcontrolService.currentPackageID;\n this.packagesService\n .getPackageDetails(pkgId)\n .subscribe((packageDetailts) => {\n this.currentPackage = packageDetailts;\n this.packageSelectionService.currentPackage = packageDetailts;\n this.minQtyToSelect = this.currentPackage.minQuantity;\n });\n this.showLateralBar = false;\n this.packageSelectionService.getSelectedSeats().subscribe((seats) => {\n this.showLateralBar = seats.length !== 0;\n });\n\n this.cartSubscription = this.cartService.cart$\n .pipe(map((cart) => cart[pkgId]))\n .subscribe((packageCart) => {\n if (packageCart) {\n const { seats } = packageCart;\n this.seatsOnCart = seats;\n this.areSelectedSeats = this.evaluateAreSelectedSeats();\n this.seatSelectionService.resetCountSelectedSeat = this.seatsOnCart.length;\n }\n });\n }\n\n evaluateAreSelectedSeats(): boolean {\n return (\n this.seatsOnCart &&\n this.seatsOnCart.length > 0 &&\n this.seatsOnCart.length >= this.minQtyToSelect\n );\n }\n\n changeTermLength(): void {\n this.areSelectedSeats = this.evaluateAreSelectedSeats();\n }\n\n goSummary(): void {\n if (this.seatSelectionService.countOfSelectedSeats < this.minQtyToSelect) {\n return;\n }\n this.navigation.goTo('summary');\n }\n\n ngOnDestroy(): void {\n this.seatSelectionService.resetCountSelectedSeat = 0;\n }\n}\n","
\n\n \n \n\n
\n\n
\n
\n
\n \n \n
\n
\n\n
\n
\n {{currentPackage.externalName | titlecase}}\n
\n
\n
\n \n \n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n\n
\n\n
\n","import { Injectable, ษตALLOW_MULTIPLE_PLATFORMS } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { tap } from 'rxjs/operators';\nimport { PackageModel, TransactionModel, UserModel } from '../../shared/models';\nimport { SeatPackageModel } from '../../shared/models/seat-package.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PackageSelectionService {\n private _cachedSeats: string[];\n private _cachedSeats$: BehaviorSubject;\n private cart: SeatPackageModel[];\n private currentSelection: SeatPackageModel | null;\n\n currentPackage: any;\n private currentTransaction: any;\n\n get isCartEmpty(): boolean {\n return this.cart.length === 0;\n }\n\n constructor() {\n this._cachedSeats = [];\n this._cachedSeats$ = new BehaviorSubject([]);\n this.cart = [];\n this.currentSelection = null;\n this.currentPackage = null;\n this.currentTransaction = null;\n }\n\n resetAll() {\n this.clearSeats();\n this.clearCart();\n }\n\n select(selection) {\n this._cachedSeats = this._cachedSeats.concat(selection);\n this._cachedSeats$.next(this._cachedSeats);\n }\n\n unselect(seat) {\n const index = this._cachedSeats.indexOf(seat);\n if (seat !== -1) {\n this._cachedSeats.splice(index, 1);\n this._cachedSeats$.next(this._cachedSeats);\n }\n }\n\n getSelectedSeats() {\n return this._cachedSeats$.asObservable();\n }\n\n clearSeats() {\n this._cachedSeats = [];\n this._cachedSeats$.next(this._cachedSeats);\n }\n\n confirmSeats(timeLength): boolean {\n if (!this.currentPackage) {\n throw Error('No package selected');\n } else if (this._cachedSeats.length === 0) {\n return false;\n }\n\n const allowMultipleAdquires = false; // Se pueden hacer varias transacciones del mismo paquete\n\n if (!this.currentSelection || allowMultipleAdquires) {\n // Si la cart no tiene el paquete o se pueden repetir paquetes\n const item: SeatPackageModel = {\n // Item de la cart para los asientos actuales\n listOfSeats: this._cachedSeats,\n package: this.currentPackage,\n timeLength,\n };\n this.cart.push(item); // Aรฑadir el item a la cart\n this.currentSelection = item;\n this._cachedSeats = []; // Limpiamos el bufffer de seats\n return true;\n } else if (this.currentSelection) {\n // Actualizamos el objeto de memoria para conservar el orden de la cart\n this.currentSelection.listOfSeats = this._cachedSeats;\n this.currentSelection.timeLength = timeLength;\n // console.log(\n // '๐Ÿš€ ~ file: package-selection.service.ts ~ line 64 ~ PackageSelectionService ~ commit ~ this.cart',\n // this.cart\n // );\n return true;\n } else {\n return false;\n }\n }\n\n getCart(): SeatPackageModel[] {\n return this.cart;\n }\n\n getCartForPackage(id): SeatPackageModel | undefined {\n //! Modificar en el caso que se puedan repetir paquetes (con diferentes term length)\n return this.cart.find((item) => item.package.id === id);\n }\n\n clearCart() {\n // console.log('Cleared cart');\n this.cart = [];\n }\n\n // Aรฑadir los datos de currentSelection a la transacciรณn, retorna el observable de aรฑadir a la transacciรณn\n addToTransaction(customer: any): Observable {\n return of(undefined);\n }\n}\n","import { PackageModel } from '../../shared/models';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PackageService {\n\n selectedViewPackage: PackageModel;\n availablePackageMap: Map;\n\n constructor() {\n }\n\n get getSelectedViewPackage(): PackageModel {\n return this.selectedViewPackage;\n }\n\n set setSelectedViewPackage(pkg: PackageModel) {\n this.selectedViewPackage = pkg;\n }\n\n get getAvailablePackageMap(): Map {\n return this.availablePackageMap;\n }\n\n set setAvailablePackageList(list: Map) {\n this.availablePackageMap = list;\n }\n\n packageListToMap(list: Array): Map {\n const mapping = new Map();\n for (const item of list){\n mapping.set(item.name.replace(' ', '-').toLowerCase(), item);\n }\n return mapping;\n }\n\n filterPackageAvailable(boughtPackages: Array, availablePackages: PackageModel[]) {\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-video',\n templateUrl: './video.component.html',\n styleUrls: ['./video.component.scss']\n})\nexport class VideoComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n
\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { concatMap, map, take, tap } from 'rxjs/operators';\nimport { DVMService } from '../digitalvenue/services/dvm.service';\nimport { FlowcontrolService } from './flowcontrol.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n\n private apiRoot = '/api';\n\n constructor(\n private dvmService: DVMService, // Para simular API\n private http: HttpClient,\n private flowControl: FlowcontrolService\n ) { }\n\n\n /**\n * @deprecated\n */\n getSectionsAvailability(packageID: string, seatCategoryId: string) {\n const endpoint = `${this.apiRoot}/package/${packageID}/availability/${seatCategoryId}`;\n return this.http.get(endpoint).pipe(\n map(response => response[\"result\"]['sections'])\n )\n }\n\n\n /**\n * @deprecated\n */\n getSeatsAvailability(packageID: string, seatCategoryId: string, sectionID: string) {\n // Simulaciรณn sin tener en cuenta el package ni section\n const endpoint = `${this.apiRoot}/package/${packageID}/availability/${seatCategoryId}/${sectionID}`;\n return this.http.get(endpoint).pipe(\n map(response => response[\"result\"]['seats']),\n tap(seats => this.flowControl.currentSectionSeats = seats)\n )\n }\n\n\n getCapacity(packageID) {\n const endpoint = `/api/package/${packageID}/capacity`;\n return this.http.get(endpoint);\n }\n\n /**\n * @deprecated\n */\n editTransaction(order, payload) {\n const endpoint = `${this.apiRoot}/order`;\n return this.http.post(endpoint, payload, {params: {\n order\n }});\n }\n\n /**\n * @deprecated\n */\n getTransaction(orderId) {\n const endpoint = `${this.apiRoot}/order/${orderId}`;\n return this.http.get(endpoint);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DvmInterceptor } from '../digitalvenue/digitalvenue.configuration';\nimport { FlowcontrolService } from './flowcontrol.service';\n\n\n@Injectable()\nexport class CartDataInterceptor implements DvmInterceptor {\n\n constructor(private flowControl: FlowcontrolService) { }\n\n\n addSeatsInterceptor(seats: any, cart: any): Object {\n let seatsData = seats.map(seatData => this.flowControl.currentSectionSeats[seatData.id]);\n\n const packageCart = cart[this.flowControl.currentPackageID];\n\n if (packageCart) {\n packageCart.seats = packageCart.seats.concat(seatsData);\n } else {\n cart[this.flowControl.currentPackageID] = {\n packageId: this.flowControl.currentPackageID,\n packageName: this.flowControl.currentPackageName,\n seats: seatsData\n }\n }\n return cart;\n }\n\n\n removeSeatsInterceptor(seats: any, cart: any): Object {\n const packageCart = cart[this.flowControl.currentPackageID];\n\n seats.forEach(seatData => {\n const index = packageCart.seats.findIndex(cartItem => cartItem.dvm.seat_id === seatData.id);\n if (index !== -1) {\n packageCart.seats.splice(index, 1);\n }\n });\n\n return cart;\n }\n\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject, forkJoin, of, throwError } from 'rxjs';\nimport { map, take, concatMap, catchError } from 'rxjs/operators';\nimport { CartService } from '../digitalvenue/services/cart.service';\nimport { FlowcontrolService } from './flowcontrol.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class CustomerService {\n private apiRoot = '/api';\n\n constructor(\n private http: HttpClient,\n private cartService: CartService,\n private flowControl: FlowcontrolService\n ) {}\n\n getStructureTypes() {\n return this.http\n .get(`${this.apiRoot}/structure-types`)\n .pipe(map((data) => data['response']));\n }\n\n createCustomer(customer) {\n let endpoint = `${this.apiRoot}/contact`;\n if (customer.structureContactNumber) {\n endpoint = `${this.apiRoot}/contact-structure`;\n }\n return this.http\n .post(endpoint, customer)\n .pipe(map((data) => data['response']));\n }\n\n editCustomer(customer) {\n let endpoint = `${this.apiRoot}/contact`;\n if (customer.structureContactNumber) {\n endpoint = `${this.apiRoot}/contact-structure`;\n }\n return this.http\n .patch(endpoint, customer)\n .pipe(map((data) => data['response']));\n }\n\n createStructure(struct) {\n const endpoint = `${this.apiRoot}/structure`;\n return this.http\n .post(endpoint, struct)\n .pipe(map((data) => data['response']));\n }\n\n updateStruct(struct) {\n const endpoint = `${this.apiRoot}/structure`;\n return this.http\n .patch(endpoint, struct)\n .pipe(map((data) => data['response']));\n }\n\n createTransaction(changedIdHash: any) {\n const endpoint = `${this.apiRoot}/order`;\n const close_endpoint = `${this.apiRoot}/close-order`;\n\n const cart$ = this.cartService.cart$.pipe(take(1));\n const customer$ = this.flowControl.getCustomer().pipe(take(1));\n\n return forkJoin([cart$, customer$]).pipe(\n concatMap(([cart, customerData]: any) => {\n const { contactId: customer, contactNumber } = customerData;\n // console.log('la cart para la que haremos el proceso es', cart);\n // console.log(changedIdHash);\n const payloads = Object.values(cart).map((cartItem: any) => ({\n packageId: changedIdHash[cartItem.packageId] ?? cartItem.packageId,\n customer,\n audienceSubCatId: cartItem.audienceSubCatId,\n seatCategoryId: cartItem.seats[0].seatCategoryId,\n seatList: cartItem.seats.map((seat) => ({\n id: seat.physicalSeatId,\n audienceSubCatId: seat.audienceSubCatId, // Allows to overwrite the general audience\n assignedCustomerId: seat.assignedClient?.contactId,\n })),\n }));\n const [createOrderPayload, ...editOrderPayloads] = payloads;\n\n // console.log(payloads);\n return this.http.post(endpoint, createOrderPayload).pipe(\n concatMap((response: any) => {\n const { orderId: order } = response;\n this.flowControl.currentOrderId = order;\n\n if (!editOrderPayloads.length) {\n return of(response);\n }\n const editOrderRequests = editOrderPayloads.map((payload) => {\n return this.http.post(endpoint, payload, {\n params: { order },\n });\n });\n\n return forkJoin(editOrderRequests);\n }),\n concatMap((response: any) =>\n this.http.post(close_endpoint, {\n customer: contactNumber,\n orderId:\n response instanceof Array\n ? response[0].orderId\n : response.orderId,\n sectionList: Object.values(cart).map((cartItem: any) =>\n cartItem.seats.map((seat) => seat.blockId)\n ),\n })\n )\n );\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { switchMap, take, tap } from 'rxjs/operators';\nimport { DVM_CALLBACKS_MODEL } from '../digitalvenue/digitalvenue.configuration';\nimport { CartService } from '../digitalvenue/services/cart.service';\nimport { DVMService } from '../digitalvenue/services/dvm.service';\nimport { FlowControlService } from '../digitalvenue/services/flow-control.service';\nimport { MessagingService } from '../shared/modals/messaging.service';\nimport { ApiService } from './api.service';\nimport { FlowcontrolService } from './flowcontrol.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DvmCallbacksService implements DVM_CALLBACKS_MODEL {\n constructor(\n private flowControl: FlowcontrolService,\n private apiService: ApiService,\n private messagingService: MessagingService,\n private dvmService: DVMService,\n private cartService: CartService\n ) {}\n\n loadSeatmapHandler(viewer) {\n const map_id = viewer.getMapId();\n const { currentPackageID: packageID } = this.flowControl;\n const seatCategoryId = this.flowControl.currentPackageSeatCategoryId;\n\n return this.apiService\n .getSeatsAvailability(packageID, seatCategoryId, map_id)\n .pipe(\n tap((seats) => {\n const seatsIds = Object.keys(seats);\n viewer.setAvailability('seat', seatsIds);\n }),\n switchMap(() => this.cartService.cart$),\n take(1),\n tap((cart: any) => {\n const currentSeats = cart[\n this.flowControl.currentPackageID\n ].seats.map((seat) => seat.dvm.seat_id);\n viewer.select(currentSeats);\n })\n );\n }\n\n onSeatSelection(error, effect, viewer) {}\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject, forkJoin } from 'rxjs';\nimport { concatMap, take } from 'rxjs/operators';\nimport { CartService } from '../digitalvenue/services/cart.service';\nimport { CustomerService } from './customer.service';\nimport { PackagesService } from './packages.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class FlowcontrolService {\n\n currentPackageID;\n currentPackageSeatCategoryId: string;\n currentPackageName;\n currentSectionSeats;\n currentOrderId;\n private customer$: BehaviorSubject; // Datos del customer\n\n\n constructor(private cartService: CartService) {\n this.customer$ = new BehaviorSubject(null);\n }\n\n\n getCustomer() {\n return this.customer$.asObservable();\n }\n\n setCustomer(customer) {\n this.customer$.next(customer);\n }\n\n\n\n\n resetAll() {\n this.currentPackageID = null;\n this.currentPackageName = null;\n this.currentSectionSeats = null;\n this.currentOrderId = null;\n this.currentPackageSeatCategoryId = null;\n this.customer$.next(null);\n }\n\n\n\n\n persistState() {\n\n const customer$ = this.customer$.pipe(take(1));\n const cart$ = this.cartService.cart$.pipe(take(1));\n\n forkJoin([customer$, cart$]).subscribe(([customer, cart]) => {\n const persistance = {\n currentPackageID: this.currentPackageID,\n currentPackageName: this.currentPackageName,\n currentPackageSeatCategoryId: this.currentPackageSeatCategoryId,\n currentOrderId: this.currentOrderId,\n cart,\n customer\n }\n\n const jsonPersistance = JSON.stringify(persistance);\n\n localStorage.setItem(\"previous_state\", jsonPersistance);\n });\n }\n\n\n recoverState() {\n const jsonState = localStorage.getItem(\"previous_state\");\n\n if (jsonState) {\n const state = JSON.parse(jsonState);\n\n this.currentPackageID = state.currentPackageID || null;\n this.currentPackageName = state.currentPackageName || null;\n this.currentPackageSeatCategoryId = state.currentPackageSeatCategoryId || null;\n this.currentOrderId = state.currentOrderId || null;\n\n this.cartService.emitCart(state.cart ||ย {});\n this.setCustomer(state.customer || null);\n\n return state;\n\n }\n }\n}\n","export { UserService } from './user.service';\n\n","import { Injectable } from '@angular/core';\nimport { PackageService } from '../package-selector/services/package.service';\nimport { FlowcontrolService } from './flowcontrol.service';\nimport { NavigationService } from './navigation.service';\nimport { PackagesService } from './packages.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InitializerService {\n constructor(\n private packagesService: PackagesService,\n private flowControl: FlowcontrolService,\n private navigation: NavigationService\n ) {}\n\n init() {\n const state = this.flowControl.recoverState();\n\n const step = this.getStep(state);\n\n this.navigateToStep(step);\n\n // console.log(\"Navigating to\", step)\n\n // Request and cache the translations file\n return this.packagesService.getTranslations().toPromise();\n // No solicitamos los paquetes desde aquรญ porque esa peticiรณn tarda bastante en resolverse\n // y este cรณdigo es blocking\n }\n\n getStep(state) {\n if (!state) {\n return 'homepage';\n }\n\n if (\n state.currentPackageID &&\n state.currentPackageName &&\n state.currentPackageSeatCategoryId &&\n state.customer &&\n state.cart &&\n state.currentOrderId\n ) {\n return 'checkout';\n } else if (\n state.currentPackageID &&\n state.currentPackageName &&\n state.currentPackageSeatCategoryId &&\n state.customer &&\n Object.values(state.cart).length\n ) {\n return 'summary';\n } else if (\n state.currentPackageID &&\n state.currentPackageName &&\n state.currentPackageSeatCategoryId &&\n state.customer\n ) {\n return 'selection/map';\n } else if (state.currentPackageID && state.currentPackageName) {\n return 'link-account';\n } else {\n return 'homepage';\n }\n }\n\n navigateToStep(step) {\n // Navegamos de forma progresiva para la funcionalidad del boton de back\n\n if (step === 'homepage') return;\n this.navigation.goTo('link-account');\n\n if (step === 'link-account') return;\n this.navigation.goTo('selection/map');\n\n if (step === 'selection/map') return;\n this.navigation.goTo('summary');\n\n if (step === 'summary') return;\n this.navigation.goTo('checkout');\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigationExtras, Router } from '@angular/router';\nimport { FlowcontrolService } from './flowcontrol.service';\n\ninterface HistoryItem {\n path: string;\n extras?: NavigationExtras;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class NavigationService {\n private history: any; // es un array pero la version de typescript 3.9 no tiene el '.at' que se usa en el goBack().\n private readonly localStorageHistoryKey = 'user_history';\n\n constructor(private router: Router, private flowControl: FlowcontrolService) {\n /* tslint:disable */\n const _history = this.getUserHistory();\n this.history = _history ?? [];\n }\n\n private saveHistory(item: HistoryItem[]): void {\n localStorage.setItem(this.localStorageHistoryKey, JSON.stringify(item));\n }\n\n private getUserHistory(): any {\n const item = localStorage.getItem(this.localStorageHistoryKey);\n return JSON.parse(item);\n }\n\n private stepUpHistory(item: HistoryItem): void {\n this.history.push(item);\n this.saveHistory(this.history);\n }\n\n private stepBackHistory(): any {\n this.history.pop();\n this.saveHistory(this.history);\n return this.history.at(-1);\n }\n\n // Reset history without redirecting to homepage\n resetHistory(): boolean {\n if (this.history.length) {\n // If there is history, cannot set start (\"because there is a branch\")\n return false; // Warn cannot be set\n }\n const entry = { path: '/homepage' };\n this.history.unshift(entry);\n this.saveHistory(this.history);\n return true;\n }\n\n // Reset history without redirecting to requested path\n setHistoryStart(path: string, extras?: NavigationExtras): boolean {\n if (this.history.length) {\n // If there is history, cannot set start (\"because there is a branch\")\n return false; // Warn cannot be set\n }\n const entry = { path, extras }; // Create history entry\n this.history.unshift(entry); // At to the start (push is valid bc empty array, but unshift protects more)\n return true;\n }\n\n goTo(path: string, extras?: NavigationExtras): void {\n const entry = { path, extras }; // Create history entry\n this.stepUpHistory(entry);\n this.flowControl.persistState();\n this.router.navigate([path], extras); // Navigate to requested path with provided extras\n }\n\n goBack(): void {\n const entry = this.stepBackHistory();\n if (entry != null) {\n this.router.navigate([entry.path], entry.extras); // Go to previous route\n } else {\n const state = JSON.parse(localStorage.getItem('previous_state'));\n if (state && state.cart) {\n for (const pkg of Object.keys(state.cart)) {\n if (state.cart[pkg].seats.length === 0) {\n delete state.cart[pkg];\n localStorage.setItem('previous_state', JSON.stringify(state));\n }\n }\n }\n this.router.navigate(['/homepage']); // if history is undefined, reset and go homepage\n }\n }\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable, isDevMode } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { CategoryModel, PackageRelation, PackageSecutix } from '../shared/models';\n\ntype AvilablePackages = { packages: Record, relations: Record };\n\n@Injectable({\n providedIn: 'root',\n})\nexport class PackagesService {\n constructor(private http: HttpClient) {}\n\n private availablePackages: AvilablePackages;\n private packageDescriptions: any;\n private packagesRelations: any;\n private categories: CategoryModel[];\n private apiRoot = '/api';\n private readonly sessionStoragePackageKey = 'packages_session';\n private readonly sessionStorageCategoryKey = 'category_session';\n\n // UTILITIES\n\n // Translations\n private translations = { secutixToMMC: {}, mmcToSecutix: {} };\n\n private saveOnSessionStorage(data: any, key: string): void {\n sessionStorage.setItem(key, JSON.stringify(data));\n }\n\n private getPackagesFromSessionStorage(): AvilablePackages {\n const data = sessionStorage.getItem(this.sessionStoragePackageKey);\n return JSON.parse(data);\n }\n\n private getCategoryFromSessionStorage(): any {\n const data = sessionStorage.getItem(this.sessionStorageCategoryKey);\n return JSON.parse(data);\n }\n\n getTranslations(): Observable {\n // const endpoint = isDevMode()\n // ? '/assets/data/id_map_dev.json'\n // : '/assets/data/id_map_pro.json';\n const endpoint = '/assets/data/id_map_pro.json';\n // console.log(endpoint);\n return this.http.get(endpoint).pipe(\n map((translations) => {\n this.translations.mmcToSecutix = translations;\n for (const id in translations) {\n // this.translations.mmcToSecutix = {...this.translations.mmcToSecutix, translations[id]: id};\n this.translations.secutixToMMC[translations[id]] = id;\n }\n return this.translations;\n })\n );\n }\n\n /**\n * @deprecated\n */\n getPackages(): Observable {\n const endpoint = `${this.apiRoot}/packages`;\n // const endpoint = \"./assets/json/demo-data.json\"\n // Placeholder para el observable a retornar\n let observable: Observable;\n const sessionData = this.getPackagesFromSessionStorage();\n // Comprobar si los paquetes estan cacheados\n if (this.availablePackages) {\n // Devolver los cacheados como observable completado\n observable = of(this.availablePackages);\n } else if (sessionData) {\n observable = of(sessionData).pipe(\n tap((data: AvilablePackages) => this.availablePackages = data)\n );\n } else {\n // Solicitar los paquetes a la API\n observable = this.http.get(endpoint).pipe(\n tap((data) => (this.availablePackages = data)), // Cachear los paquetes\n tap((data) => (this.saveOnSessionStorage(data, this.sessionStoragePackageKey)))\n );\n }\n return observable;\n }\n\n /**\n * Devuelve lo mismo que en la peticion 'getPackages' pero procede de un json en vez de la api\n * Esto es por la desconexion de secutix. (06-08-2024)\n * @since 2.0.0\n */\n getPackagesFromJSON(): Observable {\n const endpoint = '/assets/data/packages_and_relations_pro.json';\n return this.http.get(endpoint).pipe(\n tap((data) => (this.availablePackages = data)), // Cachear los paquetes\n tap((data) => (this.saveOnSessionStorage(data, this.sessionStoragePackageKey)))\n );\n }\n\n getPackageDetails(id: string): Observable {\n // console.log('Solicitando la id', id);\n // console.log('AVAILABLE PACKAGES -----> ', this.availablePackages);\n let observable: Observable = null;\n // Comprobar si los paquetes estan cacheados\n if (this.availablePackages && this.availablePackages.packages) {\n // console.log(this.availablePackages.packages[id]);\n // Retornar observable completado del paquete solicitado\n observable = of(this.availablePackages.packages[id]);\n } else {\n // Solicitar paquetes (cacheandolos) y retornar observable del paquete pedido\n observable = this.getPackages().pipe(\n map((packages) => packages.packages[id])\n );\n }\n return observable;\n }\n\n /**\n * Devuelve las categories de la api\n * @deprecated\n */\n getCategories(): Observable {\n const endpoint = `${this.apiRoot}/categories`;\n let observable;\n const sessionData = this.getCategoryFromSessionStorage();\n if (this.categories) {\n observable = of(this.categories);\n } else if (sessionData) {\n this.categories = sessionData;\n observable = of(sessionData).pipe(tap((data) => this.categories = data));\n } else {\n observable = this.http\n .get(endpoint)\n .pipe(\n tap((data: any) => (this.categories = data)),\n tap((data) => this.saveOnSessionStorage(data, this.sessionStorageCategoryKey))\n );\n }\n return observable;\n }\n\n /**\n * Devuelve las categorias de un JSON.\n * Esto es por la desconexion de secutix. (06-08-2024)\n * @since 2.0.0\n */\n getCategoriesFromJSON(): Observable {\n const endpoint = `/assets/data/categories.json`;\n let observable;\n const sessionData = this.getCategoryFromSessionStorage();\n if (this.categories) {\n observable = of(this.categories);\n } else if (sessionData) {\n this.categories = sessionData;\n observable = of(sessionData).pipe(tap((data) => this.categories = data));\n } else {\n observable = this.http\n .get(endpoint)\n .pipe(\n tap((data: any) => (this.categories = data)),\n tap((data) => this.saveOnSessionStorage(data, this.sessionStorageCategoryKey))\n );\n }\n return observable;\n }\n\n getAllDescriptions(): Observable {\n // const endpoint = isDevMode()\n // ? '/assets/data/package-descriptions_dev.json'\n // : '/assets/data/package-descriptions_pro.json';\n const endpoint = '/assets/data/package-descriptions_pro.json';\n // Pedir y cachear las descripciones\n return this.http.get(endpoint).pipe(\n tap((data) => (this.packageDescriptions = data))\n // tap((data) => console.log('descs', data))\n );\n }\n\n getPackageDescription(id: string): Observable {\n let observable = null;\n // console.log(id);\n const mmcID = this.translations.secutixToMMC[id];\n // console.log(mmcID);\n if (this.packageDescriptions) {\n // console.log('packageDescriptions: ', this.packageDescriptions);\n // Retornar observable completado de la descripcion solicitada\n observable = of(this.packageDescriptions[mmcID]);\n } else {\n // Solicitar descripciones (y cachear) y retornar observable de la solicitada\n observable = this.getAllDescriptions().pipe(map((data) => data[mmcID]));\n }\n return observable;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { PackageModel, UserModel } from '../shared/models/';\nimport { BehaviorSubject, Observable, of, Subject } from 'rxjs';\nimport { map, tap } from 'rxjs/operators';\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { CustomerPlan } from '../shared/models';\nimport { TransactionModel } from '../shared/models';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class UserService {\n private user$: BehaviorSubject; // Datos del usuario\n private access$: BehaviorSubject; // Datos del usuario respecto API authorization\n private clientSubject: BehaviorSubject = new BehaviorSubject(null);\n private apiRoot = '/api';\n\n // Guardar el token en localStorage y avisar a los subscriptores de nuevo usuario\n\n private setUserTap(toStore: boolean) {\n return tap((response: any) => {\n let access;\n if (toStore) {\n const expires_at = Date.now() + response.expires_in * 1000;\n access = { token: response.token, expires_at: expires_at };\n localStorage.setItem('access_token', JSON.stringify(access));\n } else {\n const accessJSON = localStorage.getItem('access_token');\n access = JSON.parse(accessJSON);\n }\n this.user$.next(response.user);\n this.access$.next(access);\n });\n }\n\n constructor(private http: HttpClient) {\n this.user$ = new BehaviorSubject(undefined);\n this.access$ = new BehaviorSubject(undefined);\n }\n\n // Retonar el subject del usuario como observable\n getUser(): Observable {\n return this.user$.asObservable();\n }\n\n // Retornar el subject del usuario (API) como observable\n getAccess(): Observable {\n return this.access$.asObservable();\n }\n\n // Peticion login a la API\n login(username: string, password: string): Observable {\n const endpoint = `${this.apiRoot}/auth/login`;\n const body = {\n username,\n password,\n };\n return this.http.post(endpoint, body).pipe(this.setUserTap(true));\n }\n\n // Peticion logout a la API\n logout() {\n const endpoint = `${this.apiRoot}/auth/logout`;\n return this.http.get(endpoint).pipe(\n tap(() => {\n localStorage.removeItem('access_token');\n })\n );\n }\n\n // Solicitar el usuario loggeado a la API (conociendo solo el token)\n getUserLogged() {\n // Temporal mientras no funciona auth/logged\n const endpoint = `${this.apiRoot}/auth/logged`;\n return this.http.get(endpoint).pipe(this.setUserTap(false));\n }\n\n assignContacttoStruct(structure, contacts) {\n const endpoint = `${this.apiRoot}/structure/${structure}/members`;\n const body = {\n contactNumbers: contacts,\n };\n return this.http.patch(endpoint, body);\n }\n\n searchClient(contactID) {\n const endpoint = `${this.apiRoot}/contact/${contactID}`;\n return this.http.get(endpoint).pipe(map((data) => data['response']));\n }\n\n findClient(filter) {\n // console.log(filter);\n const endpoint = `${this.apiRoot}/contacts`;\n return this.http.get(endpoint, { params: filter });\n }\n\n findStruct(filter) {\n // console.log(filter);\n const endpoint = `${this.apiRoot}/structures`;\n return this.http.get(endpoint, { params: filter });\n }\n\n setClient(client) {\n this.clientSubject.next(client);\n }\n\n get client$() {\n return this.clientSubject.asObservable();\n }\n}\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UserService } from '../../../services';\n\n@Component({\n selector: 'app-assign-relay',\n templateUrl: './assign-relay.component.html',\n styleUrls: ['./assign-relay.component.scss'],\n})\nexport class AssignRelayComponent implements OnInit {\n // States\n\n customers: any[] | null = null;\n error: boolean;\n showLoader: boolean;\n\n @Input() criteria: 'struct-relay-customer';\n\n // Emitters\n @Output('customer') clientEmitter = new EventEmitter();\n @Input('structure') structure;\n\n constructor(private userService: UserService) {}\n\n ngOnInit(): void {}\n\n handleSubmit(values) {\n const { contactID } = values;\n if (!contactID) {\n return;\n }\n\n this.showLoader = true;\n this.userService.searchClient(contactID).subscribe((result) => {\n this.showLoader = false;\n let resultsArray = result instanceof Array ? result : [result];\n\n resultsArray = resultsArray.filter((customer) => {\n // return customer.role === 'RELAY';\n return customer;\n });\n\n // console.log(resultsArray);\n\n if (resultsArray.length) {\n this.customers = resultsArray;\n this.error = false;\n } else {\n this.customers = null;\n this.error = true;\n }\n // this.error = result.hasOwnProperty('codeError');\n });\n }\n\n handleParamsSubmit(values) {\n // if (Object.values(values).some((val) => !val)) {\n // console.log(values);\n // // Falta alguna prop por llenar, avisar a la view\n // return;\n // }\n this.showLoader = true;\n this.userService.findClient(values).subscribe((results: Array) => {\n this.showLoader = false;\n let resultsArray = results instanceof Array ? results : [results];\n\n resultsArray = resultsArray.filter((customer) => {\n // return customer.role === 'RELAY';\n return customer;\n });\n\n if (resultsArray.length) {\n this.customers = resultsArray;\n this.error = false;\n } else {\n this.customers = null;\n this.error = true;\n }\n // this.error = results.hasOwnProperty('codeError');\n });\n }\n\n emitFound(customer) {\n if (Object.keys(customer).length === 3) {\n this.userService\n .searchClient(customer.contactNumber)\n .subscribe((fullCustomer) => {\n this.clientEmitter.emit(fullCustomer);\n });\n } else {\n this.clientEmitter.emit(customer);\n }\n }\n}\n","
\n
\n \n
\n
\n
\n
\n
\n
\n

Search by Client Reference Number

\n \n
\n \n
\n
\n
OR
\n
\n
\n
\n

Search by:

\n \n \n \n
\n \n
\n
\n
\n
\n
\n

Results

\n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n\n \n \n \n
\n Name\n \n Zip\n \n Type\n \n Role\n \n Action\n
\n {{customer.title !== \"UNDEFINED\" ? customer.title : \"\"}} {{customer.name}} {{customer.lastname}}\n \n {{customer.address.zipCode}}\n {{customer.type}}{{customer.role}}\n \n
\n
\n Client relay not found\n
\n
\n
\n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { UserService } from 'src/app/services';\n\n@Component({\n selector: 'app-assign-struct',\n templateUrl: './assign-struct.component.html',\n styleUrls: ['./assign-struct.component.scss'],\n})\nexport class AssignStructComponent implements OnInit {\n @Output() customer: EventEmitter;\n @Output() structure: EventEmitter;\n @Input('selectedCustomer') currentCustomer;\n @Input('selectedStruct') currentStruct;\n\n foundCustomers;\n foundStructs;\n\n selectedCustomer;\n selectedStruct;\n\n constructor(private userService: UserService) {\n this.customer = new EventEmitter();\n this.structure = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.selectedStruct = this.currentStruct;\n this.selectedCustomer = this.currentCustomer;\n }\n\n searchCustomer(contactNumber) {\n this.selectedCustomer = null;\n this.userService.searchClient(contactNumber).subscribe((result) => {\n let resultsArray = result instanceof Array ? result : [result];\n\n this.foundCustomers = resultsArray;\n });\n }\n\n searchStructure(contactNumber) {\n this.selectedStruct = null;\n\n this.userService.searchClient(contactNumber).subscribe((result) => {\n let resultsArray = result instanceof Array ? result : [result];\n\n this.foundStructs = resultsArray;\n });\n }\n\n selectStruct(struct) {\n this.selectedStruct = struct;\n }\n\n selectCustomer(customer) {\n this.selectedCustomer = customer;\n }\n\n selectClient(customer) {\n this.selectedCustomer = customer;\n }\n\n assignContacttoStruct() {\n const structNumber = this.selectedStruct.contactNumber;\n const contacts = [this.selectedCustomer.contactNumber];\n\n // console.log(contacts);\n this.userService\n .assignContacttoStruct(structNumber, contacts)\n .subscribe((contact) => {\n // console.log('observable resuelto -> ', contact);\n this.structure.emit(this.selectedStruct);\n this.customer.emit(contact);\n });\n }\n}\n","\n
\n
\n \n
\n Selected the customer {{ selectedCustomer.contactNumber }}\n
\n
\n \n \n
\n Selected the business {{ selectedStruct.contactNumber }}\n
\n
\n
\n \n
\n\n","import { HttpClient } from '@angular/common/http';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { forkJoin, Observable, of } from 'rxjs';\nimport { UserService } from 'src/app/services';\nimport { CustomerService } from 'src/app/services/customer.service';\n\n@Component({\n selector: 'app-create-struct',\n templateUrl: './create-struct.component.html',\n styleUrls: ['./create-struct.component.scss'],\n})\nexport class CreateStructComponent implements OnInit {\n @Input() baseStruct: any;\n\n @Output() private struct = new EventEmitter();\n structureTypes: any;\n countryCodes;\n\n isFullDataLoading = false;\n\n constructor(\n private customerService: CustomerService,\n private http: HttpClient,\n private userService: UserService\n ) {}\n\n ngOnInit(): void {\n const countryCodes$ = this.getJson('/assets/data/country-codes.json');\n const structTypes$ = this.customerService.getStructureTypes();\n\n let structData$ = of(this.baseStruct);\n\n if (this.baseStruct && !this.checkCompleteStruct(this.baseStruct)) {\n structData$ = this.userService.searchClient(\n this.baseStruct.contactNumber\n );\n this.isFullDataLoading = true;\n }\n\n forkJoin([countryCodes$, structTypes$, structData$]).subscribe(\n ([countryCodes, structTypes, structData]) => {\n this.countryCodes = this.sortProperties(countryCodes);\n this.structureTypes = structTypes;\n this.baseStruct = structData;\n this.isFullDataLoading = false;\n }\n );\n }\n\n submitStruct(data) {\n if (this.baseStruct) {\n data.contactNumber = this.baseStruct.contactNumber;\n this.customerService\n .updateStruct(data)\n .subscribe((response) => this.struct.emit(response));\n } else {\n this.customerService.createStructure(data).subscribe((response) => {\n this.struct.emit(response);\n });\n }\n }\n\n getJson(urlToJson): Observable {\n return this.http.get(urlToJson);\n }\n\n cancelUpdate() {\n this.struct.emit(this.baseStruct);\n }\n\n private checkCompleteStruct(struct) {\n return (\n struct &&\n struct.name &&\n struct.structureTypeId &&\n struct.address?.line1 &&\n struct.address?.line2 &&\n struct.address?.line3 &&\n struct.address?.town &&\n struct.address?.zipCode &&\n struct.address?.countryCode\n );\n }\n\n prefixUkFirst(data: Array): any {\n data.forEach((item, i) => {\n if (item[0] === 'GB') {\n data.splice(i, 1);\n data.unshift(item);\n }\n });\n return data;\n }\n\n sortProperties(obj): Array {\n // convert object into array\n const sortable = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n sortable.push([key, obj[key]]);\n }\n } // each item is an array in format [key, value]\n\n // sort items by value\n sortable.sort((a, b) => {\n const x = a[1];\n const y = b[1];\n return x < y ? -1 : x > y ? 1 : 0;\n });\n return this.prefixUkFirst(sortable); // array in format [ [ key1, val1 ], [ key2, val2 ], ... ]\n }\n}\n","
\n \n
\n
\n
\n \n
\n
\n\n
\n
\n \n \n \n \n \n {{ item.value }}\n \n \n
\n
\n\n
\n
\n \n
\n \n \n
Address is required.
\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 \n
Town is required.
\n
\n
\n
\n \n \n
Postcode is required.
\n
\n
\n
\n \n
\n
\n \n \n \n \n {{ countryCode[1] }}\n \n \n
\n
\n
\n \n
\n \n \n
\n
\n \n \n\n","import { HttpClient } from '@angular/common/http';\nimport { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { forkJoin, Observable } from 'rxjs';\nimport { FlowcontrolService } from '../../../services/flowcontrol.service';\nimport { CustomerService } from 'src/app/services/customer.service';\n\n@Component({\n selector: 'app-customer-form',\n templateUrl: './customer-form.component.html',\n styleUrls: ['./customer-form.component.scss'],\n})\nexport class CustomerFormComponent implements OnInit {\n // State variables\n\n @Input() buttonText: string;\n\n @Input() baseCustomer: any;\n\n @Input() editable: boolean;\n @Input() initReadOnly: boolean;\n @Input() includeStructure: boolean = false;\n @Input() structure: any;\n\n isReadOnly: boolean = false;\n\n @Output() selectCustomer: EventEmitter;\n @Output() updatedCustomer: EventEmitter;\n\n @ViewChild('dateElement') inputBirthdate;\n // View\n currentView: 'find-struct' | 'edit-struct' | null = null;\n\n selectedStruct;\n\n // State variables\n currentTab: 'create' | 'search' | 'create-struct' = 'create';\n countryPhone: any;\n countryCode: any;\n prefixPhone = 'UNDEFINED';\n // @ts-ignore\n emailRegex =\n /^[a-zA-Z0-9.!#$%&โ€™*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$/;\n phoneRegex = /^[0-9]*$/;\n\n currPackageId: number;\n\n structContactNumber;\n\n varDateSwitcher = false;\n\n constructor(\n private http: HttpClient,\n private customerService: CustomerService,\n private renderer: Renderer2,\n private cd: ChangeDetectorRef,\n private flowControl: FlowcontrolService\n ) {\n this.selectCustomer = new EventEmitter();\n this.updatedCustomer = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.isReadOnly = this.editable && this.initReadOnly;\n // console.log('form status readonly ->: ', this.isReadOnly);\n // console.log('el customer base es', this.baseCustomer);\n\n if (this.baseCustomer && this.baseCustomer.structure) {\n // console.log('entro');\n this.structContactNumber = this.baseCustomer.structure.name;\n this.selectedStruct = this.baseCustomer.structure;\n } else if (this.structure && this.structure.name) {\n // console.log('salgo');\n this.structContactNumber = this.structure.name;\n this.selectedStruct = this.structure;\n }\n\n const joins = [\n this.getJson('/assets/data/country-codes.json'),\n this.getJson('/assets/data/country-phones.json'),\n ];\n forkJoin(joins).subscribe((responseList) => {\n this.countryCode = this.sortProperties(responseList[0]);\n this.countryPhone = this.sortProperties(responseList[1]);\n if (this.baseCustomer) {\n this.baseCustomer.phonePrefix = this.setPhoneAndPrefix(\n this.baseCustomer.countryCode\n );\n this.baseCustomer.phone = this.baseCustomer.phone\n ? this.baseCustomer.phone.replace(this.baseCustomer.phonePrefix, '')\n : '';\n if (this.baseCustomer.birthdate) {\n this.baseCustomer.birthdate = this.formatDate(\n this.baseCustomer.birthdate\n );\n }\n }\n });\n }\n\n formatDate(date) {\n // tslint:disable-next-line:one-variable-per-declaration prefer-const\n let d = new Date(date),\n month = '' + (d.getMonth() + 1),\n day = '' + d.getDate(),\n // tslint:disable-next-line:prefer-const\n year = d.getFullYear();\n\n if (month.length < 2) {\n month = '0' + month;\n }\n if (day.length < 2) {\n day = '0' + day;\n }\n\n return [year, month, day].join('-');\n }\n\n setPhoneAndPrefix(countryCode: string): any {\n const prefix = this.countryPhone.find((item, i) => {\n if (item[0] === countryCode) {\n return `${item[1]}`;\n }\n });\n return prefix[1];\n // return `${this.countryPhone[countryCode]}`;\n }\n\n getJson(urlToJson): Observable {\n return this.http.get(urlToJson);\n }\n\n prefixUkFirst(data: Array): any {\n data.forEach((item, i) => {\n if (item[0] === 'GB') {\n data.splice(i, 1);\n data.unshift(item);\n }\n });\n return data;\n }\n\n sortProperties(obj): Array {\n // convert object into array\n const sortable = [];\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n sortable.push([key, obj[key]]);\n }\n } // each item is an array in format [key, value]\n\n // sort items by value\n sortable.sort((a, b) => {\n const x = a[1];\n const y = b[1];\n return x < y ? -1 : x > y ? 1 : 0;\n });\n return this.prefixUkFirst(sortable); // array in format [ [ key1, val1 ], [ key2, val2 ], ... ]\n }\n\n toggleReadOnly() {\n this.isReadOnly = !this.isReadOnly;\n }\n\n cancelChanges(form: NgForm) {\n form.resetForm();\n }\n\n submitForm(form: NgForm) {\n if (this.baseCustomer && this.isReadOnly) {\n this.selectCustomer.emit(this.baseCustomer);\n return;\n }\n const customer = form.value;\n if (this.structure) {\n // console.log('if structure');\n // console.log(this.structure.contactNumber);\n customer.structureContactNumber = this.structure.contactNumber;\n } else if (this.selectedStruct) {\n customer.structureContactNumber = this.selectedStruct.contactNumber;\n }\n\n\n // console.log(customer);\n\n if (this.baseCustomer) {\n customer.contactNumber = this.baseCustomer.contactNumber;\n // console.log('enviando solitude editar');\n customer.role = 'PUBLIC';\n // ver si debemos cambiar el prefijo\n if (!form.controls.countryCode.pristine) {\n customer.phone = `${this.baseCustomer.phonePrefix}${customer.phone}`;\n delete customer.phonePrefix;\n }\n this.customerService.editCustomer(customer).subscribe(\n (response) => {\n // this.baseCustomer = response;\n this.baseCustomer.phonePrefix = this.setPhoneAndPrefix(\n response.countryCode\n );\n this.baseCustomer.phone = this.baseCustomer.phone\n ? this.baseCustomer.phone // this.baseCustomer.phone.replace(this.baseCustomer.phonePrefix, '')\n : '';\n this.baseCustomer.birthdate = this.formatDate(\n this.baseCustomer.birthdate\n );\n this.isReadOnly = true;\n },\n (error) => form.resetForm(this.baseCustomer)\n );\n } else {\n customer.phone = `${this.prefixPhone}${customer.phone}`;\n customer.role = 'PUBLIC';\n this.customerService.createCustomer(customer).subscribe((response) => {\n this.baseCustomer = response;\n this.baseCustomer.phonePrefix = this.setPhoneAndPrefix(\n this.baseCustomer.countryCode\n );\n this.baseCustomer.phone = this.baseCustomer.phone\n ? this.baseCustomer.phone.replace(this.baseCustomer.phonePrefix, '')\n : '';\n this.baseCustomer.birthdate = this.formatDate(\n this.baseCustomer.birthdate\n );\n this.selectCustomer.emit(this.baseCustomer);\n });\n }\n\n // const { dirty } = form;\n // const customer = form.value;\n // customer.role = \"PUBLIC\";\n // if (this.baseCustomer) {\n // customer.contactId = this.baseCustomer.contactId;\n // }\n\n // customer.phone = `${customer.phonePrefix}${customer.phone}`;\n\n // this.selectCustomer.emit(customer)\n }\n\n emitEdit(form) {\n this.toggleReadOnly();\n }\n\n selectView(view) {\n this.currentView = view;\n }\n\n selectStruct(struct) {\n // console.log('selecting the struct', struct);\n this.structContactNumber = struct.structure.name;\n this.selectedStruct = struct;\n this.selectView(null);\n }\n\n public displayDate(): void {\n this.renderer.setProperty(\n this.inputBirthdate.nativeElement,\n 'type',\n 'date'\n );\n this.cd.detectChanges();\n // this.inputBirthdate.nativeElement.showPicker();\n this.inputBirthdate.nativeElement.click();\n // let el: HTMLElement = this.inputBirthdate.nativeElement;\n // el.click();\n }\n\n // Cambia el prefijo del telefono en el formulario\n onChangeCountry({ value }): void {\n if (this.baseCustomer) {\n this.baseCustomer.phonePrefix = this.setPhoneAndPrefix(value);\n } else {\n this.prefixPhone = this.setPhoneAndPrefix(value);\n }\n\n }\n}\n","
\n \n \n \n \n
\n \n \n Edit Business\n \n
\n
\n \n \n \n\n
\n
\n \n \n \n \n \n \n \n
\n
\n \n \n
Name is required.
\n
\n
\n\n
\n \n \n
Lastname is required.
\n
\n \n \n
\n \n \n
Email is required.
\n
Email must be valid.
\n
\n \n
\n
\n \n \n \n \n
\n
\n \n \n
Phone is required.
\n
Only numbers are allowed.
\n
\n
\n
\n \n\n \n
Birthdate is required.
\n
\n \n \n \n \n
\n \n \n
Address is required.
\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
Town is required.
\n
\n
\n
\n \n \n
Postcode is required.
\n
\n \n
\n \n \n \n \n \n \n
Country is required.
\n
\n \n \n\n
\n \n
\n\n
\n
\n
\n \n Edit details\n \n \n
\n
\n \n \n
\n \n
\n\n
\n \n
\n\n","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { UserService } from 'src/app/services';\n\n@Component({\n selector: 'app-search-client',\n templateUrl: './search-client.component.html',\n styleUrls: ['./search-client.component.scss'],\n})\nexport class SearchClientComponent implements OnInit {\n // States\n\n customers: any[] | null = null;\n error: boolean;\n showLoader: boolean;\n\n @Input() searchType: 'customer' | 'business';\n\n @Input() criteria:\n | 'customer'\n | 'struct'\n | 'struct-customer'\n | 'struct-relay-customer';\n\n // Emitters\n @Output('client') clientEmitter = new EventEmitter();\n\n constructor(private userService: UserService) {}\n\n ngOnInit(): void {}\n\n handleSubmit(values) {\n const { contactID } = values;\n if (!contactID) {\n return;\n }\n\n this.showLoader = true;\n this.userService.searchClient(contactID).subscribe((result) => {\n this.showLoader = false;\n let resultsArray = result instanceof Array ? result : [result];\n\n if (this.criteria) {\n resultsArray = resultsArray.filter((customer) => {\n if (\n customer.type === 'INDIVIDUAL' &&\n !customer.structure &&\n this.criteria === 'customer'\n ) {\n return true;\n } else if (\n customer.type === 'RELAY' &&\n !customer.structure &&\n this.criteria === 'struct-relay-customer'\n ) {\n return true;\n } else if (\n customer.type === 'INDIVIDUAL' &&\n customer.structure &&\n this.criteria === 'struct-customer'\n ) {\n return true;\n } else if (\n customer.type === 'STRUCTURE' &&\n this.criteria === 'struct'\n ) {\n return true;\n }\n\n return false;\n });\n }\n\n if (resultsArray.length) {\n this.customers = resultsArray;\n } else {\n this.customers = null;\n }\n this.error = result.hasOwnProperty('codeError');\n });\n }\n\n handleParamsSubmit(values) {\n // if (Object.values(values).some((val) => !val)) {\n // console.log(values);\n // // Falta alguna prop por llenar, avisar a la view\n // return;\n // }\n this.showLoader = true;\n if (this.searchType === 'customer') {\n this.userService.findClient(values).subscribe((results: Array) => {\n this.showLoader = false;\n this.customers = results;\n });\n } else {\n this.userService.findStruct(values).subscribe((results: Array) => {\n this.showLoader = false;\n this.customers = results;\n // console.log(this.customers);\n });\n }\n }\n\n emitFound(customer) {\n if (\n Object.keys(customer).length === 3 ||\n Object.keys(customer).length === 2\n ) {\n this.userService\n .searchClient(customer.contactNumber)\n .subscribe((fullCustomer) => {\n this.clientEmitter.emit(fullCustomer);\n });\n } else {\n this.clientEmitter.emit(customer);\n }\n }\n\n hasProp(address: any): any {\n if (Object.values(address).length > 1) {\n return address.line1;\n }\n return address;\n }\n}\n","
\n
\n \n
\n\n
\n\n
\n\n
\n
Search by Client Reference Number
\n \n
Search by Business Reference Number
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n\n
\n
\n OR\n
\n
\n\n
\n
Search by:
\n
\n
\n \n \n \n
\n \n \n \n \n
\n
\n\n
\n\n
\n\n
\n\n
\n \n
\n
\n
Results:
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Name\n \n Postcode\n \n Email\n \n Type\n \n Action\n
\n {{customer.title !== \"UNDEFINED\" ? customer.title : \"\"}} {{customer.name}} {{customer.lastname}}\n \n {{customer.address.zipCode}}\n \n {{customer.email}}\n {{customer.type}}\n \n
\n
\n Contacts not found\n
\n
\n
\n \n
\n\n \n
\n
\n
Results:
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n Name\n \n Address\n \n Business Reference\n \n Action\n
\n {{customer.structureName || customer.structure.name}}\n \n {{hasProp(customer.address)}}\n \n {{customer.contactNumber}}\n \n \n
\n
\n Contacts not found\n
\n
\n
\n
\n\n
\n\n
\n\n
\n","import { Injectable } from '@angular/core';\nimport {\n HttpHandler,\n HttpInterceptor,\n HttpRequest,\n} from '@angular/common/http';\nimport { environment } from './../../../environments/environment';\n\n@Injectable()\nexport class AddApiUrlInterceptor implements HttpInterceptor {\n constructor() {}\n\n intercept(req: HttpRequest, next: HttpHandler) {\n // console.log(\"env\", environment)\n\n const finalReq =\n req.url.startsWith('http') || req.url.includes('/assets/')\n ? req\n : req.clone({ url: `${environment.apiUrl}${req.url}` });\n return next.handle(finalReq);\n }\n}\n","export { WithCredentialsInterceptor } from './with-credentials.interceptor';\nexport { HttpTokenInterceptorMod } from './token-modified.interceptor';\nexport { AddApiUrlInterceptor } from './add-api-url.interceptor';\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs/';\n\n\n@Injectable()\n/**\n * `HttpInterceptor` which adds an XSRF token to eligible outgoing requests.\n */\n@Injectable()\nexport class HttpTokenInterceptorMod implements HttpInterceptor {\n\n constructor() {\n }\n\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\n const headerName = '';\n let token = '';\n if (localStorage.getItem('access_token') !== null) {\n token = JSON.parse(localStorage.getItem('access_token'));\n // @ts-ignore\n if (token.token !== null && !req.headers.has(headerName)){\n req = req.clone({\n setHeaders: {\n // @ts-ignore\n Authorization: `Bearer ${token.token}`\n }\n });\n }\n }\n return next.handle(req);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\n\n\n@Injectable()\nexport class WithCredentialsInterceptor implements HttpInterceptor {\n\n constructor() {\n }\n\n intercept(req: HttpRequest, next: HttpHandler) {\n return next.handle(req.clone({withCredentials: true}));\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\n\n\n@Component({\n selector: 'app-error-modal',\n templateUrl: './error-modal.component.html',\n styleUrls: ['./error-modal.component.scss']\n})\nexport class ErrorModalComponent implements OnInit {\n\n title: string;\n message: string;\n isDarkTheme: boolean;\n\n constructor(public bsModalRef: BsModalRef) {\n this.title = 'Oops!';\n }\n\n ngOnInit() {\n }\n\n /**\n * Hides the modal\n */\n decline(): void {\n this.bsModalRef.hide();\n }\n\n}\n","
\n
\n
\n

{{ title }}

\n \n
\n
\n

{{ message }}

\n
\n
\n \n
\n
\n
\n","export { ModalComponent } from './modal.component';","import { Injectable } from '@angular/core';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { ModalComponent } from './index';\nimport { ModalData } from '../models/index';\n\n@Injectable()\nexport class MessagingService {\n bsModalRef: BsModalRef;\n\n constructor(private modalService: BsModalService) {\n }\n\n private prepareObject(object) {\n for (const i in object) {\n if (object[i] === undefined) {\n delete object[i];\n }\n }\n }\n\n error(title, message, acceptBtnName?, acceptFunction?, closeBtnName?, closeFunction?, modalParentClass?) {\n const initialState: ModalData = {\n title,\n content: message,\n closeBtnName,\n closeFunction,\n acceptBtnName,\n acceptFunction,\n };\n modalParentClass = modalParentClass ? modalParentClass : '';\n modalParentClass += ' error-modal';\n this.prepareObject(initialState);\n this.bsModalRef = this.modalService.show(ModalComponent, {class: modalParentClass, initialState});\n }\n\n info(title, message, acceptBtnName?, acceptFunction?, closeBtnName?, closeFunction?, modalParentClass?) {\n const initialState: ModalData = {\n title,\n content: message,\n closeBtnName,\n closeFunction,\n acceptBtnName,\n acceptFunction,\n };\n modalParentClass = modalParentClass ? modalParentClass : '';\n modalParentClass += '';\n modalParentClass += ' modal-dialog-centered';\n this.prepareObject(initialState);\n this.bsModalRef = this.modalService.show(ModalComponent, {class: modalParentClass, initialState});\n }\n\n warning(title, message, acceptBtnName?, acceptFunction?, closeBtnName?, closeFunction?, modalParentClass?) {\n const initialState: ModalData = {\n title,\n content: message,\n closeBtnName,\n closeFunction,\n acceptBtnName,\n acceptFunction,\n };\n modalParentClass = modalParentClass ? modalParentClass : '';\n modalParentClass += ' warning-modal';\n this.prepareObject(initialState);\n this.bsModalRef = this.modalService.show(ModalComponent, {class: modalParentClass, initialState});\n }\n\n}\n","import { Component } from '@angular/core';\nimport { BsModalRef } from 'ngx-bootstrap/modal';\nimport { ModalData } from '../models/index';\n\n@Component({\n selector: 'app-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss']\n})\n\nexport class ModalComponent implements ModalData {\n title: string;\n content: string;\n closeBtnName: string;\n closeFunction: any;\n acceptBtnName = 'Confirm';\n acceptFunction: any;\n\n constructor(public bsModalRef: BsModalRef) {\n }\n\n accept() {\n this.bsModalRef.hide();\n if (this.acceptFunction) {\n this.acceptFunction();\n }\n }\n\n close() {\n this.bsModalRef.hide();\n if (this.closeFunction) {\n this.closeFunction();\n }\n }\n\n\n}\n\n","
\n
\n
\n

{{ title }}

\n
\n
\n

{{ content }}

\n
\n
\n \n \n \n \n \n
\n
\n
\n","import { Injectable } from '@angular/core';\nimport { BsModalService, BsModalRef, ModalOptions } from 'ngx-bootstrap/modal';\nimport { ErrorModalComponent } from './error-modal/error-modal.component';\nimport { RestartModalComponent } from './restart-modal/restart-modal.component';\nimport { CustomerPlan } from '../models';\nimport { Observable, Subject } from 'rxjs';\nimport { PlanSeatElementModalComponent } from './plan-seat-element-modal/plan-seat-element-modal.component';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ModalsService {\n bsModalRef: BsModalRef;\n\n constructor(public modalService: BsModalService) { }\n\n // public checkoutModal() {\n // const config = {\n // animated: true,\n // keyboard: false,\n // ignoreBackdropClick: true,\n // class: 'modal-dialog-centered'\n // };\n // this.bsModalRef = this.modalService.show(CheckoutModalComponent, config);\n // }\n\n public errorModal(errorMessage): void {\n const initialState = {\n animated: true,\n keyboard: false,\n ignoreBackdropClick: true,\n message: errorMessage\n };\n this.bsModalRef = this.modalService.show(ErrorModalComponent, { class: 'modal-dialog-centered', initialState });\n }\n\n public restartModal(planId, interval): void {\n const resetConfig: ModalOptions = {\n animated: true,\n keyboard: false,\n ignoreBackdropClick: true,\n class: 'modal-dialog-centered',\n initialState: {\n // planId,\n // interval\n }\n };\n this.bsModalRef = this.modalService.show(RestartModalComponent, resetConfig);\n }\n\n public planSeatElementModal(customerPlan: CustomerPlan, accordionToggleSubject: Subject): BsModalRef {\n const config: ModalOptions = {\n animated: true,\n keyboard: false,\n ignoreBackdropClick: false,\n class: 'modal-dialog-centered',\n initialState: {\n // customerPlan,\n // accordionToggleSubject\n }\n };\n\n return this.modalService.show(PlanSeatElementModalComponent, config);\n }\n\n public extraModal(): void {\n const config: ModalOptions = {\n animated: true,\n keyboard: true,\n ignoreBackdropClick: false,\n class: 'modal-dialog-centered',\n initialState: {\n // success,\n // reject\n }\n };\n }\n\n\n // public generalAdmissionModal() {\n // const config = {\n // animated: true,\n // class: 'modal-dialog-centered'\n // };\n // this.bsModalRef = this.modalService.show(GeneralAdmissionModalComponent, config);\n // }\n\n public infoModal(): void {\n }\n\n // public backModal() {\n // const infoConfig: ModalOptions = {\n // animated: true,\n // class: 'modal-dialog-centered'\n // };\n // this.modalService.show(BackModalComponent, infoConfig);\n // }\n\n // public justAddonsModal() {\n // const infoConfig: ModalOptions = {\n // animated: true,\n // class: 'modal-dialog-centered'\n // };\n // this.modalService.show(JustAddonsModalComponent, infoConfig);\n // }\n\n // public guideModal() {\n // const config: ModalOptions = {\n // animated: true,\n // keyboard: false,\n // ignoreBackdropClick: true,\n // class: 'modal-dialog-centered',\n // };\n // this.bsModalRef = this.modalService.show(GuideModalComponent, config);\n // }\n\n // public upgradeModal() {\n // const config: ModalOptions = {\n // animated: true,\n // keyboard: false,\n // ignoreBackdropClick: true,\n // class: 'modal-dialog-centered',\n // };\n // this.bsModalRef = this.modalService.show(UpgradeModalComponent, config);\n // }\n\n /**\n * Checks if the navigator it's a mobile\n * @returns boolean\n */\n isMobile(): boolean {\n if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) {\n return true;\n } else {\n return false;\n }\n }\n}\n","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ModalsService } from '../modals.service';\nimport { BsModalRef, BsModalService, ModalDirective } from 'ngx-bootstrap/modal';\nimport { CustomerPlan } from '../../models';\nimport { Subject } from 'rxjs';\n\n@Component({\n selector: 'app-plan-seat-element-modal',\n templateUrl: './plan-seat-element-modal.component.html',\n styleUrls: ['./plan-seat-element-modal.component.scss']\n})\nexport class PlanSeatElementModalComponent implements OnInit {\n\n @ViewChild(ModalDirective, { static: false }) modal: ModalDirective;\n customerPlan: CustomerPlan;\n accordionToggleSubject: Subject;\n isDarkTheme: boolean;\n\n constructor(public bsModalRef: BsModalRef,\n private modalService: ModalsService,\n private bsModalService: BsModalService) { }\n\n ngOnInit() {\n if (this.bsModalRef) {\n this.bsModalService.onHidden.subscribe( $reason => {\n const reason = $reason;\n if (reason === 'backdrop-click') {\n this.accordionToggleSubject.next();\n }\n });\n }\n }\n\n /**\n * Hides the modal and next the subject to close the accordion\n */\n closeModal(): void {\n this.bsModalRef.hide();\n this.accordionToggleSubject.next();\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
Section{{seat.section}}
Row{{seat.seat_row}}
Seat{{seat.seat}}
Price$ {{seat.price}}
\n
\n
\n \n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { BsModalRef, ModalOptions, BsModalService } from 'ngx-bootstrap/modal';\nimport { UserService } from 'src/app/services/user.service';\nimport { ErrorModalComponent } from '../error-modal/error-modal.component';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-restart-modal',\n templateUrl: './restart-modal.component.html',\n styleUrls: ['./restart-modal.component.scss']\n})\nexport class RestartModalComponent implements OnInit {\n\n title: string;\n message: string;\n @Input() public planId: any;\n @Input() public interval: any;\n isDarkTheme: boolean;\n\n constructor(public bsModalRef: BsModalRef,\n public router: Router,\n private userService: UserService,\n private modalService: BsModalService) {\n this.title = 'Restart the progress?';\n this.message = `By clicking on confirm, your seats will be released and available for any other customer.\n Are you sure you want to restart?`;\n }\n\n ngOnInit() {\n }\n\n /**\n * Hides the modal and calls cancelTransaction function\n */\n confirm(): void {\n this.bsModalRef.hide();\n this.cancelTransaction();\n clearInterval(this.interval);\n }\n\n /**\n * Hides the modal\n */\n decline(): void {\n this.bsModalRef.hide();\n // make cancel\n }\n\n /**\n * Cancels the transaction of the current plan, throws an error modal if cancel transaction fails\n */\n cancelTransaction(): void {\n // // gets the transacion by plan id\n // const transaction = this.userService.getTransactionByPlanId(this.planId);\n // // subscribe to cancelTransaction\n // this.userService.cancelTransaction(transaction.id).subscribe(\n // data => {\n // // subscribe and update the user data\n // this.auth.updateUserData().subscribe(\n // userData => {\n // // redirects to the landing page\n // this.router.navigate(['/home']);\n // },\n // error => {\n // console.error(error);\n // }\n // );\n // },\n // error => {\n // // cancelTransaction has gone wrong and shows a modal error\n // this.errorCodeService.getErrorByCode(1002).subscribe(\n // errorText => {\n // const toSummaryConfig: ModalOptions = {\n // animated: true,\n // keyboard: false,\n // ignoreBackdropClick: true,\n // class: 'modal-dialog-centered',\n // initialState: {\n // message: errorText // param error text to send to ErrorModalComponent\n // }\n // };\n // this.bsModalRef = this.modalService.show(ErrorModalComponent, toSummaryConfig);\n // }\n // );\n // });\n\n }\n}\n","
\n
\n
\n

{{ title }}

\n \n
\n
\n

{{ message }}

\n
\n
\n \n \n
\n
\n
\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'categoriesYears',\n})\nexport class CategoriesYearPipe implements PipeTransform {\n transform(cats: any, ...args: unknown[]): unknown {\n // console.log(\">>>><<<\", cats)\n const sorted = cats.sort();\n let sentence = '';\n if (args[0] === 'numbers') {\n sentence = sorted.reduce((prev, curr) => `${prev}, ${curr}`) + ' Years';\n }\n return sentence;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\nimport {\n AddApiUrlInterceptor,\n WithCredentialsInterceptor,\n HttpTokenInterceptorMod,\n} from './interceptors';\nimport { ModalComponent } from './modals';\nimport { MessagingService } from './modals/messaging.service';\nimport { ModalsService } from './modals/modals.service';\nimport { ModalModule } from 'ngx-bootstrap/modal';\nimport { ErrorModalComponent } from './modals/error-modal/error-modal.component';\nimport { RestartModalComponent } from './modals/restart-modal/restart-modal.component';\nimport { FormsModule } from '@angular/forms';\nimport { PlanSeatElementModalComponent } from './modals/plan-seat-element-modal/plan-seat-element-modal.component';\nimport { SubHeaderComponent } from './sub-header/sub-header.component';\nimport { CategoriesYearPipe } from './pipes/categories-year.pipe';\nimport { CustomerFormComponent } from './components/customer-form/customer-form.component';\nimport { SearchClientComponent } from './components/search-client/search-client.component';\nimport { CreateStructComponent } from './components/create-struct/create-struct.component';\nimport { AssignStructComponent } from './components/assign-struct/assign-struct.component';\nimport { AssignRelayComponent } from './components/assign-relay/assign-relay.component';\n\n@NgModule({\n declarations: [\n ModalComponent,\n ErrorModalComponent,\n RestartModalComponent,\n PlanSeatElementModalComponent,\n SubHeaderComponent,\n CategoriesYearPipe,\n CustomerFormComponent,\n SearchClientComponent,\n CreateStructComponent,\n AssignStructComponent,\n AssignRelayComponent,\n ],\n imports: [ModalModule.forRoot(), CommonModule, FormsModule],\n exports: [\n SubHeaderComponent,\n CategoriesYearPipe,\n CustomerFormComponent,\n SearchClientComponent,\n CreateStructComponent,\n AssignStructComponent,\n AssignRelayComponent,\n ],\n entryComponents: [\n ModalComponent,\n ErrorModalComponent,\n RestartModalComponent,\n PlanSeatElementModalComponent,\n ],\n providers: [\n { provide: HTTP_INTERCEPTORS, useClass: AddApiUrlInterceptor, multi: true },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: WithCredentialsInterceptor,\n multi: true,\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HttpTokenInterceptorMod,\n multi: true,\n },\n MessagingService,\n ModalsService,\n ],\n})\nexport class SharedModule {}\n","import { Component, Input, OnInit, Output, EventEmitter} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { CustomerService } from 'src/app/services/customer.service';\nimport { FlowcontrolService } from 'src/app/services/flowcontrol.service';\nimport { NavigationService } from 'src/app/services/navigation.service';\nimport { PackageModel } from 'src/app/shared/models';\n\n@Component({\n selector: 'app-sub-header',\n templateUrl: './sub-header.component.html',\n styleUrls: ['./sub-header.component.scss']\n})\nexport class SubHeaderComponent implements OnInit {\n\n @Input('header') headerString: string;\n @Input('homepage') homepage = false;\n @Input('isselection') selection = false;\n @Input('isummary') summary = false;\n @Input('gohome') gohome = false;\n @Input('goback') goback = false;\n @Input('overrideBack') overrideBack = false;\n @Input('color') colorText = 'title-text';\n @Input('color-sub') colorTextSub = 'subtitle-text';\n @Input('includeCustomer') includeCustomer: boolean = true;\n\n customer;\n\n\n @Output(\"back\") backEmitter: EventEmitter;\n\n constructor(private navigation: NavigationService,\n private flowControl: FlowcontrolService,\n private customerService: CustomerService) {\n this.backEmitter = new EventEmitter();\n }\n\n ngOnInit(): void {\n this.flowControl.getCustomer().subscribe(customerData => {\n\n if (customerData) {\n this.customer = `${customerData.name} ${customerData.lastname}`;\n } else {\n this.customer = null;\n }\n })\n }\n\n onNavigate(path?: string): void {\n if (path) {\n this.navigation.goTo(path);\n } else {\n if (this.overrideBack) {\n this.backEmitter.emit();\n } else {\n this.navigation.goBack();\n }\n }\n }\n\n selectText(): string {\n return this.summary ? 'Go home' : 'Go back';\n }\n\n\n terminateCustomer() {\n this.flowControl.setCustomer(null);\n this.navigation.goTo(\"homepage\");\n }\n}\n","
\n \n
\n \n \n Go Back\n \n Go Home\n
\n\n
\n

\n On behalf of {{ customer }}\n |\n \n End session\n

\n
\n
\n\n \n {{ headerString }}\n \n\n
\n \n
\n\n","import {\n Component,\n OnInit,\n HostListener,\n OnDestroy,\n NgZone,\n} from '@angular/core';\nimport { MessagingService } from '../shared/modals/messaging.service';\nimport { FlowcontrolService } from '../services/flowcontrol.service';\nimport { NavigationService } from '../services/navigation.service';\nimport { map, switchMap, take, tap } from 'rxjs/operators';\nimport { PackagesService } from '../services/packages.service';\nimport { CustomerService } from '../services/customer.service';\nimport { CartService } from '../digitalvenue/services/cart.service';\nimport { BsModalService } from 'ngx-bootstrap/modal';\nimport { AssignPersonModalComponent } from '../assign-person-modal/assign-person-modal.component';\nimport { UserService } from '../services';\nimport { Subscription } from 'rxjs';\n\nenum PAYMENT_METHOD {\n CARD = 0,\n INSTALLMENT = 1,\n INVOICE = 2,\n NONE = 3,\n}\n\n@Component({\n selector: 'app-summary',\n templateUrl: './summary.component.html',\n styleUrls: ['./summary.component.scss'],\n})\nexport class SummaryComponent implements OnInit, OnDestroy {\n // Instance variables\n cart;\n\n // State\n acceptedTerms: boolean;\n packageAcquirements;\n subtotal: number;\n total: number;\n showLoader: boolean;\n customer;\n\n // package translation\n packagesRelations = {};\n selectedTypeOption = {};\n changedIdHash = {};\n innerWidth: number;\n\n subscriptionList: Array = [];\n\n constructor(\n private navigation: NavigationService,\n private customerService: CustomerService,\n private packagesService: PackagesService,\n private cartService: CartService,\n private bsModalService: BsModalService,\n private flowControl: FlowcontrolService,\n private messageService: MessagingService,\n private userService: UserService,\n private zone: NgZone\n ) {\n this.packageAcquirements = [];\n this.showLoader = false;\n }\n\n ngOnDestroy(): void {\n this.subscriptionList.forEach((sub) => sub.unsubscribe());\n }\n\n logger(e): void {\n // console.log(e);\n }\n\n ngOnInit(): void {\n this.innerWidth = window.innerWidth;\n this.flowControl.getCustomer().subscribe((customer) => {\n this.customer = customer;\n });\n\n const packages$ = this.packagesService.getPackages();\n\n const subs = packages$\n .pipe(\n switchMap((packages) => {\n return this.cartService.cart$.pipe(\n tap((cart) => (this.cart = cart)),\n map((cart) => {\n // console.log('La cart a procesar es', cart);\n\n return Object.values(cart).map((cartItem: any) => {\n const packageDetails = packages.packages[cartItem.packageId];\n // console.log(packageDetails);\n let pkgName = packageDetails.internalName.split('-')[0];\n if (pkgName.includes('Non')) {\n pkgName = pkgName.split('Non')[0];\n } else if (pkgName.includes('Distributable Ticket')) {\n pkgName = pkgName.split('Distributable Ticket')[0];\n }\n pkgName = pkgName.trim();\n if (\n packages.relations[pkgName] &&\n packages.relations[pkgName].length > 1\n ) {\n this.packagesRelations[pkgName] = packages.relations[pkgName];\n this.selectedTypeOption[pkgName] = packageDetails.id;\n }\n const categories = packageDetails.seasonTicket.seasonTicketItems[0].categories;\n const categoriesList = Object.values(categories);\n const seats = [];\n let totalAmount = 0;\n\n cartItem.seats.forEach((seatData) => {\n const categoryId = seatData.audienceSubCatId || cartItem.audienceSubCatId;\n const amount = categories[categoryId].price?.amount;\n const seat = {\n area: seatData.dvm.section_id.split('_')[1],\n row: seatData.row,\n seat: seatData.number,\n id: seatData.dvm.seat_id,\n physicalSeatId: seatData.physicalSeatId,\n categoryId,\n amount,\n };\n seats.push(seat);\n totalAmount += amount;\n });\n\n return {\n packageId: cartItem.packageId,\n packageName: cartItem.packageName,\n audienceSubCatId: cartItem.audienceSubCatId,\n audienceSubCatName: cartItem.audienceSubCatName,\n seatCategoryId: cartItem.seats[0].seatCategoryId,\n categories: categoriesList,\n shortName: pkgName,\n seats,\n totalAmount,\n };\n });\n })\n );\n })\n )\n .subscribe((packageAcquirements) => {\n this.packageAcquirements = packageAcquirements;\n this.firstSeatAssignation(this.packageAcquirements);\n // console.log(this.packageAcquirements);\n\n // console.log('packageAcquirements: ', this.packageAcquirements);\n this.subtotal = this.packageAcquirements.reduce(\n (prev, curr) => prev + curr.totalAmount,\n 0\n );\n this.total = this.subtotal;\n });\n this.subscriptionList.push(subs);\n }\n\n addMorePackages(): void {\n this.navigation.goTo('selection/packages');\n }\n\n createOrder(): void {\n if (this.packageAcquirements.length <= 0) {\n return;\n }\n this.showLoader = true;\n\n globalThis.onbeforeunload = this.beforeUnload;\n this.customerService\n .createTransaction(this.changedIdHash)\n .subscribe((response) => {\n this.navigation.goTo('checkout');\n globalThis.onbeforeunload = null;\n });\n }\n\n @HostListener('window:beforeunload', ['$event'])\n private beforeUnload(event): any {\n event.preventDefault();\n event.returnValue =\n 'Are you sure you want to exit? Your order is still processing';\n return event;\n }\n\n removePackage(packageId): void {\n this.cartService.cart$.pipe(take(1)).subscribe((cart) => {\n delete cart[packageId];\n this.cartService.emitCart(cart);\n });\n }\n\n private firstSeatAssignation(packages: Array): void {\n for (const p of packages) {\n // console.log(this.customer);\n p.seats[0].assignedClient = this.customer;\n this.cart[p.packageId].seats[0].assignedClient = this.customer;\n }\n }\n\n public removeAssign(packageId, seat, acquirement): void {\n this.messageService.info(\n 'Remove Assignment',\n `Do you really want to unassign client to this seat`,\n 'Accept',\n () => {\n const cartPackage = this.cart[packageId];\n const packageSeat = cartPackage.seats.find(\n (cartSeat) => cartSeat.physicalSeatId === seat.physicalSeatId\n );\n delete packageSeat.assignedClient;\n delete seat.assignedClient;\n },\n 'Cancel',\n () => {}\n );\n }\n\n assignSeat(packageId, seat, acquirement): void {\n const initialState = {\n businessStep: null,\n };\n const modalRef = this.bsModalService.show(AssignPersonModalComponent, {\n class: 'modal-xl',\n initialState,\n });\n\n modalRef.onHide.subscribe((data) => {\n // console.log('Hemos recibido', data);\n const client = modalRef.content.selectedClient;\n if (client) {\n const error = false;\n // for (const s of this.cart[packageId].seats) {\n // if (\n // s.assignedClient &&\n // s.assignedClient.contactNumber === client.contactNumber\n // ) {\n // error = true;\n // this.messageService.info(\n // 'Duplicated customer',\n // `the client has already been assigned a seat`,\n // 'Accept',\n // () => {},\n // 'Cancel',\n // () => {}\n // );\n // }\n // }\n // console.log(error);\n if (!error) {\n seat.assignedClient = client;\n // console.log('La cart que tenemos guardada es', this.cart);\n const cartPackage = this.cart[packageId];\n const packageSeat = cartPackage.seats.find(\n (cartSeat) => cartSeat.physicalSeatId === seat.physicalSeatId\n );\n packageSeat.assignedClient = client;\n }\n }\n });\n }\n\n handleSeatCategoryChange(acquirement, seat, seatCategoryId): void {\n const packageSeats = this.cart[acquirement.packageId].seats;\n const currentSeat = packageSeats.find((s) => s.dvm.seat_id === seat.id);\n currentSeat.audienceSubCatId = seatCategoryId;\n\n this.cartService.emitCart(this.cart);\n }\n\n checkAllSeatsAssigned(): boolean {\n let response = true;\n if (this.packageAcquirements) {\n for (const c of this.packageAcquirements) {\n for (const s of c.seats) {\n if (!s.assignedClient) {\n response = false;\n }\n }\n }\n } else {\n response = false;\n }\n return response;\n }\n\n changePackageType(event: any, pkgName: string): void {\n // console.log('old -> ', this.packageAcquirements);\n const cartClone = JSON.parse(JSON.stringify(this.packageAcquirements));\n for (const p of cartClone) {\n if (p.packageName === pkgName) {\n this.changedIdHash[p.packageId] = event.target.value;\n // p.packageId = event.target.value;\n }\n }\n this.packageAcquirements = cartClone;\n }\n\n // this.packageAcquirements.map(packageAdquirement => {\n\n // const a = {\n // \"packageId\": packageAdquirement.id,\n // \"customer\": 101537194568,\n // \"audienceSubCatId\": 101536524239,\n // \"seatCategoryId\": \"101536520275\",\n // \"seatList\": [\"101476737131\"]\n // }\n\n // })\n}\n","
\n \n \n\n
\n
\n
\n
\n
\n
\n {{ customer.name }} {{ customer.lastname }}\n
\n
\n
\n
{{ customer.address.line1 }}
\n
{{ customer.address.line2 }}
\n
{{ customer.address.line3 }}
\n
{{ customer.address.town }}
\n
{{ customer.address.zipCode }}
\n
\n
\n
{{ customer.birthdate }}
\n
{{ customer.email }}
\n
{{ customer.phonePrefix }} {{ customer.phone }}
\n
\n
\n
\n\n
\n
Client Reference Number:
\n
{{ customer.contactNumber }}
\n
\n
\n\n
\n
\n
\n \n
\n

\n Package: {{ acquirement.packageName }}\n

\n \n
\n
\n Type:\n
\n \n \n {{ item.type }}\n \n \n
\n \n Term Length:{{\n acquirement.audienceSubCatName\n }}\n \n \n Remove\n \n
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n {{ acquirement.pacakgeId }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ availableCategory.name }}\n \n \n \n \n \n
BlockRowSeat NumberNet PriceBusinessAssign Seat
{{ seatData.area }}{{ seatData.row }}{{ seatData.seat }}{{ seatData.amount / 1.2 | currency: 'GBP' }}\n \n -\n {{ seatData.assignedClient.structure.name }}\n \n \n {{ seatData.assignedClient.contactNumber }}\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 \n \n \n \n
\n
\n
\n
\n

\n Subtotal: {{ subtotal / 1.2 | currency: 'GBP' }}\n

\n

\n Total ( + VAT ): {{ total | currency: 'GBP' }}\n

\n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n
\n
\n
\n \n Select more packages\n \n \n Confirm seats\n \n
\n
\n\n
\n \n
Your order is being processed. Do not close this page.
\n
\n \n\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\nimport { APP_CONFIG } from '../configuration/ticket-management-portal-configuration';\nimport { TicketManagementPortalConfiguration } from '../configuration/ticket-management-portal-configuration.model';\nimport { UserService } from '../services';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { MessagingService } from '../shared/modals/messaging.service';\nimport { FlowControlService } from '../digitalvenue/services/flow-control.service';\nimport { ModalsService } from '../shared/modals/modals.service';\n\n@Component({\n selector: 'app-topbar',\n templateUrl: './topbar.component.html',\n styleUrls: ['./topbar.component.scss'],\n})\nexport class TopbarComponent implements OnInit {\n user_name: string;\n\n constructor(\n @Inject(APP_CONFIG) public app_config: TicketManagementPortalConfiguration,\n public router: Router,\n private userService: UserService\n ) {}\n\n ngOnInit(): void {\n this.userService.getUser().subscribe((user) => {\n if (user) {\n this.user_name = user.first_name + ' ' + user.last_name;\n } else {\n this.user_name = null;\n }\n });\n }\n\n logout(): void {\n this.userService.logout().subscribe(() => {\n this.router.navigate(['/login']);\n });\n }\n\n public isMobile(): boolean {\n if (\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\n navigator.userAgent\n )\n ) {\n return true;\n } else {\n return false;\n }\n }\n}\n","
\n
\n\n \n\n
\n \"The\n
\n\n
\n
\n

Welcome, {{user_name}} | Log Out

\n
\n \"Fulham\n
\n
\n
\n","import {\n Component,\n OnDestroy,\n OnInit,\n EventEmitter,\n Output,\n Inject,\n} from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApiService } from '../services/api.service';\nimport { PackagesService } from '../services/packages.service';\nimport { FlowcontrolService } from '../services/flowcontrol.service';\nimport { NavigationService } from '../services/navigation.service';\nimport { CartService } from '../digitalvenue/services/cart.service';\nimport { map } from 'rxjs/operators';\nimport { Subscription } from 'rxjs';\nimport { DigitalvenueConfiguration } from '../digitalvenue/digitalvenue-configuration.model';\nimport { DVMConfiguration } from '../digitalvenue/dvmconfiguration.model';\nimport {\n APP_CONFIG,\n DVM_CONFIG,\n} from '../digitalvenue/digitalvenue.configuration';\nimport { DVMService } from '../digitalvenue/services/dvm.service';\n\n@Component({\n selector: 'app-user-selection',\n templateUrl: './user-selection.component.html',\n styleUrls: ['./user-selection.component.scss'],\n})\nexport class UserSelectionComponent implements OnInit, OnDestroy {\n // State\n dvmSelectedSeats: Array;\n /* tslint:disable */\n categories: Object;\n categoryID; // Displayed and selected on the view\n categoryNames: Object[];\n\n // @Output('selectedSeats') selectedSeatsEmitter = new EventEmitter();\n\n // Instance\n currentPackage;\n // Cart subscription\n cartSubscription: Subscription;\n @Output() termLenghtQty = new EventEmitter();\n\n constructor(\n @Inject(APP_CONFIG) public dvConfig: DigitalvenueConfiguration,\n @Inject(DVM_CONFIG) public dvmConfig: DVMConfiguration,\n private navigation: NavigationService,\n private cartService: CartService,\n private apiService: ApiService,\n private flowControl: FlowcontrolService,\n private packagesService: PackagesService,\n private routing: Router,\n public dvmService: DVMService\n ) {\n this.dvmSelectedSeats = [];\n this.categoryNames = [];\n }\n\n ngOnInit(): void {\n this.packagesService\n .getPackageDetails(this.flowControl.currentPackageID)\n .subscribe((data) => {\n const categoriesArray = Object.values(\n data.seasonTicket.seasonTicketItems[0].categories\n );\n this.categories = categoriesArray.reduce((prev: any, curr: any) => {\n prev[curr.id] = {\n id: curr.id,\n name: curr.name,\n amount: curr.price.amountWithoutVat,\n minQty: curr.price.minQty,\n };\n this.categoryNames.push({ id: curr.id, name: curr.name }); // Aprovechamos el bucle para rellenar los nombres\n return prev;\n }, {});\n this.categoryID = this.categoryNames[0]['id'];\n // Seteamos la quantity de la primera categoria (sera la que se ponga primera en el selector)\n // para sincronizar bien con el resto de componentes\n const { minQty } = this.categories[this.categoryID];\n this.termLenghtQty.emit(minQty);\n this.categoryNames.sort((a: any, b: any) => (a.name > b.name ? 1 : -1));\n });\n\n this.cartSubscription = this.cartService.cart$\n .pipe(map((cart) => cart[this.flowControl.currentPackageID]))\n .subscribe((packageCart) => {\n if (packageCart) {\n this.currentPackage = packageCart;\n if (\n !this.currentPackage.audienceSubCatId ||\n !this.currentPackage.audienceSubCatName\n ) {\n this.currentPackage.audienceSubCatId = this.categoryNames[0]['id'];\n this.currentPackage.audienceSubCatName =\n this.categoryNames[0]['name'];\n }\n const { seats } = this.currentPackage;\n if (seats) {\n this.dvmSelectedSeats = seats.map((seat) => seat.dvm.seat_id);\n\n if (\n this.currentPackage.packageId === '10228599874597' || // Matchday Plus (Standard) Distributable Ticket\n this.currentPackage.packageId === '10228603284752' || // Matchday Plus (Standard) Non-Distributable Ticket\n this.currentPackage.packageId === '10228599874598' || // Matchday Plus (Premium) Distributable Ticket\n this.currentPackage.packageId === '10228603284751' // Matchday Plus (Premium) Non-Distributable Ticket\n ) {\n this.currentPackage.seats.forEach((seat) => {\n seat.audienceSubCatId = this.categoryNames[0]['id'];\n seat.audienceSubCatName = this.categoryNames[0]['name'];\n });\n }\n }\n }\n });\n }\n\n onTermChange(categoryID: string): void {\n this.categoryID = categoryID;\n const { minQty } = this.categories[categoryID];\n if (\n this.currentPackage.packageId === '10228599874597' || // Matchday Plus (Standard) Distributable Ticket\n this.currentPackage.packageId === '10228603284752' || // Matchday Plus (Standard) Non-Distributable Ticket\n this.currentPackage.packageId === '10228599874598' || // Matchday Plus (Premium) Distributable Ticket\n this.currentPackage.packageId === '10228603284751' // Matchday Plus (Premium) Non-Distributable Ticket\n ) {\n this.currentPackage.seats.forEach((seat) => {\n seat.audienceSubCatId = this.categories[categoryID].id;\n seat.audienceSubCatName = this.categories[categoryID].name;\n });\n }\n this.termLenghtQty.emit(minQty);\n this.currentPackage.audienceSubCatId = this.categories[categoryID].id;\n this.currentPackage.audienceSubCatName = this.categories[categoryID].name;\n }\n\n public open3dView(seat: string): void {\n this.dvmService.load3DView(seat);\n }\n\n ngOnDestroy(): void {\n this.cartSubscription.unsubscribe();\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
BlockRowSeat NumberPrice
{{ seat.split('-')[0].replace('S_', '') }}{{ seat.split('-')[1] }}{{ seat.split('-')[2] }}{{ categories[categoryID].amount | currency: 'GBP' }}360ยบ
\n \n \n \n \n {{ category.name }}\n \n \n
\n
\n
\n\n \n
\n
\n Please select one or more seats in the viewer to continue.\n
\n
\n
\n\n","export const environment = {\n production: false,\n apiUrl: 'https://dev-fulhamfc.service.3ddigitalvenue.com',\n routes: true,\n TPV: 'https://test.ipg-online.com/connect/gateway/processing',\n analytics: 'G-FY74M2CEGL',\n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":"webpack:///"}