{"version":3,"sources":["sk.js","src/app/color-reduction.worker.ts","src/app/utils/converter.ts","src/app/utils/design-util.ts","src/app/model/label/dimension.ts","src/app/model/country.ts","src/app/component/label-type/label-type.component.ts","src/app/component/label-type/label-type.component.html","src/assets/data/pantone-color-names.ts","src/app/component/graphics/graphics.component.ts","src/app/component/graphics/graphics.component.html","src/app/model/palette.ts","src/app/component/dialogs/question-dialog/question-dialog.component.ts","src/app/component/dialogs/question-dialog/question-dialog.component.html","jsdom (ignored)","jsdom/lib/jsdom/living/generated/utils (ignored)","jsdom/lib/jsdom/utils (ignored)","src/assets/data/label-types.ts","src/app/component/uam/registration/registration.component.ts","src/app/component/uam/registration/registration.component.html","src/app/model/userFile.ts","src/app/model/canvas-element.ts","src/app/service/locale.service.ts","src/app/model/enum/subject-type.ts","src/app/model/enum/design-name.ts","src/app/model/order/product.ts","src/app/component/design/design.component.ts","src/app/component/design/design.component.html","src/app/utils/string-util.ts","src/app/model/alert.ts","src/environments/environment.ts","src/app/model/errorMessage.ts","src/app/model/canvas.ts","src/app/utils/generator.ts","src/app/model/enum/canvas-object-type.ts","src/app/model/enum/printed-label-colors.ts","src/app/component/dialogs/confirmation-dialog/confirmation-dialog.component.ts","src/app/component/dialogs/confirmation-dialog/confirmation-dialog.component.html","src/app/component/order/order-detail/order-detail.component.ts","src/app/component/order/order-detail/order-detail.component.html","src/app/component/status-bar/status-bar.component.ts","src/app/component/status-bar/status-bar.component.html","src/app/component/uam/login/login.component.ts","src/app/component/uam/login/login.component.html","src/app/component/order/order.component.ts","src/app/component/order/order.component.html","src/assets/data/label-material.ts","src/app/component/ajax-loader/ajax-loader.component.ts","src/app/component/ajax-loader/ajax-loader.component.html","src/app/model/enum/attachment-type.ts","src/app/component/dialogs/color-density/color-density.component.ts","src/app/component/dialogs/color-density/color-density.component.html","src/app/model/enum/font-families.ts","src/app/component/version/version.component.ts","src/app/component/version/version.component.html","src/app/model/order/address.ts","src/app/model/order/order.ts","src/assets/data/color-settings.ts","src/app/service/ajax-loader.service.ts","src/app/model/label/type.ts","src/app/utils/dialog.ts","src/app/service/address.service.ts","src/app/model/toolbar.ts","src/app/service/color.service.ts","src/app/component/inspector/inspector-label/inspector-label.component.ts","src/app/component/inspector/inspector-label/inspector-label.component.html","src/app/component/toolbox/toolbox.component.ts","src/app/component/toolbox/toolbox.component.html","src/app/app.component.ts","src/app/app.component.html","src/app/model/used-color.ts","src/app/service/sk-intl.service.ts","src/app/model/label/material.ts","src/app/component/dialogs/alert/alert.component.ts","src/app/component/dialogs/alert/alert.component.html","src/app/component/uam/activation/activation.component.ts","src/app/component/uam/activation/activation.component.html","src/app/component/editor/editor.component.ts","src/app/component/editor/editor.component.html","src/app/service/auth-guard.service.ts","src/app/component/summary/summary.component.ts","src/app/component/summary/summary.component.html","src/app/component/inspector/inspector-graphics/inspector-graphics.component.ts","src/app/component/inspector/inspector-graphics/inspector-graphics.component.html","src/app/model/event.ts","src/app/model/orderStatus.ts","src/app/model/customHeader.ts","src/app/app.module.ts","src/app/model/label/design.ts","src/app/interceptor/header-interceptor.ts","src/app/model/color-setting.ts","src/app/model/enum/category.ts","src/app/component/dialogs/password-reset/password-reset.component.ts","src/app/component/dialogs/password-reset/password-reset.component.html","src/app/interceptor/ajax-loader-interceptor.service.ts","src/app/component/order/order-history/order-history.component.ts","src/app/component/order/order-history/order-history.component.html","src/app/utils/only-number.directive.ts","src/app/model/used-colors-data.ts","src/app/service/alert.service.ts","src/app/component/inspector/inspector.component.ts","src/app/component/inspector/inspector.component.html","src/assets/data/label-designs.ts","src/app/component/dialogs/home/home.component.ts","src/app/component/dialogs/home/home.component.html","src/app/service/order.service.ts","src/app/component/product-list/product-list.component.ts","src/app/component/product-list/product-list.component.html","src/app/model/order/order-product.ts","src/app/component/uam/dashboard/dashboard.component.ts","src/app/component/uam/dashboard/dashboard.component.html","src/app/service/price-calculation.service.ts","src/app/component/inspector/inspector-text/inspector-text.component.ts","src/app/component/inspector/inspector-text/inspector-text.component.html","src/app/model/paymentType.ts","src/app/component/dialogs/label-quantity/label-quantity-modal.component.ts","src/app/component/dialogs/label-quantity/label-quantity-modal.component.html","src/app/component/uam/update-password/update-password.component.ts","src/app/component/uam/update-password/update-password.component.html","src/app/component/layout-order/layout-order.component.ts","src/app/component/layout-order/layout-order.component.html","src/app/component/order/order-proces-detail/order-process-detail.component.ts","src/app/component/order/order-proces-detail/order-process-detail.component.html","src/app/component/uam/account/account.component.ts","src/app/component/uam/account/account.component.html","src/app/service/language.service.ts","src/app/component/delivery-details/delivery-details.component.ts","src/app/component/delivery-details/delivery-details.component.html","src/app/model/step.ts","src/app/model/color-rule.ts","src/app/model/enum/material-name.ts","src/app/app-routing.module.ts","src/app/model/deliveryType.ts","src/app/model/enum/alert-type.ts","src/app/service/product-image.service.ts","src/app/service/account.service.ts","src/app/utils/input-value-step.directive.ts","src/main.ts","$_lazy_route_resource lazy namespace object"],"names":[],"mappings":";AAAA,aAAa,kBAAkB,wBAAwB,sCAAsC,sDAAsD,kBAAkB,mBAAmB,4EAA4E,yBAAyB,iDAAiD,qBAAqB,SAAS,s7BAAs7B,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,qBAAqB,iIAAiI,iPAAiP,qiBAAqiB,yH;;;;;;;;;;ACA/tE,iBAAiB,qBAAuB,gB;;;;;;;;;;;;ACAxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqF;AAChC;AACL;AACL;AACI;AACW;AACD;AACa;AAE/D,MAAM,SAAS;IAEpB;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,UAAe;QAClC,IAAI,OAAO,UAAU,IAAI,QAAQ,EAAE;YACjC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,GAAG,qGAAmB,CAAC,UAAU,CAAC,CAAC;YACrD,OAAO,IAAI,+EAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9B;QACD,IAAI,UAAU,CAAC,WAAW,KAAK,KAAK,EAAE;YACpC,OAAO,IAAI,+EAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/D;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,aAAa,CAAC,OAAY;QAC/B,IAAI,UAAU,CAAC;QACf,IAAI,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;;YAEzC,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,kCAAkC;QAClC,IAAI,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAEnE,iDAAiD;QACjD,IAAI,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,OAAO,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,KAAY;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAClE,cAAc,CAAC,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC/D,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YACpD,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO;YAClC,IAAI,OAAO,CAAC,UAAU,IAAI,kEAAU,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,EAAE;gBACzD,OAAO,CAAC,UAAU,GAAG,kEAAU,CAAC,MAAM,CAAC;aACxC;iBAAM,IAAI,OAAO,CAAC,UAAU,IAAI,kEAAU,CAAC,aAAa,IAAI,OAAO,CAAC,UAAU,IAAI,kEAAU,CAAC,cAAc,EAAE;gBAC5G,IAAI,OAAO,CAAC,GAAG,EAAE;oBACf,OAAO,CAAC,UAAU,GAAG,kEAAU,CAAC,MAAM,CAAC;iBACxC;qBAAM;oBACL,OAAO,CAAC,UAAU,GAAG,kEAAU,CAAC,KAAK,CAAC;iBACvC;aACF;QACH,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,KAAU;QAC/B,IAAI,cAAc,GAAG,IAAI,wDAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAChE,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACpC,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,GAAG,IAAI,4DAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;YACnC,IAAI,YAAY,GAAG,IAAI,uEAAY,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YAChC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/B,cAAc,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;YAE7C,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;YACpB,IAAI,OAAO,CAAC,IAAI,IAAI,6DAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,kEAAU,CAAC,KAAK,EAAE;gBAC9E,OAAO,CAAC,UAAU,GAAG,kEAAU,CAAC,aAAa,CAAC;aAC/C;iBAAM,IAAI,OAAO,CAAC,UAAU,IAAI,kEAAU,CAAC,MAAM,EAAE;gBAClD,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;gBACnB,IAAI,OAAO,CAAC,IAAI,IAAI,6DAAQ,CAAC,KAAK,EAAE;oBAClC,OAAO,CAAC,UAAU,GAAG,kEAAU,CAAC,KAAK,CAAC;iBACvC;qBAAM,IAAI,OAAO,CAAC,IAAI,IAAI,6DAAQ,CAAC,OAAO,EAAE;oBAC3C,OAAO,CAAC,UAAU,GAAG,kEAAU,CAAC,aAAa,CAAC;iBAC/C;aACF;YACD,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,SAAS,EAAE;gBAC5C,cAAc,CAAC,aAAa,EAAE,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,GAAG,CAAC;QAC7B,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,+EAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,YAAoB;QAClC,IAAI,YAAY,KAAK,sEAAY,CAAC,KAAK,EAAE;YACvC,OAAO,OAAO,CAAC;SAChB;aAAM,IAAI,YAAY,KAAK,sEAAY,CAAC,KAAK,EAAE;YAC9C,OAAO,OAAO,CAAC;SAChB;QACD,OAAO,sEAAY,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,iBAAyB;QAC5C,QAAQ,iBAAiB,EAAE;YACzB,KAAK,SAAS;gBACZ,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,MAAM,CAAC;YAChB,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC;YAClB,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS;gBACZ,OAAO,OAAO,CAAC;YACjB,KAAK,SAAS;gBACZ,OAAO,KAAK,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,QAAQ,CAAC;SACnB;QAED,OAAO,mFAAkB,CAAC,IAAI,CAAC;IACjC,CAAC;CACF;;;;;;;;;;;;;AC7ID;AAAA;AAAA;AAAA;AAAA;AAAgD;AACa;AACR;AAE9C,MAAM,UAAU;IAErB,MAAM,CAAC,SAAS,CAAC,QAAuB,EAAE,UAAyB,EAAE,QAAuB,CAAC,EAAE,SAAwB,CAAC;QACtH,IAAI,QAAQ,KAAK,6DAAQ,CAAC,KAAK,EAAE;YAC/B,OAAO,uEAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC7B,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU;YAC9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACP;aAAM,IAAI,QAAQ,KAAK,6DAAQ,CAAC,OAAO,EAAE;YACxC,IAAI,KAAK,GAAG,MAAM,EAAE;gBAClB,OAAO,uEAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC7B,OAAO,CAAC,CAAC,IAAI,KAAK,kEAAU,CAAC,aAAa;gBAC5C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACP;iBAAM;gBACL,OAAO,uEAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC7B,OAAO,CAAC,CAAC,IAAI,KAAK,kEAAU,CAAC,cAAc;gBAC7C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACP;SACF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CAEF;;;;;;;;;;;;;AC1BD;AAAA;AAAO,MAAM,SAAS;IACpB,YAAY,GAAW,EAAE,GAAW,EAAE,IAAY,EAAE,WAAmB;QACrE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAOD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;CAEF;;;;;;;;;;;;;AC7CD;AAAA;AAAO,MAAM,OAAO;IAKlB,YAAY,WAAmB,EAAE,WAAmB;QAClD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;CAEF;;;;;;;;;;;;;;;;;;;;;;;;;;AC1B+C;AACY;AACpB;AACC;AAIC;;;;;;;;ICIpC,2EACM;IAAA,+EACqC;IAAA,+DAAI;IAAA,4DAAW;IACxD,4DAAO;;;IAFO,0DAAuC;IAAvC,mGAAuC;;;;IAX3D,yEACE;IAAA,2EAEA;IADO,uUAAiC;IADxC,4DAEA;IAAA,2EACE;IAAA,yEACE;IAAA,uEAE+B;IAAA,gEACjC;IAAA,4DAAM;IACN,0EAA+B;IAAA,uDAAyB;IAAA,4DAAO;IAC/D,sHAGS;IACX,4DAAQ;IACV,4DAAM;;;IAdG,0DAAuB;IAAvB,4FAAuB;IAAC,oFAAwB;IAEhD,0DAAwB;IAAxB,6FAAwB;IAEH,0DAAiD;IAAjD,4LAAiD;IAC9C,qGAAgC;IACtD,6FAAwB;IAD+B,uFAA8B;IAG7D,0DAAyB;IAAzB,yFAAyB;IACjC,0DAA8B;IAA9B,6FAA8B;;ADGpD,MAAM,kBAAkB;IAM7B,YAA8B,QAAkB,EAC5B,YAA0B,EAC1B,SAAoB;QADpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,cAAS,GAAT,SAAS,CAAW;QANhC,gBAAW,GAAgB,mEAAU,CAAC;QAO5C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEK,eAAe,CAAC,CAAM;;YAC1B,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE;gBACxE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;aACvE;iBAAM;gBACL,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE;oBAC9H,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;iBACxE;qBAAM;oBACL,MAAM,OAAO,GAAG,wOAAmC,CAAC;oBACpD,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,2CAAgC,EAAC,EAAE,EAAC,KAAK,EAAE,oCAA6B,EAAC,EAAE,EAAC,KAAK,EAAE,cAAqB,EAAC,CAAC,CAAC,CAAC;oBACrL,IAAI,cAAc,IAAI,CAAC,EAAE;wBACvB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;qBACnC;oBACD,IAAI,cAAc,IAAI,CAAC,EAAE;wBACvB,oBAAoB;qBACrB;oBACD,kCAAkC;oBAClC,IAAI,cAAc,GAAG,CAAC,EAAE;wBACtB,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC/C,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;qBACvE;iBACF;aACF;QACH,CAAC;KAAA;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;;oFAxCU,kBAAkB,kEAMT,wDAAQ;kGANjB,kBAAkB;QCd/B,yEACE;QAAA,+GAeM;QACR,4DAAM;;QAhBuB,0DAAa;QAAb,mFAAa;;6FDa7B,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;sCAOyC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;;;;;;;;;;;;;;AEpB9B;AAAA;AAAA;AAA6E;AAEtE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAiB;IACvD,CAAC,uFAAkB,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAC3C,CAAC,uFAAkB,CAAC,IAAI,EAAE,eAAe,CAAC;IAC1C,CAAC,uFAAkB,CAAC,MAAM,EAAE,eAAe,CAAC;IAC5C,CAAC,uFAAkB,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC1C,CAAC,uFAAkB,CAAC,KAAK,EAAG,eAAe,CAAC;IAC5C,CAAC,uFAAkB,CAAC,MAAM,EAAE,kBAAkB,CAAC;IAC/C,CAAC,uFAAkB,CAAC,IAAI,EAAG,eAAe,CAAC;IAC3C,CAAC,uFAAkB,CAAC,KAAK,EAAE,EAAE,CAAC;IAC9B,CAAC,uFAAkB,CAAC,KAAK,EAAG,EAAE,CAAC;IAC/B,CAAC,uFAAkB,CAAC,IAAI,EAAG,EAAE,CAAC;IAC9B,CAAC,uFAAkB,CAAC,MAAM,EAAG,EAAE,CAAC;IAChC,CAAC,uFAAkB,CAAC,MAAM,EAAG,EAAE,CAAC;CACjC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACf0F;AACpD;AACD;AAEE;AAGsB;;;;;;;;;;;;ICM5D,+EAAmG;IAAnG,2DAAmG;IAAK,4DAAY;;;IACpH,+EAA4F;IAA5F,2DAA4F;IAAK,4DAAY;;;IAF/G,sEACE;IAAA,iIAAoH;IACpH,iIAA6G;IAC/G,4DAAM;;;IAFqB,0DAAuC;IAAvC,sGAAuC;IACvC,0DAAuC;IAAvC,sGAAuC;;;;IAIhE,0EAAkH;IAA1C,6TAAS,yCAA+B,IAAC;IAAC,qEAEhH;IAAA,0EACE;IAAA,6EAA2C;IAA3C,2DAA2C;IAAM,4DAAS;IAC5D,4DAAM;IACR,4DAAM;;;IAL4B,2EAAe;IAC/C,0DAAiB;IAAjB,0IAAiB;;;IAKnB,sEAA2D;IAA3D,2DAA2D;IAAM,4DAAM;;ADTpE,MAAM,iBAAiB;IAiB5B,YAA8B,QAAkB,EAC5B,SAAoB,EACpB,YAA0B,EAC1B,mBAA+C,EAC/C,iBAAoC;QAHpC,cAAS,GAAT,SAAS,CAAW;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,sBAAiB,GAAjB,iBAAiB,CAAmB;QAnBjD,qBAAgB,GAAW,CAAC,CAAC;QAG7B,oBAAe,GAAG,IAAI,0DAAY,EAAE,CAAC;QAGrC,qBAAgB,GAAG,IAAI,0DAAY,EAAE,CAAC;QAGrC,mBAAc,GAAO,EAAE,CAAC;QACxB,YAAO,GAAuB,EAAE,CAAC;QAUvC,IAAI,CAAC,MAAM,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;QACpC,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAM,EAAE,EAAE;YAC7D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE;YAC5D,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE;YACzD,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,mBAAmB;YACnB,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;YAC7D,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,0EAAc,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBAC9E,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;oBACrC,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;oBAC1B,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;oBACzB,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI;oBAClC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;oBAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;wBACnB,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,MAAgB,CAAC;oBACtC,CAAC;oBACD,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACtC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEK,QAAQ,CAAC,KAAU;;YACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAClC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;gBACzC,OAAO;aACR;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/B,IAAI,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC7D,IAAI,MAAM,KAAI,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,odAA2B,CAAC,KAAI,CAAC,MAAM,EAAE;oBACrF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;wBAC/B,+FAA+F;wBAC/F,IAAI,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,0EAAc,CAAC,OAAO,CAAC,CAAC;wBAEtF,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;wBAC1B,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACvC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;wBACd,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE;4BACnB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBACtC,CAAC;wBAED,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;wBAChC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;4BACnB,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,MAAgB,CAAC;wBACtC,CAAC;wBACD,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;wBAE1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACzB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;oBAChC,CAAC,CAAC,CAAC;iBACJ;aACF;QACH,CAAC;KAAA;IAED;;;OAGG;IACH,WAAW,CAAC,EAAU;QACpB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,EAAE,EAAE,0EAAc,CAAC,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,eAAe;QACb,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,0EAAc,CAAC,OAAO,CAAC,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;IAChE,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;IAC1E,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,kBAAkB,CAAC;IACvE,CAAC;IAED,IAAI,aAAa,CAAC,KAAS;QACzB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;;kFA3HU,iBAAiB,kEAiBR,wDAAQ;iGAjBjB,iBAAiB;;;;;;;;;;iBCVY,sBAAM;;;;;;iBAIE,sDAA4C;;;;;;iBACnD,qEAA2C;;;;;;iBAMxD,uBAAM;;;;;;iBAHmE,gCAAK;;;;;;kBACZ,wDAAK;;;;;;kBAOlD,cAAM;;;;;;kBAGM,yDAAM;;QAxBrE,yEACE;QAAA,kFAIE;QAJmE,uJAAU,oBAAgB,IAAC;QAI9F,qFAAsC;QAAtC,0DAAsC;QAAM,4DAAqB;QACnE,4DAAe;QACf,gEACA;QAAA,sEACE;QAAA,yEAA8C;QAA9C,0DAA8C;QAA4C,4DAAM;QAChG,yEAAuC;QAAvC,0DAAuC;QAA2C,4DAAM;QAC1F,4DAAM;QACN,+GAGM;QACN,sEAA4B;QAA5B,2DAA4B;QAAM,4DAAK;QACvC,6EACE;QAAA,gHAKM;QACN,gHAAuE;QACzE,4DAAM;QACR,4DAAM;;QAzB6C,0DAAmB;QAAnB,4EAAmB;QAQwB,0DAAM;QAAN,+EAAM;QAAN,4DAAM;QACd,0DAAM;QAAN,4EAAM;QAAN,4DAAM;QAE5D,0DAAqB;QAArB,sFAAqB;QAM1B,0DAAS;QAAT,+EAAS;QAM1B,0DAAyB;QAAzB,yFAAyB;;6FDTtB,iBAAiB;cAL7B,uDAAS;eAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,WAAW,EAAE,2BAA2B;gBACxC,SAAS,EAAE,CAAC,0BAA0B,CAAC;aACxC;sCAkByC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;2WAZrB,eAAe;kBADrB,oDAAM;YAIA,gBAAgB;kBADtB,oDAAM;YAQC,SAAS;kBADhB,uDAAS;mBAAC,WAAW;;;;;;;;;;;;;;AE7BxB;AAAA;AAAO,MAAM,OAAO;IAIlB,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAH/B,YAAO,GAAG,KAAK,CAAC;QAChB,aAAQ,GAAG,IAAI,CAAC;IAGhB,CAAC;CACF;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAwD;AACe;;;;;;ICCrE,4EAAuG;IAA1B,6VAAyB;IAAC,uDAAgB;IAAA,4DAAS;;;IAAzB,0DAAgB;IAAhB,gFAAgB;;ADMlH,MAAM,uBAAuB;IAElC,YAAoB,SAAgD,EACvB,IAAS;QADlC,cAAS,GAAT,SAAS,CAAuC;QACvB,SAAI,GAAJ,IAAI,CAAK;IACtD,CAAC;IAED,QAAQ;IACR,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,CAAC;IAEM,YAAY,CAAC,cAAsB;QACxC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACvC,CAAC;;8FAnBU,uBAAuB,0MAGd,wEAAe;uGAHxB,uBAAuB;QCRpC,qFAAoB;QAAA,uDAAW;QAAA,4DAAqB;QACpD,wFACE;QAAA,yHAAgI;QAClI,4DAAqB;;QAHD,0DAAW;QAAX,4EAAW;QAEF,0DAAY;QAAZ,gFAAY;;6FDM5B,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;sBAIc,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;AEXrC,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAuD;AACF;AAE9C,MAAM,UAAU,GAAgB;IACnC,IAAI,+DAAS,CAAC,iEAAQ,CAAC,KAAK,EAC1B,eAAe,EACf,2CAA2C,EAC3C,EAAE,EACF,WAAW,CAAC;IACd,IAAI,+DAAS,CAAC,iEAAQ,CAAC,OAAO,EAC5B,iBAAiB,EACjB,iGAAiG,EACjG,wDAAwD;QACxD,uFAAuF;QACvF,sFAAsF;QACtF,oGAAoG;QACpG,kDAAkD;QAClD,oDAAoD;QACpD,8DAA8D,EAC9D,aAAa,CACd;CACF,CACF;;;;;;;;;;;;;ACtBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmE;AAED;AAI7B;AACwB;AAEP;;;;;;;;;;;;;;;ICGxC,4EAAyE;IAAzE,2DAAyE;IAAM,4DAAY;;;IAC3F,4EAA0E;IAA1E,2DAA0E;IACvB,4DAAY;;;IAAZ,0DAAY;IAAZ,oJAAY;IAAZ,4DAAY;;;IAC/D,4EAA0E;IAA1E,2DAA0E;IACvB,4DAAY;;;IAAZ,0DAAY;IAAZ,oJAAY;IAAZ,4DAAY;;;IALjE,4EACE;IAAA,0IAA2F;IAC3F,0IAC+D;IAC/D,0IAC+D;IACjE,4DAAY;;;IALE,0DAAgC;IAAhC,2IAAgC;IAChC,0DAAiC;IAAjC,4IAAiC;IAEjC,0DAAiC;IAAjC,4IAAiC;;;IAQ7C,4EAAuE;IAAvE,2DAAuE;IAAM,4DAAY;;;IACzF,4EAAyE;IAAzE,2DAAyE;IACvB,4DAAY;;;IAAZ,0DAAY;IAAZ,kJAAY;IAAZ,4DAAY;;;IAC9D,4EAAyE;IAAzE,2DAAyE;IACvB,4DAAY;;;IAAZ,0DAAY;IAAZ,kJAAY;IAAZ,4DAAY;;;IALhE,4EACE;IAAA,0IAAyF;IACzF,0IAC8D;IAC9D,0IAC8D;IAChE,4DAAY;;;IALE,0DAA+B;IAA/B,yIAA+B;IAC/B,0DAAgC;IAAhC,0IAAgC;IAEhC,0DAAgC;IAAhC,0IAAgC;;;IAQ5C,4EAAiE;IAAjE,2DAAiE;IAAM,4DAAY;;;IADrF,4EACE;IAAA,0IAAmF;IACrF,4DAAY;;;IADE,0DAA4B;IAA5B,mIAA4B;;;IAOxC,4EAAsE;IAAtE,2DAAsE;IAAM,4DAAY;;;IACxF,4EAAyE;IAAzE,2DAAyE;IACvB,4DAAY;;;IAAZ,0DAAY;IAAZ,kJAAY;IAAZ,4DAAY;;;IAHhE,4EACE;IAAA,0IAAwF;IACxF,0IAC8D;IAChE,4DAAY;;;IAHE,0DAA8B;IAA9B,iGAA8B;IAC9B,0DAAgC;IAAhC,0IAAgC;;;IAQ5C,4EAAoE;IAApE,2DAAoE;IAAM,4DAAY;;;IADxF,4EACE;IAAA,0IAAsF;IACxF,4DAAY;;;IADE,0DAA2B;IAA3B,iIAA2B;;;IAOvC,iFACkC;;IAA8D,4DAAa;;;IADxD,kFAAqB;;;;;;IAI1E,4EAA6E;IAA7E,2DAA6E;IAAM,4DAAY;;;IADjG,4EACE;IAAA,0IAA+F;IACjG,4DAAY;;;IADE,0DAAkC;IAAlC,+IAAkC;;;IAO9C,4EAAiE;IAAjE,2DAAiE;IAAM,4DAAY;;;IACnF,4EAAsE;IAAtE,2DAAsE;IACvB,4DAAY;;;IAAZ,0DAAY;IAAZ,4IAAY;IAAZ,4DAAY;;;IAH7D,4EACE;IAAA,0IAAmF;IACnF,0IAC2D;IAC7D,4DAAY;;;IAHE,0DAA4B;IAA5B,mIAA4B;IAC5B,0DAA6B;IAA7B,oIAA6B;;;IAQzC,4EAA6D;IAA7D,2DAA6D;IAAM,4DAAY;;;IAC/E,4EAAoE;IAApE,2DAAoE;IACvB,4DAAY;;;IAAZ,0DAAY;IAAZ,wIAAY;IAAZ,4DAAY;;;IAH3D,4EACE;IAAA,2JAA+E;IAC/E,2JACyD;IAC3D,4DAAY;;;IAHE,0DAA0B;IAA1B,iIAA0B;IAC1B,0DAA2B;IAA3B,kIAA2B;;;IAL3C,oFACE;IAAA,4EAAwB;IAAxB,2DAAwB;IAAM,4DAAY;IAC1C,uEACA;IAAA,+IAIY;IACd,4DAAiB;;;IALH,0DAA+C;IAA/C,gIAA+C;;;IAUzD,4EAAiE;IAAjE,2DAAiE;IAAM,4DAAY;;;IACnF,4EAAsE;IAAtE,2DAAsE;IACvB,4DAAY;;;IAAZ,0DAAY;IAAZ,4IAAY;IAAZ,4DAAY;;;IAH7D,4EACE;IAAA,2JAAmF;IACnF,2JAC2D;IAC7D,4DAAY;;;IAHE,0DAA4B;IAA5B,qIAA4B;IAC5B,0DAA6B;IAA7B,sIAA6B;;;IAL7C,oFACE;IAAA,4EAA0B;IAA1B,2DAA0B;IAAM,4DAAY;IAC5C,uEACA;IAAA,+IAIY;IACd,4DAAiB;;;IALH,0DAAmD;IAAnD,oIAAmD;;ADrEpE,MAAM,qBAAqB;IAMhC,YACU,WAAwB,EACxB,KAAqB,EACrB,MAAc,EACd,cAA8B,EAC9B,YAA0B,EAC1B,iBAAoC;QALpC,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAT9C,oBAAe,GAAG,oEAAW,CAAC;QAW5B,wCAAwC;QACxC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACjC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,eAAe,EAAE,CAAC,EAAE,CAAC;YACrB,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,yDAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,yDAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACzF,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5D,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,KAAK,EAAE,CAAC,EAAE,CAAC;SACZ,EAAE,EAAC,UAAU,EAAE,IAAI,CAAC,sBAAsB,EAAE,EAAC,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,oEAAW,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ;QACN,+BAA+B;QAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAC1C,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CACR,IAAI,CAAC,EAAE;;YACL,IAAI,CAAC,cAAc,CAAC,KAAK,OAAC,IAAI,CAAC,KAAK,0CAAE,KAAK,QAAE,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;iBAC/D,IAAI,CAAC,4DAAK,EAAE,CAAC;iBACb,SAAS,CACR,IAAI,CAAC,EAAE;gBACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE;oBACnC,WAAW,EAAE;wBACX,cAAc,EAAE,MAAM;qBACvB;iBACF,CAAC,CAAC;gBACH,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,kDAA0C,CAAC,CAAC;gBACtE,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE;YACxC,CAAC,EACD,aAAa,CAAC,EAAE;gBACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACT,CAAC,EACD,aAAa,CAAC,EAAE;;YACd,IAAI,6DAAU,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACpD,IAAI,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC7F,UAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAAE,SAAS,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,EAAE;aACtD;YACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACT,CAAC;IAED,iBAAiB,CAAC,CAAkB;;QAClC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;YAC3C,UAAI,CAAC,GAAG,0CAAE,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YACxE,UAAI,CAAC,GAAG,0CAAE,sBAAsB,GAAG;YACnC,UAAI,CAAC,KAAK,0CAAE,aAAa,CAAC,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE;YAC3E,UAAI,CAAC,KAAK,0CAAE,sBAAsB,GAAG;SACtC;aAAM;YACL,UAAI,CAAC,GAAG,0CAAE,KAAK,GAAG;YAClB,UAAI,CAAC,GAAG,0CAAE,eAAe,GAAG;YAC5B,UAAI,CAAC,GAAG,0CAAE,sBAAsB,GAAG;YACnC,UAAI,CAAC,KAAK,0CAAE,KAAK,GAAG;YACpB,UAAI,CAAC,KAAK,0CAAE,eAAe,GAAG;YAC9B,UAAI,CAAC,KAAK,0CAAE,sBAAsB,GAAG;SACtC;IACH,CAAC;IAED,sBAAsB;QACpB,OAAO,CAAC,IAAe,EAAE,EAAE;;YACzB,MAAM,KAAK,GAAG,WAAI,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,KAAM,YAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,0CAAE,KAAK,EAAC,CAAC,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3G,UAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,0CAAE,SAAS,CAAC,KAAK,EAAE;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;;0FAjIU,qBAAqB;qGAArB,qBAAqB;;;;;iBCZY,gBAAO;;;;;;iBAKX,MAAM;;;;;;iBAWP,YAAM;;;;;;iBAWT,OAAM;;;;;;iBAOH,OAAM;;;;;;kBASC,aAAM;;;;;;kBAOV,WAAM;;;;;;kBAWZ,4BAAM;;;;;;kBA0BoD,kBAAM;;;;;;kBA/Ef,oBAAM;;;;;;kBACL,yDACvB;;;;;;kBACuB,yDACvB;;;;;;kBAOoB,0BAAM;;;;;;kBACJ,yDACvB;;;;;;kBACuB,yDACvB;;;;;;kBAOe,qBAAM;;;;;;kBAOD,qBAAM;;;;;;kBACH,yDACvB;;;;;;kBAOkB,0BAAM;;;;;;kBAQxC,yEAA8D;;;;;;kBAGnB,yBAAM;;;;;;kBAOlB,0CAAM;;;;;;kBACD,yDACvB;;;;;;kBAIzB,UAAM;;;;;;kBAGiC,wBAAM;;;;;;kBACC,yDACvB;;;;;;kBAIrB,aAAM;;;;;;kBAGmC,2BAAM;;;;;;kBACD,yDACvB;;QAxF7D,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,kFACE;QAAA,iFAAsC;QAAtC,0DAAsC;QAAO,4DAAiB;QAChE,4DAAkB;QAClB,mFACE;QAAA,0EACE;QADuB,iJAAY,cAAU,IAAC;QAC9C,oFACE;QAAA,4EAA8B;QAA9B,2DAA8B;QAAM,4DAAY;QAChD,uEACA;QAAA,+HAMY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAA6B;QAA7B,2DAA6B;QAAM,4DAAY;QAC/C,uEACA;QAAA,+HAMY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAA0B;QAA1B,2DAA0B;QAAM,4DAAY;QAC5C,wEACA;QAAA,+HAEY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAA6B;QAA7B,4DAA6B;QAAM,4DAAY;QAC/C,wEACA;QAAA,+HAIY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAAoC;QAApC,4DAAoC;QAAM,4DAAY;QACtD,wEACA;QAAA,+HAEY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAAgC;QAAhC,4DAAgC;QAAM,4DAAY;QAClD,kFAEE;QAFyD,4KAAmB,6BAAyB,IAAC;QAEtG,kIAC6G;QAC/G,4DAAa;QACb,+HAEY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAA0B;QAA1B,4DAA0B;QAAM,4DAAY;QAC5C,wEACA;QAAA,+HAIY;QACd,4DAAiB;QACjB,0IAQiB;QACjB,0IAQiB;QACjB,8EAAsF;QAAtF,4DAAsF;QAAM,4DAAS;QACvG,4DAAO;QACT,4DAAmB;QACrB,4DAAW;QACb,4DAAM;QACR,4DAAM;;QAzFQ,0DAAkB;QAAlB,+EAAkB;QAIR,0DAA2D;QAA3D,mIAA2D;QAW3D,0DAAyD;QAAzD,iIAAyD;QAWzD,0DAAmD;QAAnD,2HAAmD;QAOnD,0DAAyD;QAAzD,iIAAyD;QASzD,0DAA6C;QAA7C,+GAA6C;QAQnB,0DAAe;QAAf,qFAAe;QAGzC,0DAA+D;QAA/D,uIAA+D;QAO/D,0DAAmD;QAAnD,2HAAmD;QAM3B,0DAAkD;QAAlD,sHAAkD;QASlD,0DAAkD;QAAlD,sHAAkD;QAS9C,0DAAyB;QAAzB,sFAAyB;;6FD3EhE,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;;;;;;;;;;;;;AEbD;AAAA;AAAO,MAAM,QAAQ;IAKnB,YAAY,EAAU,EAAE,IAAU,EAAE,IAAoB;QACtD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAqB;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;;;;;;;;;;;;;AC/BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8C;AAChB;AACe;AAEf;AAC6B;AAEpD,MAAM,aAAa;IASxB,YAAY,OAAY,EAAE,QAAQ,GAAG,IAAI,EAAE,SAAS,GAAG,KAAK;QAPpD,8BAAyB,GAAY,KAAK,CAAC;QAC3C,0BAAqB,GAAY,EAAE,CAAC;QAGpC,4BAAuB,GAAY,KAAK,CAAC;QAChC,eAAU,GAAY,KAAK,CAAC;QAG3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,EAAE,CAAC,KAAa;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,UAAU,CAAC,IAAY;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI;QACN,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;YACvD,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBACjC,KAAK,4DAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,4DAAU,CAAC,aAAa,CAAC;gBAC9B,KAAK,4DAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,4DAAU,CAAC,cAAc,CAAC,CAAC;oBAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAClC;gBACD,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,mBAAmB,CAAC;gBACpC,KAAK,4DAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,4DAAU,CAAC,SAAS,CAAC,CAAC;oBACzB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC9C;gBACD,KAAK,4DAAU,CAAC,MAAM,CAAC,CAAC;oBACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC1D;aACF;SACF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,KAAY;QACnB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;YACvD,QAAQ,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBACjC,KAAK,4DAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,4DAAU,CAAC,aAAa,CAAC;gBAC9B,KAAK,4DAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,4DAAU,CAAC,cAAc,CAAC,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACjC,MAAM;iBACP;gBACD,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,4DAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,4DAAU,CAAC,SAAS,CAAC,CAAC;oBACzB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC7C,MAAM;iBACP;gBACD,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,mBAAmB,CAAC,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC7C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC7C,MAAM;iBACP;gBACD,KAAK,4DAAU,CAAC,MAAM,CAAC,CAAC;oBACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACzD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;oBACzD,MAAM;iBACP;aACF;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SAClC;IACH,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,UAAU,CAAC,KAAa;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,UAAU,CAAC,KAAa;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,SAAS,CAAC,KAAc;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,WAAW,CAAC,EAAE;gBACvI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aAChF;iBAAM,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,mBAAmB,EAAE;gBAC3F,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACpF;iBAAM;gBACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACpE;SACF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;YACvD,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,aAAa;mBACvG,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,cAAc,EAAE;gBACvH,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC/C,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;aACzB;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,YAAY,EAAE;gBAChE,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjD,8BAA8B;gBAC9B,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,qDAAqD;gBACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,mCAAmC;gBACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,mEAAmE;gBACnE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;aAC3H;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,YAAY,EAAE;gBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;aACzB;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,MAAM,EAAE;gBAC1D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC/F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC/F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBAChD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC/F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBAC/F,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;aACzB;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,mBAAmB,EAAE;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;aACzB;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,WAAW,EAAE;gBAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;gBACvE,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;aACzB;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;SAC7B;IACH,CAAC;IAED,IAAI,MAAM;QACR,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;YACvD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,YAAY,EAAE;gBAC7E,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACrF;iBAAM,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,SAAS;mBACrI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,WAAW,CAAC,EAAE;gBAC1H,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACjF;iBAAM;gBACL,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;aACrE;SACF;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;YACvD,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,aAAa;mBACvG,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,cAAc,EAAE;gBACvH,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC;gBAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAC1B;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,YAAY,EAAE;gBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAC1B;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,YAAY,EAAE;gBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAC1B;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,mBAAmB,EAAE;gBACvE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAC1B;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,WAAW,EAAE;gBAC/D,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;aAC/H;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,4DAAU,CAAC,MAAM,EAAE;gBAC1D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;gBAC7F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;gBACjG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;gBACrD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC;gBACjG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAC1B;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;SACpC;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,KAAa;QACzB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,aAAa;QACX,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAChC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC;IAED,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAED,IAAW,wBAAwB,CAAC,OAAO;QACzC,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC;IAC3C,CAAC;IAED,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEO,eAAe,CAAC,YAAiB;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,6CAAM,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,UAAU,QAAQ;gBACnD,QAAQ,CAAC,GAAG,CAAC;oBACX,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;iBACjB,CAAC,CAAC;gBACH,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC1C,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,uBAA+B;QACjD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,oBAAgC,EAAE,SAE3D,CAAC,CAAC;YACH,MAAM,CAAC,SAAS,GAAG,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE;gBAC5B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,0DAAS,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;gBAEpG,MAAM,UAAU,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACvE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;gBACxC,MAAM,OAAO,GAAoC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAE7E,IAAI,OAAO,IAAI,IAAI,EAAE;oBACnB,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnH,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;wBAC3D,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;wBAC9B,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC1B,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC;YAEF,MAAM,CAAC,OAAO,GAAG,CAAC,CAAa,EAAE,EAAE;gBACjC,MAAM,CAAC,qCAAqC,CAAC,CAAC;YAChD,CAAC;YAED,IAAI,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;YAC7C,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;YAC/C,IAAI,GAAG,GAAoC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChE,IAAI,GAAG,IAAI,IAAI,EAAE;gBACf,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzC,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;gBAC9G,MAAM,CAAC,WAAW,CAAC;oBACjB,KAAK,EAAE,SAAS;oBAChB,uBAAuB,EAAE,uBAAuB;iBACjD,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,WAAW;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC;SACrD;aAAM;YACL,OAAO,CAAC,UAAU,CAAC,IAAI,6CAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;SAC5E;IACH,CAAC;IAED;;;;OAIG;IACI,YAAY,CAAC,WAAgB,EAAE,gBAAqB;QACzD,MAAM,qBAAqB,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClF,qBAAqB,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QACvD,qBAAqB,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACzD,MAAM,kBAAkB,GAAoC,qBAAqB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACnG,IAAI,kBAAkB,IAAI,IAAI,EAAE;YAC9B,kBAAkB,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YACpE,IAAI,KAAK,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAC5G,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;gBAC3B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE;oBAC3G,KAAK,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACjC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACrC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;iBACtC;aACF;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC/C,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBACpC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,WAAW,CAAC,GAAG,CAAC,EAAE;oBACzG,YAAY,CAAC,KAAK,CAAC,GAAG,gBAAgB,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC;YAE1C,IAAI,QAAQ,GAAG,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACzF,MAAM,UAAU,GAAsB,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YAC9B,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAChC,MAAM,OAAO,GAAoC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7E,IAAI,OAAO,IAAI,IAAI,EAAE;gBACnB,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;aACtC;YACD,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC,CAAC;YAEjH,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAW,aAAa,CAAC,KAAU;QACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED;;;OAGG;IACI,qBAAqB,CAAC,KAAU;QACrC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,IAAI,sBAAsB,CAAC,KAAc;QACvC,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;;;;;;;;;;;;;;AC7hBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACQ;AACE;AACA;AACF;;AAK1C,MAAM,aAAa;IAEjB,WAAW,CAAC,MAAc;QAC/B,QAAQ,MAAM,EAAE;YACd,KAAK,8DAAW,CAAC,UAAU;gBACzB,OAAO,gBAAsC,CAAC;YAChD,KAAK,8DAAW,CAAC,WAAW;gBAC1B,OAAO,gBAAuC,CAAC;YACjD,KAAK,8DAAW,CAAC,SAAS;gBACxB,OAAO,eAAqC,CAAC;YAC/C,KAAK,8DAAW,CAAC,UAAU;gBACzB,OAAO,EAAsC,CAAC;YAChD,KAAK,8DAAW,CAAC,iBAAiB;gBAChC,OAAO,EAA6C,CAAC;YACvD,KAAK,8DAAW,CAAC,iBAAiB;gBAChC,OAAO,EAA6C,CAAC;YACvD,KAAK,8DAAW,CAAC,YAAY;gBAC3B,OAAO,uCAAwC,CAAC;YAClD,KAAK,8DAAW,CAAC,UAAU;gBACzB,OAAO,aAAsC,CAAC;YAChD,KAAK,8DAAW,CAAC,UAAU;gBACzB,OAAO,aAAsC,CAAC;YAChD,KAAK,8DAAW,CAAC,GAAG;gBAClB,OAAO,2BAA+B,CAAC;YACzC,KAAK,8DAAW,CAAC,SAAS;gBACxB,OAAO,mBAAqC,CAAC;YAC/C,KAAK,8DAAW,CAAC,SAAS;gBACxB,OAAO,iBAAqC,CAAC;SAChD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGM,YAAY,CAAC,cAAsB;QACxC,QAAQ,cAAc,EAAE;YACtB,KAAK,gEAAY,CAAC,cAAc;gBAC9B,OAAO,wBAAgD,CAAC;YAC1D,KAAK,gEAAY,CAAC,IAAI;gBACpB,OAAO,yBAAsC,CAAC;YAChD,KAAK,gEAAY,CAAC,GAAG;gBACnB,OAAO,KAAqC,CAAC;YAC/C,KAAK,gEAAY,CAAC,GAAG;gBACnB,OAAO,KAAqC,CAAC;YAC/C;gBACE,OAAO,QAAuC,CAAC;SAClD;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAEM,WAAW,CAAC,WAAmB;QACpC,QAAQ,WAAW,EAAE;YACnB,KAAK,8DAAW,CAAC,IAAI;gBACnB,OAAO,eAAqC,CAAC;YAC/C,KAAK,8DAAW,CAAC,cAAc;gBAC7B,OAAO,UAA+C,CAAC;YACzD,KAAK,8DAAW,CAAC,OAAO;gBACtB,OAAO,eAAwC,CAAC;YAClD,KAAK,8DAAW,CAAC,cAAc;gBAC7B,OAAO,2BAAiD,CAAC;SAC5D;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,OAAe;QAC1B,QAAQ,OAAO,EAAE;YACf,KAAK,gEAAY,CAAC,gBAAgB;gBAChC,OAAO,kEAA+B,CAAC;YACzC,KAAK,gEAAY,CAAC,WAAW;gBAC3B,OAAO,cAA0B,CAAC;YACpC,KAAK,gEAAY,CAAC,qBAAqB;gBACrC,OAAO,iDAAoC,CAAC;YAC9C,KAAK,gEAAY,CAAC,gBAAgB;gBAChC,OAAO,uBAA+B,CAAC;YACzC,KAAK,gEAAY,CAAC,UAAU;gBAC1B,OAAO,wCAAyB,CAAC;YACnC,KAAK,gEAAY,CAAC,iBAAiB;gBACjC,OAAO,2CAAgC,CAAC;YAC1C,KAAK,gEAAY,CAAC,8BAA8B;gBAC9C,OAAO,+EAA6C,CAAC;YACvD,KAAK,gEAAY,CAAC,gBAAgB;gBAChC,OAAO,6BAA+B,CAAC;YACzC,KAAK,gEAAY,CAAC,iBAAiB;gBACjC,OAAO,oCAAgC,CAAC;YAC1C,KAAK,gEAAY,CAAC,YAAY;gBAC5B,OAAO,0CAA2B,CAAC;YACrC,KAAK,gEAAY,CAAC,gBAAgB;gBAChC,OAAO,qCAA+B,CAAC;SAC1C;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;;0EAzFU,aAAa;gGAAb,aAAa,WAAb,aAAa,mBAFZ,MAAM;6FAEP,aAAa;cAHzB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kCAAmB;IACnB,wCAAyB;AAC3B,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;;;;;;;;;;;;;ACHD;AAAA;AAAA,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB,+BAAiB;IACjB,6CAA+B;IAC/B,+CAAiC;IACjC,4CAA8B;IAC9B,gDAAkC;IAClC,qDAAuC;IACvC,mDAAqC;IACrC,4CAA8B;IAC9B,mCAAqB;IACrB,wCAA0B;IAC1B,oCAAsB;IACtB,+BAAiB;AACnB,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB;;;;;;;;;;;;;ACbD;AAAA;AAAA;AAAgD;AAEzC,MAAM,OAAO;IAApB;QAEU,eAAU,GAAW,CAAC,CAAC;QACvB,UAAK,GAAkB,IAAI,CAAC;QAC5B,aAAQ,GAAW,OAAO,CAAC;QAC3B,WAAM,GAAkB,IAAI,CAAC;QAC7B,YAAO,GAAkB,IAAI,CAAC;QAC9B,gBAAW,GAAkB,IAAI,CAAC;QAClC,YAAO,GAAa,EAAE,CAAC;QACvB,kBAAa,GAAW,OAAO,CAAC;QAChC,mBAAc,GAAW,OAAO,CAAC;QACjC,SAAI,GAAY,KAAK,CAAC;IAyGhC,CAAC;IAtGC,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAoB;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,KAAa;QACvB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAoB;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAoB;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,KAAoB;QACjC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAe;QACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY,CAAC,KAAa;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,aAAa,CAAC,KAAa;QAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,KAAc;QACpB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,KAAa;QACzB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEM,MAAM;QACX,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY,EAAE,0DAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;YACnD,aAAa,EAAE,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC;YAC1D,GAAG,EAAE,IAAI,CAAC,GAAG;SACd;IACH,CAAC;CACF;;;;;;;;;;;;;;;;;;;;;;;;;ACtHsE;AACP;AACvB;AACD;AAEE;;;;;;;;;ICHtC,yEACE;IAAA,2EAEA;IADO,4bAA6C;IADpD,4DAEA;IAAA,2EACE;IAAA,uEAEiC;IAAA,4DAAQ;IAC7C,4DAAM;;;IANG,0DAAyB;IAAzB,8FAAyB;IAEzB,0DAA0B;IAA1B,+FAA0B;IACL,0DAAqD;IAArD,gMAAqD;IACpD,uGAAkC;IACxD,+FAA0B;IAD+B,uFAA8B;;;IANlG,wEACE;IAAA,0HAOM;IACR,qEAAe;;;;IARP,0DAA+C;IAA/C,qHAA+C;;ADYlD,MAAM,eAAe;IAS1B,YAA8B,QAAkB,EAC5B,YAA0B,EAC1B,SAAoB;QADpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,cAAS,GAAT,SAAS,CAAW;QATxC,iBAAY,GAAG,uEAAY,CAAC;QAU1B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAEY,iBAAiB,CAAC,IAAgB;;YAC7C,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE;gBACxE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;gBACzE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC9E;iBAAM;gBACL,MAAM,OAAO,GAAG,0NAAqC,CAAC;gBACtD,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,2CAAgC,EAAC,EAAE,EAAC,KAAK,EAAE,oCAA6B,EAAC,EAAE,EAAC,KAAK,EAAE,cAAqB,EAAC,CAAC,CAAC,CAAC;gBACrL,+BAA+B;gBAC/B,IAAI,cAAc,IAAI,CAAC,EAAE;oBACvB,IAAI,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;oBACvE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;oBAClC,IAAI,SAAS,EAAE;wBACb,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;qBAC9C;iBACF;gBAED,wCAAwC;gBACxC,IAAI,cAAc,GAAG,CAAC,EAAE;oBACtB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;oBACzE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;iBAC9E;aACF;YACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACjF,CAAC;KAAA;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAChE,CAAC;;8EA7CU,eAAe,kEASN,wDAAQ;+FATjB,eAAe;;;;;;QCd5B,4EACE;QAAA,6HASe;QACjB,4DAAM;;QAVkC,0DAAe;QAAf,qFAAe;;6FDa1C,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;sCAUyC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;qLAFpB,UAAU;kBADjB,uDAAS;mBAAC,YAAY;;;;;;;;;;;;;;AEpBzB;AAAA;AAAO,MAAM,UAAU;IAEd,MAAM,CAAC,OAAO,CAAC,KAAa;QACjC,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACvD,CAAC;IAEM,MAAM,CAAC,UAAU,CAAC,KAAyB;QAChD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAClE,CAAC;CACF;;;;;;;;;;;;;ACPD;AAAA;AAAO,MAAM,KAAK;IAMhB,YAAY,IAAqB;QAHjC,cAAS,GAAY,IAAI,CAAC;QAIxB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;;;;;;;;;;;;;ACXD;AAAA;AAAA,gFAAgF;AAChF,0EAA0E;AAC1E,gEAAgE;AAEzD,MAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF;;;;;;GAMG;AACH,mEAAmE;;;;;;;;;;;;;AChBnE;AAAA;AAAA,IAAY,YAaX;AAbD,WAAY,YAAY;IACtB,uCAAuB;IACvB,2CAA2B;IAC3B,qDAAqC;IACrC,qDAAqC;IACrC,uDAAuC;IACvC,qDAAqC;IACrC,+DAA+C;IAC/C,iFAAiE;IACjE,yCAAyB;IACzB,6CAA6B;IAC7B,qDAAqC;IACrC,uDAAuC;AACzC,CAAC,EAbW,YAAY,KAAZ,YAAY,QAavB;;;;;;;;;;;;;ACbD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8B;AACA;AACiB;AACY;AACb;AACD;AACmB;AACL;AAId;AAEtC,MAAM,MAAM;IAYjB,YAAY,QAAkB,EACV,mBAA+C,EAC/C,iBAAoC;QADpC,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,sBAAiB,GAAjB,iBAAiB,CAAmB;QAJhD,oBAAe,GAAoB,EAAE,CAAC;QAK5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;QAE3E,6CAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,UAAU,QAAQ;YACpD,OAAO,UAAgB,mBAAmB;gBACxC,mBAAmB,GAAG,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,MAAM,CACtD,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,CAAC,CACjI,CAAC;gBACF,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,CAAC,IAAI,YAAY,+EAAK,EAAE;oBAC3B,CAAC,CAAC,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;iBAC3B;gBACD,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC,6CAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEM,IAAI,CAAC,IAAmB;QAC7B,IAAI,gBAAgB,GAAuB,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QACxF,IAAI,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,gBAAgB,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,EAAE;YAC9C,gBAAgB,CAAC,SAAS,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;YACrD,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,6CAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;YACzC,SAAS,EAAE,IAAI;YACf,YAAY,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;YACpC,sBAAsB,EAAE,IAAI;YAC5B,eAAe,EAAE,uBAAuB;SACzC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,CAAC;QAE7C,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACd,mBAAmB,EAAE,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAE,EAAE;gBAC1C,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC;YACD,mBAAmB,EAAE,CAAC,EAAC,QAAQ,EAAE,MAAM,EAAC,EAAE,EAAE;gBAC1C,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzC,CAAC;YACD,mBAAmB,EAAE,GAAG,EAAE;gBACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,4CAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC1B,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,cAAc,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;YAC5H,CAAC;YACD,gBAAgB,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC3B,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,yEAAgB,CAAC,KAAK,EAAE;oBACjD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;wBACnC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;iBACtC;YACH,CAAC;YACD,iBAAiB,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC5B,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,yEAAgB,CAAC,IAAI,EAAE;oBAChD,IAAI,MAAM,GAAG,KAAK,CAAC;oBACnB,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;wBACxB,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;wBACrC,MAAM,GAAG,IAAI,CAAC;qBACf;yBAAM,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;wBAC/B,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;wBACrC,MAAM,GAAG,IAAI,CAAC;qBACf;oBACD,IAAI,MAAM,EAAE;wBACV,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACjD,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;wBACpB,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;wBACpB,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;qBACxB;iBACF;YACH,CAAC;YACD,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;gBAC1B,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC5C,CAAC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,GAAG;YACb,KAAK,EAAE,kBAAkB;YACzB,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;SACZ;QAED,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAE9C,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE;YACxD,oDAAoD;YACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACnD,+BAA+B;YAC/B,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAEM,YAAY,CAAC,IAAmB,EAAE,cAA+B;QACtE,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,IAAI,MAAM,GAAoB,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC9C,IAAI,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;oBAC3D,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChC;aACF;YACD,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAE1B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE;YACrC,CAAC,EAAE,UAAU,CAAC,EAAE,KAAK;gBACnB,IAAI,aAAa,GAAG,IAAI,6DAAa,CAAC,KAAK,CAAC,CAAC;gBAE7C,IAAI,KAAK,CAAC,UAAU,IAAI,yEAAgB,CAAC,KAAK,EAAE;oBAC9C,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC9B,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC;iBACjC;gBACD,IAAI,KAAK,CAAC,UAAU,IAAI,yEAAgB,CAAC,IAAI,EAAE;oBAC7C,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;iBAC9B;gBACD,IAAI,KAAK,CAAC,UAAU,IAAI,yEAAgB,CAAC,KAAK,EAAE;oBAC9C,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;oBAC9B,IAAI,QAAQ,GAAkB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;oBACzE,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;oBACtC,aAAa,GAAG,QAAQ,CAAC;iBAC1B;gBAED,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,eAAe,CAAC,QAAQ,EAAE,MAAM;;QACtC,IAAI,KAAK,SAAG,MAAM,CAAC,QAAQ,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC;QAEZ,6HAA6H;QAC7H,IAAI,aAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,QAAQ,0CAAE,MAAM,IAAG,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE;YACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SACpE;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9C,OAAO,GAAG,IAAI,6DAAa,CAAC,MAAM,CAAC,CAAC;YACpC,OAAO,CAAC,UAAU,GAAG,yEAAgB,CAAC,KAAK,CAAC;YAC5C,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;YAC1B,OAAO,CAAC,aAAa,GAAG,CAAC,CAAC;YAC1B,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;YAC3B,2CAA2C;SAC5C;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE;YACtD,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACxE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAClE;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAClE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAClE,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;SAC7B;QAED,+CAA+C;QAC/C,IAAI,OAAO,IAAI,SAAS,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC;YAC/F,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;SAC1B;IACH,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAEO,iBAAiB,CAAC,EAAU;QAClC,OAAsB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,mBAAmB,CAAC,GAAQ;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC;IAEO,WAAW,CAAC,GAAQ,EAAE,KAAU;QACtC,IAAI,IAAI,GAAG,GAAG,CAAC,QAAQ;QACvB,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;QACzB,IAAI,KAAK,CAAC,UAAU,IAAI,yEAAgB,CAAC,KAAK,EAAE;YAC9C,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;YACjD,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;SAClD;QACD,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAClC;aAAM,IAAI,KAAK,IAAI,CAAC,EAAE;YACrB,IAAI,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,EAAE;YAC3D,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC;SAC5B;QACD,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC;QAC3B,sEAAsE;QACtE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,WAAW,EAAE;YACrE,MAAM,EAAE;gBACN,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,IAAI,EAAE,IAAI;aACX;SACF,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAEO,cAAc,CAAC,GAAQ;QAC7B,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACf,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACf,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;QACtB,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC;IACxB,CAAC;IAEM,OAAO,CAAC,KAAY;QACzB,IAAI,IAAS,CAAC;QACd,IAAI,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YAC7B,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,GAAG;YACf,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,EAAE,GAAG,0DAAS,CAAC,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,yEAAgB,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,6DAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,SAAS,EAAE;YACnE,MAAM,EAAE;gBACN,KAAK,EAAE,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;gBACzC,WAAW,EAAE,IAAI,CAAC,EAAE;aACrB;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,SAAS,CAAC,CAAM;QACrB,IAAI,MAAW,CAAC;QAChB,MAAM,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACjC,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG;YACjB,UAAU,EAAE,uBAAuB;YACnC,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,MAAM,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;QACzB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,MAAM,CAAC,EAAE,GAAG,0DAAS,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,CAAC,UAAU,GAAG,yEAAgB,CAAC,IAAI,CAAC;QAC1C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,6DAAa,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzB,MAAM,CAAC,MAAM,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,SAAS,EAAE;YACnE,MAAM,EAAE;gBACN,KAAK,EAAE,0DAAS,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC3C,WAAW,EAAE,MAAM,CAAC,EAAE;aACvB;SACF,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,QAAQ,CAAC,CAAM;QACpB,IAAI,GAAG,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAElC,GAAG,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,yEAAgB,CAAC,KAAK,EAAC,CAAC;QAEpF,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACzC,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,GAAG,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACtC,IAAI,GAAG,CAAC,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,UAAU,EAAE;gBAClF,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;aAC9B;SACF;QACD,IAAI,aAAa,GAAG,IAAI,6DAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAClC,GAAG,CAAC,MAAM,EAAE,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,EAAU;QAC3B,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;YAC7C,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;gBAClC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,EAAE;oBAC1C,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE;wBAChB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,KAAK,CAAC,YAAY,EAAE;4BACrE,MAAM,EAAE;gCACN,WAAW,EAAE,GAAG,CAAC,EAAE;6BACpB;yBACF,CAAC,CAAC,CAAC;wBACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;wBAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;qBAC1B;iBACF;aACF;QACH,CAAC,CAAC;IACJ,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,GAAG,IAAI;QAC7B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,WAAgB,EAAE,gBAAgB,GAAG,KAAK;QACnE,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;QAChC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;QAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;QAE9C,MAAM,KAAK,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC;YAC5B,KAAK,EAAE,KAAK,GAAG,KAAK;YACpB,MAAM,EAAE,MAAM,GAAG,KAAK;YACtB,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC;YAChC,KAAK,EAAE,KAAK,GAAG,KAAK;YACpB,MAAM,EAAE,CAAC,GAAG,KAAK;YACjB,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,GAAG;YAChB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,MAAM,EAAE,OAAO;SAChB,CAAC,CAAC;QAEH,IAAI,qEAAW,CAAC,KAAK,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;SAC5C;QAED,QAAQ,MAAM,EAAE;YACd,KAAK,4DAAU,CAAC,KAAK,CAAC;YACtB,KAAK,4DAAU,CAAC,aAAa,CAAC;YAC9B,KAAK,4DAAU,CAAC,cAAc,CAAC,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnD,MAAM;aACP;YACD,KAAK,4DAAU,CAAC,YAAY,CAAC,CAAC;gBAC5B,MAAM,UAAU,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC;oBACjC,KAAK,EAAE,CAAC,GAAG,KAAK;oBAChB,MAAM,EAAE,MAAM,GAAG,KAAK;oBACtB,IAAI,EAAE,qBAAqB;oBAC3B,WAAW,EAAE,GAAG;oBAChB,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;oBACvB,MAAM,EAAE,OAAO;iBAChB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACzD,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;gBAC9B,WAAW,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;gBAE5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE;oBAC1E,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC;oBAC3C,MAAM,EAAE,MAAM,GAAG,KAAK;oBACtB,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,4DAAU,CAAC,WAAW,CAAC,CAAC;gBAC3B,MAAM,YAAY,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzD,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC7B,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;gBAE5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,EAAE;oBAC1E,KAAK,EAAE,KAAK,GAAG,KAAK;oBACpB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;oBAC7C,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,4DAAU,CAAC,YAAY,CAAC,CAAC;gBAC5B,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,SAAS,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClD,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;gBAE/C,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;oBAC5D,KAAK,EAAE,KAAK,GAAG,KAAK;oBACpB,MAAM,EAAE,MAAM,GAAG,KAAK;oBACtB,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,4DAAU,CAAC,mBAAmB,CAAC,CAAC;gBACnC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClD,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC;gBAEhD,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;oBAC5D,KAAK,EAAE,KAAK,GAAG,KAAK;oBACpB,MAAM,EAAE,MAAM,GAAG,KAAK;oBACtB,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,4DAAU,CAAC,cAAc,CAAC,CAAC;gBAC9B,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;gBAC3C,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC;gBAEpC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnD,MAAM;aACP;YACD,KAAK,4DAAU,CAAC,MAAM,CAAC,CAAC;gBACtB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC;gBACxC,MAAM,aAAa,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC;oBACpC,OAAO,EAAE,OAAO;oBAChB,OAAO,EAAE,QAAQ;oBACjB,IAAI,EAAE,EAAE,GAAG,KAAK;oBAChB,GAAG,EAAE,CAAC,GAAG,KAAK;oBACd,KAAK,EAAE,EAAE,GAAG,KAAK;oBACjB,MAAM,EAAE,CAAC,GAAG,KAAK;oBACjB,IAAI,EAAE,uBAAuB;iBAC9B,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,YAAY,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAE7D,MAAM,SAAS,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE;oBACzD,GAAG,EAAE,CAAC;iBACP,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;oBAC5D,GAAG,EAAE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG;iBACxC,CAAC,CAAC;gBAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE;oBAChE,KAAK,EAAE,KAAK,GAAG,KAAK;oBACpB,MAAM,EAAE,MAAM,GAAG,KAAK;oBACtB,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,4DAAU,CAAC,WAAW,CAAC,CAAC;gBAC3B,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC7C,MAAM,IAAI,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACjC,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE,qBAAqB;oBAC3B,UAAU,EAAE,MAAM;oBAClB,GAAG,EAAE,SAAS,CAAC,MAAM,GAAG,EAAE;iBAC3B,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBAE7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE;oBAClE,KAAK,EAAE,KAAK,GAAG,KAAK;oBACpB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,MAAM;oBACzC,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,4DAAU,CAAC,SAAS,CAAC,CAAC;gBACzB,MAAM,YAAY,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzD,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;gBAC7C,YAAY,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5C,MAAM,OAAO,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC,IAAI,EAAE;oBACpC,QAAQ,EAAE,EAAE;oBACZ,IAAI,EAAE,qBAAqB;oBAC3B,UAAU,EAAE,MAAM;oBAClB,GAAG,EAAE,SAAS,CAAC,MAAM,GAAG,EAAE;iBAC3B,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;gBACnD,MAAM,UAAU,GAAG,6CAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACrD,UAAU,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,GAAG,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;gBAE3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE;oBAC/F,KAAK,EAAE,KAAK,GAAG,KAAK;oBACpB,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC;oBAC7C,MAAM,EAAE,IAAI,CAAC,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM;aACP;SACF;QAED,IAAI,CAAC,iBAAiB,CAAC,EAAE,GAAG,0DAAS,CAAC,EAAE,EAAE,CAAC;QAC3C,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,yEAAgB,CAAC,KAAK,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3C,IAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,6DAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE;YACrB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,SAAS,EAAE;gBACnE,MAAM,EAAE;oBACN,KAAK,EAAE,IAAI,+EAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;oBAClC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,EAAE;iBACvC;aACF,CAAC,CAAC,CAAC;SACL;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACnC,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,wBAAwB,CAAC,CAAM;QAC5C,IAAI,GAAG,GAAG,CAAC,CAAC;QAEZ,8BAA8B;QAC9B,IAAI,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;YAChF,OAAO;SACR;QAED,GAAG,CAAC,SAAS,EAAE,CAAC;QAEhB,gCAAgC;QAChC,IAAI,CAAC,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;YAC3C,kBAAkB;YAClB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE;gBACnE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC;gBACjE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;aACtE;YACD,mBAAmB;YACnB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC/J,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC;gBACpH,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;aACvH;YACD,4BAA4B;SAC7B;aAAM;YACL,kBAAkB;YAClB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE;gBAC5G,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;gBACtE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;aACxE;YACD,mBAAmB;YACnB,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,EAAE,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,EAAE,EAAE;gBAClI,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtF,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;aACxF;SACF;IACH,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAChD,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,2CAA2C;QAC3C,KAAK,IAAI,GAAG,IAAI,OAAO,EAAE;YACvB,IAAI,GAAG,CAAC,UAAU,KAAK,yEAAgB,CAAC,KAAK,EAAE;gBAC7C,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM;aACP;SACF;QACD,iGAAiG;QACjG,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;SAC1E;aAAM;YACL,OAAO,CAAC,OAAO,CAAC,CAAC,GAAQ,EAAE,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,YAAY,EAAE;oBACtE,MAAM,EAAE;wBACN,WAAW,EAAE,GAAG,CAAC,EAAE;wBACnB,KAAK,EAAE,GAAG,CAAC,IAAI;qBAChB;iBACF,CAAC,CAAC,CAAC;gBAEJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAEzB,kBAAkB;gBAClB,IAAI,GAAG,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;oBAClC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,EAAE;wBAC1C,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,KAAK,CAAC,YAAY,EAAE;4BACrE,MAAM,EAAE;gCACN,WAAW,EAAE,GAAG,CAAC,EAAE;6BACpB;yBACF,CAAC,CAAC,CAAC;qBACL;iBACF;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;SACpE;IACH,CAAC;IAEM,aAAa;QAClB,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAC;YAEvC,IAAI,KAAK,GAAG,IAAI,6DAAa,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YACtD,IAAI,eAAe,GAAQ,KAAK,CAAC,IAAI,CAAC;YACtC,IAAI,OAAO,KAAK,CAAC,IAAI,IAAI,QAAQ,EAAE;gBACjC,eAAe,GAAG,0DAAS,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACvD;YACD,mEAAmE;YACnE,IAAI,eAAe,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,mBAAmB,EAAE;gBAC5F,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;aACnB;YAED,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;gBAC/B,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE;gBACxB,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE;gBACtB,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC1B,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE;gBAC5B,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC9C,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAC;YACjD,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC1B,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,SAAiB;QACxC,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAE5C,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,kDAAkD;QAClD,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE;YAC/C,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,CAAC,EAAE;gBACxE,OAAO;aACR;YACD,IAAI,GAAG,CAAC,aAAa,IAAI,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,MAAM,CAAC,EAAE;gBACrE,OAAO;aACR;SACF;QAED,sCAAsC;QACtC,IAAI,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACjE,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;SAClB;aAAM,IAAI,SAAS,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;SACjB;aAAM,IAAI,SAAS,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE;YAC1E,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC;SAClB;aAAM,IAAI,SAAS,KAAK,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE;YACzE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;SACjB;QACD,MAAM,CAAC,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACrE,CAAC;IAEO,YAAY;QAClB,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,OAAO,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC/B;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,aAAa;QACnB,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAChC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,WAAW;QACjB,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE;YACjE,OAAO,SAAS,CAAC,IAAI,CAAC;SACvB;QACD,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,QAAQ,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBAC1C,KAAK,4DAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,4DAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,4DAAU,CAAC,aAAa,CAAC;gBAC9B,KAAK,4DAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,mBAAmB,CAAC;gBACpC,KAAK,4DAAU,CAAC,MAAM,CAAC,CAAC;oBACtB,OAAO,SAAS,CAAC,IAAI,CAAC;iBACvB;gBACD,KAAK,4DAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,4DAAU,CAAC,SAAS,CAAC;gBAC1B,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,WAAW,CAAC,CAAC;oBAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;iBACzE;aACF;SACF;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,UAAU;QAChB,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE;YACjE,OAAO,SAAS,CAAC,GAAG,CAAC;SACtB;QACD,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,QAAQ,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBAC1C,KAAK,4DAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,4DAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,4DAAU,CAAC,aAAa,CAAC;gBAC9B,KAAK,4DAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,mBAAmB,CAAC;gBACpC,KAAK,4DAAU,CAAC,MAAM,CAAC,CAAC;oBACtB,OAAO,SAAS,CAAC,GAAG,CAAC;iBACtB;gBACD,KAAK,4DAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,4DAAU,CAAC,SAAS,CAAC;gBAC1B,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,WAAW,CAAC,CAAC;oBAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC;iBACxE;aACF;SACF;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE;gBACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC;aAC/B;YACD,QAAQ,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;gBAC1C,KAAK,4DAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,4DAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,4DAAU,CAAC,aAAa,CAAC;gBAC9B,KAAK,4DAAU,CAAC,cAAc,CAAC;gBAC/B,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,mBAAmB,CAAC;gBACpC,KAAK,4DAAU,CAAC,MAAM,CAAC,CAAC;oBACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC;iBAC/B;gBACD,KAAK,4DAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,4DAAU,CAAC,SAAS,CAAC;gBAC1B,KAAK,4DAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,4DAAU,CAAC,WAAW,CAAC,CAAC;oBAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAC3C;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,GAAkB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,GAAkB;QAC/B,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,GAAkB;QAChC,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAChG,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,GAAkB;QAC3B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC7B,GAAG,CAAC,UAAU,EAAE,CAAC;YACjB,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,4CAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAC9E;IACH,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,GAAkB;QAC9B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC7B,GAAG,CAAC,aAAa,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,4CAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAC9E;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,4CAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAC9E;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,GAAkB;QAC7B,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,YAAY,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,4CAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAC9E;IACH,CAAC;IAEM,gBAAgB,CAAC,KAAY;QAClC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;QAC5B,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,gBAAgB,CAAC,KAAU;QACjC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC1B,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,KAAK,CAAC,qBAAqB,CAAC;YAC1B,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,IAAS;QAC/B,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;IAC5B,CAAC;IAEO,gBAAgB,CAAC,KAAU;QACjC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;IAC7B,CAAC;IAEM,uBAAuB,CAAC,GAAW,EAAE,WAAwB,EAAE,KAAa,EAAE,MAAc;QACjG,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACnC,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,EAAE,GAAG,0DAAS,CAAC,EAAE,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,IAAI,6CAAM,CAAC,IAAI,CAAC,SAAS,EAAE;YACvC,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,UAAU,EAAE,OAAO;YACnB,MAAM,EAAE,IAAI,6CAAM,CAAC,MAAM,CAAC;gBACxB,KAAK,EAAE,kBAAkB;gBACzB,IAAI,EAAE,CAAC;gBACP,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;aACX,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,GAAG,IAAI,KAAK,EAAE,CAAC;YACpB,CAAC,CAAC,MAAM,GAAG;gBACT,6CAAM,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG;oBACrC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC1F,KAAK,CAAC,WAAW,EAAE,CAAC;wBACpB,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;wBAC5C,GAAG,CAAC,aAAa,CAAC,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;wBAC9C,KAAK,CAAC,iBAAiB,GAAG,IAAI,6CAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;4BACzD,MAAM,EAAE,KAAK,CAAC,OAAO;yBACtB,CAAC,CAAC;wBACH,KAAK,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;wBAChC,KAAK,CAAC,iBAAiB,CAAC,UAAU,GAAG,yEAAgB,CAAC,KAAK,CAAC;wBAC5D,KAAK,CAAC,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;wBACxD,KAAK,CAAC,iBAAiB,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;wBACzD,KAAK,CAAC,iBAAiB,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;wBACvD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBAChD,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,6DAAa,CAAC,KAAK,CAAC,iBAAiB,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;wBAEnF,0BAA0B;wBAC1B,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBAC3C,sBAAsB;wBACtB,KAAK,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;wBAC7C,aAAa;wBACb,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;wBACvD,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;qBAChC;gBACH,CAAC,EAAE,EAAC,WAAW,EAAE,WAAW,EAAC,CAAC,CAAC;YACjC,CAAC;YACD,CAAC,CAAC,OAAO,GAAG;gBACV,OAAO,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;gBAChF,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACtD,CAAC;YACD,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,WAAW,CAAC,MAAM,EAAE,KAAK;QAC/B,IAAI,MAAM,CAAC,UAAU,IAAI,yEAAgB,CAAC,IAAI,EAAE;YAC9C,IAAI,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;YAC7C,mBAAmB;YACnB,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE;gBAC5E,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,EAAE;oBACxC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;iBACjC;qBAAM;oBACL,IAAI,KAAK,CAAC,UAAU,IAAI,yEAAgB,CAAC,IAAI,EAAE;wBAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;qBAC5B;oBACD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,WAAW,EAAE;wBACrE,MAAM,EAAE;4BACN,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,IAAI,CAAC,YAAY;yBACxB;qBACF,CAAC,CAAC,CAAC;iBACL;aACF;iBAAM;gBACL,mBAAmB;gBACnB,IAAI,eAAe,IAAI,IAAI,CAAC,YAAY,EAAE;oBACxC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;iBACjC;qBAAM;oBACL,IAAI,KAAK,CAAC,UAAU,IAAI,yEAAgB,CAAC,IAAI,EAAE;wBAC7C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;qBAC5B;oBACD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;oBACpC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4CAAK,CAAC,MAAM,CAAC,WAAW,EAAE;wBACrE,MAAM,EAAE;4BACN,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,IAAI,EAAE,IAAI,CAAC,YAAY;yBACxB;qBACF,CAAC,CAAC,CAAC;iBACL;aACF;SACF;IACH,CAAC;CACF;;;;;;;;;;;;;AC1+BD;AAAA;AAAO,MAAM,SAAS;IAEb,MAAM,CAAC,EAAE;QACd,iEAAiE;QACjE,6EAA6E;QAC7E,qBAAqB;QACrB,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;CAEF;;;;;;;;;;;;;ACTD;AAAA;AAAA,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,mCAAe;IACf,iCAAa;IACb,mCAAe;IACf,mCAAe;AACjB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B;;;;;;;;;;;;;ACLD;AAAA;AAAA,IAAY,kBAeX;AAfD,WAAY,kBAAkB;IAC5B,sCAAgB;IAChB,wCAAkB;IAClB,sCAAgB;IAChB,sCAAgB;IAChB,uCAAiB;IACjB,wCAAkB;IAClB,wCAAkB;IAClB,sCAAgB;IAChB,wCAAkB;IAClB,uCAAiB;IACjB,uCAAiB;IACjB,qCAAe;IACf,uCAAiB;IACjB,oCAAc;AAChB,CAAC,EAfW,kBAAkB,KAAlB,kBAAkB,QAe7B;;;;;;;;;;;;;ACfD;AAAA;AAAA;AAAA;AAAwD;AACe;;;AAOhE,MAAM,2BAA2B;IAEtC,YAAoB,SAAoD,EAC5B,OAAe;QADvC,cAAS,GAAT,SAAS,CAA2C;QAC5B,YAAO,GAAP,OAAO,CAAQ;IAC3D,CAAC;IAED,QAAQ;IACR,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;sGAfU,2BAA2B,0MAGlB,wEAAe;2GAHxB,2BAA2B;;;;;iBCN0B,KAAM;;;;;;iBACQ,QAAM;;QAHtF,qFAAoB;QAAA,uDAAW;QAAA,4DAAqB;QACpD,wFACE;QAAA,4EAAgE;QAA9B,mJAAS,WAAO,IAAC;QAAnD,0DAAgE;QAAM,4DAAS;QAC/E,4EAA8E;QAAjC,mJAAS,aAAS,IAAC;QAAhE,0DAA8E;QAAM,4DAAS;QAC/F,4DAAqB;;QAJD,0DAAW;QAAX,4EAAW;;6FDQlB,2BAA2B;cALvC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,sCAAsC;gBACnD,SAAS,EAAE,CAAC,qCAAqC,CAAC;aACnD;;sBAIc,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEXrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;AAEI;AACT;AACH;AAKG;;;;;;;;;;;ICD5C,sEACE;IAAA,0EAAuB;IAAA,qEAAqE;IAAA,4DAAM;IAClG,0EACE;IAAA,4EAAgH;IAAtF,oeAAuD;IAAjF,2DAAgH;IAChH,4DAAS;IACX,4DAAM;IACR,4DAAM;;;;IALwB,0DAAkD;IAAlD,kLAAkD;;;IAkBhF,yEACE;IAAA,sEAAuB;IAAvB,2DAAuB;IAAM,4DAAM;IACnC,sEAAK;IAAA,uDAAkC;IAAA,4DAAM;IAC/C,4DAAM;;;;IADC,0DAAkC;IAAlC,yGAAkC;;;IAQvC,sEACmC;IAAA,uDAAiE;;IAAA,4DAAM;;;IAAvE,0DAAiE;IAAjE,qLAAiE;;;IACpG,sEAC6B;IAAA,uDAA2D;;IAAA,4DAAM;;;IAAjE,0DAA2D;IAA3D,+KAA2D;;;IAE1F,yEACE;IAAA,sEAAuB;IAAvB,2DAAuB;IAAM,4DAAM;IACnC,sEAC0B;;IAAoF,4DAAM;IACtH,4DAAM;;;;;;;;IAQF,yEAGiE;;;IAHT,yGAAmC;IAGtF,4FAAsB;IAAC,uFAA8B;;;IAlDhE,wEACE;IAAA,kJAMM;IACN,yEACE;IAAA,sEAAmB;IAAnB,2DAAmB;IAAM,4DAAM;IAC/B,sEAAK;IAAA,uDAAkC;IAAA,4DAAM;IAC/C,4DAAM;IACN,yEACE;IAAA,sEAAqB;IAArB,2DAAqB;IAAM,4DAAM;IACjC,uEAAK;IAAA,wDAAoC;IAAA,4DAAM;IACjD,4DAAM;IACN,0EACE;IAAA,uEAAyB;IAAzB,4DAAyB;IAAM,4DAAM;IACrC,uEAAK;IAAA,wDAAoC;IAAA,4DAAM;IACjD,4DAAM;IACN,qJAGM;IACN,0EACE;IAAA,uEAAuB;IAAvB,4DAAuB;IAAM,4DAAM;IACnC,uEAAK;IAAA,wDAAyB;IAAA,4DAAM;IACtC,4DAAM;IACN,0EACE;IAAA,uEAAwB;IAAxB,4DAAwB;IAAM,4DAAM;IACpC,oJAC0G;IAC1G,oJAC8F;IAChG,4DAAM;IACN,qJAIM;IACN,0EACE;IAAA,uEAAyB;IAAzB,4DAAyB;IAAM,4DAAM;IACrC,uEAAK;IAAA,wDAAwC;IAAA,4DAAM;IACrD,4DAAM;IACN,0EACE;IAAA,uEAAqB;IAArB,4DAAqB;IAAM,4DAAM;IACjC,uEACE;IAAA,qJAGiE;IACnE,4DAAM;IACR,4DAAM;IACN,0EACE;IAAA,uEAA+B;IAA/B,4DAA+B;IAAM,4DAAM;IAC3C,uEAAK;IAAA,wDAAqB;IAAA,4DAAM;IAClC,4DAAM;IACN,iEACF;IAAA,qEAAe;;;;IAzDP,0DAAgD;IAAhD,sHAAgD;IAS/C,0DAAkC;IAAlC,yGAAkC;IAIlC,0DAAoC;IAApC,2GAAoC;IAIpC,0DAAoC;IAApC,2GAAoC;IAEzB,0DAAsC;IAAtC,4GAAsC;IAMjD,0DAAyB;IAAzB,yFAAyB;IAK3B,0DAA8B;IAA9B,6FAA8B;IAE9B,0DAAwB;IAAxB,uFAAwB;IAEX,0DAAwD;IAAxD,8HAAwD;IAOnE,0DAAwC;IAAxC,+GAAwC;IAKpB,0DAA+B;IAA/B,2GAA+B;IAQnD,0DAAqB;IAArB,qFAAqB;;;IA0B5B,sEACyD;IAAA,uDAA6C;;IAAA,4DAAM;;;IAAnD,0DAA6C;IAA7C,4KAA6C;;;IACtG,sEAA4D;IAAA,4DAAC;IAAA,4DAAM;;;IApFvE,mFACE;IAAA,uJA0De;IACf,yEACE;IAAA,sEAAkC;IAAlC,0DAAkC;IAAM,4DAAM;IAC9C,sEAAK;IAAA,uDAAc;IAAA,4DAAM;IAC3B,4DAAM;IACN,yEACE;IAAA,sEAA2B;IAA3B,0DAA2B;IAAM,4DAAM;IACvC,uEAAK;IAAA,wDAAoD;IAAA,4DAAM;IACjE,4DAAM;IACN,0EACE;IAAA,uEAA0B;IAA1B,2DAA0B;IAAM,4DAAM;IACtC,uEAAK;IAAA,wDAAgD;IAAA,4DAAM;IAC7D,4DAAM;IACN,0EACE;IAAA,uEAAqB;IAArB,4DAAqB;IAAM,4DAAM;IACjC,uEAAK;IAAA,wDAA2C;IAAA,4DAAM;IACxD,4DAAM;IACN,0EACE;IAAA,uEAAwB;IAAxB,4DAAwB;IAAM,4DAAM;IACpC,uEAAK;IAAA,wDAAwC;;IAAA,4DAAM;IACrD,4DAAM;IACN,0EACE;IAAA,uEAA6B;IAA7B,4DAA6B;IAAM,4DAAM;IACzC,qIAC4G;IAC5G,qIAAmE;IACrE,4DAAM;IACR,4DAAmB;;;IArFsB,0DAA2B;IAA3B,oGAA2B;IA6D3D,0DAAc;IAAd,kFAAc;IAId,0DAAoD;IAApD,+HAAoD;IAIpD,0DAAgD;IAAhD,2HAAgD;IAIhD,0DAA2C;IAA3C,sHAA2C;IAI3C,0DAAwC;IAAxC,wKAAwC;IAK1C,0DAAoD;IAApD,uHAAoD;IACjD,0DAAoD;IAApD,uHAAoD;;;IAI5D,uEAAuC;IAAvC,2DAAuC;IAAM,4DAAO;;;IACpD,uEAA6D;IAA7D,2DAA6D;IAAM,4DAAO;;;IAC1E,uEAAgE;IAAhE,2DAAgE;IAAM,4DAAO;;;IAH/E,mFACE;IAAA,qIAAoD;IACpD,qIAA0E;IAC1E,qIAA6E;IAC/E,4DAAmB;;;IAHO,0DAAa;IAAb,gFAAa;IACP,0DAA6B;IAA7B,uGAA6B;IACzB,0DAA4B;IAA5B,sGAA4B;;ADhF/D,MAAM,oBAAoB;IAQ/B,YACU,YAA0B,EAC1B,MAAc,EACd,KAAqB,EACrB,GAAsB,EACvB,aAA4B;QAJ3B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,QAAG,GAAH,GAAG,CAAmB;QACvB,kBAAa,GAAb,aAAa,CAAe;QAXrC,UAAK,GAAiB,IAAI,CAAC;QAC3B,YAAO,GAAY,KAAK,CAAC;QACzB,eAAU,GAAU,EAAE,CAAC;QACvB,kBAAa,GAAG,6DAAQ,CAAC;QACzB,eAAU,GAAY,KAAK,CAAC;QAS1B,MAAM,OAAO,GAAW,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAa,EAAE,EAAE;YAC/D,IAAI,CAAC,KAAK,GAAG,0DAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEjD,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBAC9C,IAAI,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE;oBACjC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;wBAC3E,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;wBAC9B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;4BACnC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;4BAChE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;wBAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;wBACV,IAAI,KAAK,EAAE;4BACT,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;yBAC7B;oBACH,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,OAAO;;QACrB,MAAM,SAAS,SAAG,mEAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAC,0CAAE,KAAK,CAAC;QACvE,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,kBAA0B,CAAC;IACpC,CAAC;IAEM,UAAU,CAAC,OAAgB;QAChC,IAAI,WAAW,GAAG,6DAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxG,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,OAAO,WAAW,CAAC,KAAK,CAAC;SAC1B;QACD,OAAO,kBAA0B,CAAC;IACpC,CAAC;IAEM,UAAU,CAAC,OAAgB;QAChC,OAAO,QAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAC,CAAC,CAAC,QAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,IAAG,KAAK,IAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,IAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IAEM,QAAQ,CAAC,OAAgB;QAC9B,OAAO,QAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,EAAC,CAAC,CAAC,QAAkB,CAAC,CAAC,CAAC,KAAiB,CAAC;IAC/D,CAAC;IAEM,cAAc,CAAC,OAAgB;QACpC,OAAO,QAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,OAAgB;QAC5B,OAAO,QAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,KAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,CAAC;IAED,aAAa,CAAC,EAAE;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,UAAU,CAAC,OAAgB;;QACzB,MAAM,cAAc,SAAG,6DAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,0CAAE,eAAe,CAAC;QAC9H,OAAO,cAAc,KAAK,KAAK,CAAC;IAClC,CAAC;IAEM,IAAI,CAAC,OAAgB;QAC1B,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,OAAgB;QAC5B,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,CAAC;IAC7B,CAAC;IAEM,gBAAgB;QACrB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1C,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;IAC5B,CAAC;;wFAxGU,oBAAoB;oGAApB,oBAAoB;;;;;iBCZY,sBAAM;;;;;;iBA+F0B,cAAM;;;;;;iBAhCvC,6BAAM;;;;;;iBAIb,0BAAM;;;;;;iBAIP,QAAM;;;;;;kBAIX,MAAM;;;;;;kBAIH,qBAAM;;;;;;kBAID,oBAAM;;;;;;kBAvEd,KAAM;;;;;;kBAIJ,YAAM;;;;;;kBAIF,SAAM;;;;;;kBAQR,oBAAM;;;;;;kBAIL,oBAAM;;;;;;kBAYL,mBAAM;;;;;;kBAIV,OAAM;;;;;;kBASI,6BAAM;;;;;;kBAlD6E,yCAChH;;;;;;kBAgBqB,sBAAM;;;;;;kBAeN,aAAM;;;;;;kBAEH,sDAAoF;;;;;;kBAiD3E,uBAAM;;;;;;kBACgB,kDAAM;;;;;;kBACH,mEAAM;;QAhG9E,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,kFACE;QAAA,iFAAqC;QAArC,0DAAqC;QAAM,4DAAiB;QAC9D,4DAAkB;QAClB,4IAsFmB;QACnB,0IAImB;QACnB,kFACE;QAAA,4EAAqE;QAA3C,4IAAS,sBAAkB,IAAC;QAAtD,2DAAqE;QAAM,4DAAS;QACpF,iEAAK;QAAA,iEACP;QAAA,4DAAkB;QACpB,4DAAW;QACb,4DAAM;QACR,4DAAM;;QAlGmB,0DAAoB;QAApB,oFAAoB;QAuFpB,0DAAqB;QAArB,qFAAqB;;6FD7EjC,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;;;;;;;;;;;;;;AEfD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyF;AAGjD;AACC;;;;;;;;;;;;;;;;;;;ICgBrC,4EAKsB;IAHd,0TAAqB;IAF7B,2DAKsB;IAAM,4DAAS;;;IAJ7B,mGAAmC;;;;IAK3C,4EAKsB;IAHd,2TAAqB;IAF7B,2DAKsB;IAAM,4DAAS;;;IAJ7B,kGAAkC;;;;IAK1C,4EAGyC;IAFjC,0TAAkB;IAD1B,2DAGyC;IACzC,4DAAS;;;IADD,gGAAgC;;ADtBrC,MAAM,kBAAkB;IAc7B,YAA8B,QAAkB,EAC5B,YAA0B,EAC1B,cAA8B;QAD9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAblD,cAAS,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGpC,gBAAW,GAAG,IAAI,0DAAY,EAAO,CAAC;QAKtC,wBAAmB,GAAG,KAAK,CAAC;QACpB,qBAAgB,GAAG,KAAK,CAAC;QAK/B,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAM,EAAE,EAAE;YACjE,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;YAChE,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,CAAwB;QACjC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC9E,CAAC;IAED,kBAAkB;QAChB,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa;YACtC,IAAI,CAAC,mBAAmB,EAAE;YAC1B,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI;YAC9C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI;YAC3C,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE;YACxC,IAAI,CAAC,gBAAgB,CAAC;IAC1B,CAAC;;oFA3DU,kBAAkB,kEAcT,wDAAQ;kGAdjB,kBAAkB;;;;;;;;;;iBCVmC,cAC9D;;;;;;iBAK8C,QAAM;;;;;;iBAGG,kBAAM;;;;;;iBAGd,wBAAM;;;;;;iBAU/B,YAAM;;;;;;kBAMN,YAAM;;;;;;kBAIa,cACzC;;QApCJ,yEACE;QAAA,yEACE;QAAA,4EAC8D;QADpB,0IAAS,YAAQ,IAAC;QAA5D,0DAC8D;QAC9D,4DAAS;QACX,4DAAM;QACN,yEACE;QAAA,+FACE;QADsC,oLAAmB,sBAAkB,IAAC;QAC5E,8EACE;QAAA,8HAA8D;QAChE,4DAAW;QACX,8EACE;QAAA,gIAAuE;QACzE,4DAAW;QACX,+EACE;QAAA,gIAA+D;QACjE,4DAAW;QACb,4DAAyB;QAC3B,4DAAM;QACN,0EACE;QAAA,uHAKqC;QACrC,uHAKqC;QACrC,uHAIS;QACX,4DAAM;QACR,4DAAM;;;QAnCM,0DAAuC;QAAvC,4FAAuC;QAKnC,0DAAmC;QAAnC,gGAAmC;QAGnC,0DAAkC;QAAlC,+FAAkC;QAGlC,0DAAkC;QAAlC,+FAAkC;QAUrC,0DAAgC;QAAhC,wFAAgC;QAMhC,0DAAgC;QAAhC,wFAAgC;QAIhC,0DAAwD;QAAxD,4GAAwD;;6FDrBxD,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;sCAeyC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;0LAX5B,SAAS;kBADR,oDAAM;YAIP,WAAW;kBADV,oDAAM;YAIC,OAAO;kBADd,uDAAS;mBAAC,SAAS,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC;;;;;;;;;;;;;;AErBvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACkB;AAI7B;AAGwD;;;;;;;;;;;;;;ICI/E,4EAAoE;IAApE,2DAAoE;IAAM,4DAAY;;;IADxF,4EACE;IAAA,mIAAsF;IACxF,4DAAY;;;IADE,0DAA2B;IAA3B,8FAA2B;;;IAOvC,4EAAsE;IAAtE,2DAAsE;IAAM,4DAAY;;;IAD1F,4EACE;IAAA,mIAAwF;IAC1F,4DAAY;;;IADE,0DAA8B;IAA9B,iGAA8B;;;IAQ9C,wEAC6B;IAD7B,2DAC6B;IAAM,4DAAI;;;;IAGvC,wEAC0B;IAD0C,gTAAyB;IAA7F,2DAC0B;IAAM,4DAAI;;ADjBvC,MAAM,cAAc;IAMzB,YACU,WAAwB,EACxB,KAAqB,EACrB,MAAc,EACf,cAA8B,EAC7B,YAA0B,EAC1B,YAA0B,EAC1B,SAAoB;QANpB,gBAAW,GAAX,WAAW,CAAa;QACxB,UAAK,GAAL,KAAK,CAAgB;QACrB,WAAM,GAAN,MAAM,CAAQ;QACf,mBAAc,GAAd,cAAc,CAAgB;QAC7B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,cAAS,GAAT,SAAS,CAAW;QAVtB,eAAU,GAAG,KAAK,CAAC;QACnB,eAAU,GAAW,YAAY,CAAC;QAUxC,wCAAwC;QACxC,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAClC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,yDAAyD;QACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC;IACjF,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ;;QACN,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,KAAK,OAAC,IAAI,CAAC,KAAK,0CAAE,KAAK,QAAE,IAAI,CAAC,QAAQ,0CAAE,KAAK,CAAC;aAC/D,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CACR,GAAG,EAAE;YACH,IAAI,SAAS,GAAG,YAAY,CAAC;YAC7B,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACvD,IAAI,WAAW,IAAI,IAAI,IAAI,WAAW,CAAC,SAAS,EAAE;gBAChD,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBAC5B,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;oBACpC,SAAS,GAAG,GAAG,CAAC;iBACjB;aACF;YACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE;gBAChC,WAAW,EAAE;oBACX,OAAO,EAAE,MAAM;iBAChB;aACF,CAAC,CAAC;QACL,CAAC,EACD,aAAa,CAAC,EAAE;YACd,MAAM,kBAAkB,GAAG,2BAAsC,CAAC;YAClE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,EAAC,oBAAoB,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAChG,CAAC,CAAC,CAAC;IACT,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEM,aAAa;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,uGAAsB,EAAE;YAC1C,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,WAAW;SACxB,CAAC,CAAC;IACL,CAAC;;4EApFU,cAAc;8FAAd,cAAc;;;;;iBCXY,gBAAO;;;;;;iBAKJ,oBAAM;;;;;;iBAOP,OAAM;;;;;;iBAOnC,mBACF;;;;;;iBAEiC,oDAAM;;;;;;kBAIN,0EAAM;;;;;;kBAIR,qCAAM;;;;;;kBAC8B,IAAM;;;;;;kBAvBD,kCAAM;;;;;;kBAOJ,qBAAM;;;;;;kBASnD,mBAAM;;;;;;kBAIT,cAAM;;QAhC1C,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,kFACE;QAAA,iFAA+B;QAA/B,0DAA+B;QAAO,4DAAiB;QACzD,4DAAkB;QAClB,mFACE;QAAA,0EACE;QADuB,0IAAY,cAAU,IAAC;QAC9C,oFACE;QAAA,4EAA8B;QAA9B,2DAA8B;QAAM,4DAAY;QAChD,uEACA;QAAA,wHAEY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAA6B;QAA7B,2DAA6B;QAAM,4DAAY;QAC/C,uEACA;QAAA,wHAEY;QACd,4DAAiB;QACjB,6EACE;QADF,4DACE;QACF,4DAAS;QACT,iEAAK;QAAA,iEACL;QAAA,wEAAiC;QAAjC,4DAAiC;QAAM,4DAAO;QAC9C,yGACuC;QACvC,iEACA;QAAA,wEAAiC;QAAjC,4DAAiC;QAAM,4DAAO;QAC9C,yGACoC;QAAA,8DACpC;QAAA,iEACA;QAAA,wEAA+B;QAA/B,4DAA+B;QAAM,4DAAO;QAAA,kEAAM;QAAA,yEACiB;QADjB,4DACiB;QAAM,4DAAI;QAAA,8DAC/E;QAAA,4DAAO;QACT,4DAAmB;QACrB,4DAAW;QACb,4DAAM;QACR,4DAAM;;QAjCQ,0DAAkB;QAAlB,+EAAkB;QAIR,0DAAkD;QAAlD,0HAAkD;QAOlD,0DAAwD;QAAxD,gIAAwD;QAIP,0DAAyB;QAAzB,sFAAyB;QAKpF,0DAAmC;QAAnC,mGAAmC;QAInC,0DAAmC;QAAnC,mGAAmC;;6FDhBpC,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEdiF;AAC5C;AAIU;AAEW;AACjB;AAED;AAC6B;AAC9B;AAMqB;;;;;;;;;;;;;;;AAOtD,MAAM,cAAc;IAezB,YAA8B,QAAkB,EAC5B,EAAe,EACf,UAAsB,EACtB,YAA0B,EAC1B,MAAc,EACd,KAAqB,EACrB,SAAoB,EACpB,cAA8B,EAC9B,uBAAgD,EAChD,YAA0B,EAC1B,YAA0B;QAT1B,OAAE,GAAF,EAAE,CAAa;QACf,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,cAAS,GAAT,SAAS,CAAW;QACpB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAvBtC,UAAK,GAAW,EAAE,CAAC;QAGnB,sBAAiB,GAAG,KAAK,CAAC;QAqBhC,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,gDAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,gDAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,gDAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAErC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAEnB,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;YAC3D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;YACvE,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAM,EAAE,EAAE;YAC9D,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/D,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;YACvE,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAM,EAAE,EAAE;YAC9D,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACtF,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC;YACvE,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAM,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACxB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBACxB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;iBACzB;gBACD,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;YAChD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACtD,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,CAAC,CAAC,wBAAwB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,CAAC,kDAAK,CAAC,KAAK,CAAC,WAAW,EAAE,kDAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;YAC1E,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;aAC5B;SACF;IACH,CAAC;IAED,QAAQ;IACR,CAAC;IAED;;OAEG;IACG,kBAAkB;;YACtB,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;gBACpC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBACnC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;oBACxB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBACpB;gBACD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACjC;QACH,CAAC;KAAA;IAED,UAAU,CAAC,CAAS;QAClB,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE;YAC1B,WAAW,EAAE;gBACX,KAAK,EAAE,CAAC;aACT;YACD,mBAAmB,EAAE,OAAO;SAC7B,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAClC,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;aAChC;iBAAM;gBACL,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9F,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEM,IAAI,CAAC,IAAY;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAC9B;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEK,WAAW;;YACf,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE;gBACzC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,gJAAwC,CAAC,EAAE;oBAC7E,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC5C,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;iBAC1E;qBAAM;oBACL,OAAO;iBACR;aACF;YACD,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,EAAE;gBAC3F,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,8QAAiC,CAAC,CAAC;gBACnE,OAAO;aACR;YACD,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;gBACrC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC;gBAC5F,kEAAkE;gBAClE,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;gBACjC,MAAM,cAAc,GAAG,0DAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtE,MAAM,QAAQ,GAAQ,IAAI,QAAQ,EAAE,CAAC;gBACrC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;gBAC9D,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;oBACrE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;wBACxD,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,0DAAS,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC/D,CAAC,CAAC,CAAC;oBACH,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBAC7C,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;iBACJ;gBAED,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAC/C,CAAC,QAAQ,EAAE,EAAE;oBACX,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;oBAC3F,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAC5C,oCAAoC;oBACpC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC;oBACzD,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC3C,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;oBACR,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;oBAC3F,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvC,CAAC,CACF;aACF;iBAAM;gBACL,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,+HAA6B,CAAC,EAAE;oBAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAClC;aACF;QACH,CAAC;KAAA;IAEO,cAAc;QACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,0EAAa,EAAE;YACjC,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,WAAW;YACvB,IAAI,EAAE,EAAE;SACT,CAAC,CAAC;IACL,CAAC;;4EAvMU,cAAc,kEAeL,wDAAQ;8FAfjB,cAAc;kEAOd,wEAAe;kEAGf,mFAAkB;;;;;;QCnC/B,yEACE;QAAA,yEACE;QAAA,wEAAyB;QAC3B,4DAAM;QACN,yEACE;QAAA,kFAA6C;QAC/C,4DAAM;QACN,yEACE;QAAA,4EAA0D;QAC5D,4DAAM;QACR,4DAAM;QAEN,yEACE;QAAA,oFAA+E;QAA/D,4JAAa,sBAAkB,IAAC,kGAAgB,iBAAa,IAA7B;QAA+B,4DAAiB;QAClG,4DAAM;;QAbgB,0DAA0B;QAA1B,uFAA0B;QAGtB,0DAAmC;QAAnC,gGAAmC;QAGnC,0DAA2B;QAA3B,wFAA2B;QACpC,0DAA8B;QAA9B,2FAA8B;;6FDiBlC,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;sCAgByC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;mzBAP5B,MAAM;kBADL,uDAAS;mBAAC,wEAAe;YAI1B,SAAS;kBADR,uDAAS;mBAAC,mFAAkB;;;;;;;;;;;;;;AEnC/B;AAAA;AAAA;AAAA;AAAA;AAAgE;AACR;AACqB;AAEtE,MAAM,cAAc,GAAe;IACtC,IAAI,kEAAQ,CAAC,0EAAY,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC;QACvC,CAAC,uFAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;QACnC,CAAC,uFAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;KACpC,CAAC,CAAC;IACH,IAAI,kEAAQ,CAAC,0EAAY,CAAC,KAAK,EAAE,IAAI,GAAG,CAAC;QACvC,CAAC,uFAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;QACnC,CAAC,uFAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;QACnC,CAAC,uFAAkB,CAAC,GAAG,EAAE,KAAK,CAAC;QAC/B,CAAC,uFAAkB,CAAC,KAAK,EAAE,OAAO,CAAC;KACpC,CAAC,CAAC;CACJ,CACF;;;;;;;;;;;;;AChBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6E;AAEL;AACpB;;;;AAM7C,MAAM,mBAAmB;IAK9B,YAAoB,iBAAoC,EACpC,iBAAoC,EACpC,OAAgB,EAChB,gBAAkC;QAHlC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,YAAO,GAAP,OAAO,CAAS;QAChB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAN9C,gBAAW,GAAsB,IAAI,CAAC;QACtC,mBAAc,GAAkB,IAAI,kEAAa,EAAE,CAAC;QAM1D,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;aAC3D,MAAM,EAAE;aACR,IAAI,CAAC,KAAK,CAAC;aACX,GAAG,CAAC,KAAK,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC;QAEvC,iBAAiB,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE,EAAE;;YAC7C,IAAI,YAAY,EAAE;gBAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5D,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,mEAAe,CAAC,0BAA0B,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;aACjG;iBAAM;gBACL,UAAI,CAAC,WAAW,0CAAE,OAAO,GAAG;aAC7B;YACD,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;;sFAxBU,mBAAmB;mGAAnB,mBAAmB;6FAAnB,mBAAmB;cAJ/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,QAAQ,EAAE,EAAE;aACb;;AAiCM,MAAM,0BAA0B;;oGAA1B,0BAA0B;0GAA1B,0BAA0B;QCzCvC,oEACA;;6FDwCa,0BAA0B;cALtC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,8BAA8B;gBAC3C,SAAS,EAAE,CAAC,6BAA6B,CAAC;aAC3C;;;;;;;;;;;;;;AExCD;AAAA;AAAA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,yDAAO;IACP,qDAAK;AACP,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;;;;;;;;;;;;;ACHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACuB;AACpB;;;;;;;ICG/C,uEACiE;;;IAD/B,wGAAmC;IAChE,2FAAsB;IAAC,uFAA8B;;ADIvD,MAAM,qBAAqB;IAIhC,YAAoB,SAA8C,EAC9C,mBAA+C,EACvB,IAAI;QAF5B,cAAS,GAAT,SAAS,CAAqC;QAC9C,wBAAmB,GAAnB,mBAAmB,CAA4B;QACvB,SAAI,GAAJ,IAAI;QAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,0DAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB;IAC/E,CAAC;;0FApBU,qBAAqB,6VAMZ,wEAAe;qGANxB,qBAAqB;;;;;iBCRD,uDAAM;;;;;;iBACE,mdAAoB;;;;;;iBAO0C,sBAAM;;QAV7G,qFACE;QAAA,yEACE;QAAA,qEAA6B;QAA7B,0DAA6B;QAAM,4DAAK;QACxC,uEAAqC;QAArC,0DAAqC;QAAoB,4DAAO;QAChE,yEAAsB;QAAA,iEAAM;QAAA,4DAAM;QAClC,iHACiE;QACnE,4DAAM;QACR,4DAAqB;QACrB,wFACE;QAAA,6EAA6E;QAAlB,8IAAS,WAAO,IAAC;QAAC,wEAAwB;QAAxB,2DAAwB;QAAM,4DAAO;QAAA,4DAAS;QAC7H,4DAAqB;;QARwC,0DAAO;QAAP,uEAAO;QAAP,4DAAO;QAEzC,0DAAS;QAAT,+EAAS;;6FDKvB,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,gCAAgC;gBAC7C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;;sBAOc,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEhBrC;AAAA;AAAA,IAAY,YAcX;AAdD,WAAY,YAAY;IACtB,+BAAe;IACf,6CAA6B;IAC7B,mDAAmC;IACnC,mCAAmB;IACnB,mCAAmB;IACnB,mCAAmB;IACnB,mCAAmB;IACnB,qCAAqB;IACrB,uCAAuB;IACvB,+CAA+B;IAC/B,qCAAqB;IACrB,mDAAmC;IACnC,mCAAmB;AACrB,CAAC,EAdW,YAAY,KAAZ,YAAY,QAcvB;;;;;;;;;;;;;ACdD;AAAA;AAAA;AAAA;AAAA;AAA2D;;;;AAQpD,MAAM,gBAAgB;IAI3B,YAAoB,UAAsB,EACtB,iBAAoC;QADpC,eAAU,GAAV,UAAU,CAAY;QACtB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAHhD,aAAQ,GAAW,cAAc,CAAC;QAIxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC;aACnE,SAAS,CAAC,IAAI,CAAC,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI;YACpB,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;;gFAfU,gBAAgB;gGAAhB,gBAAgB;QCR7B,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,mFACE;QAAA,oEAAG;QAAA,uDAAW;QAAA,4DAAI;QACpB,4DAAmB;QACrB,4DAAW;QACb,4DAAM;QACR,4DAAM;;QAJK,0DAAW;QAAX,4EAAW;;6FDIT,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAmD;AAE5C,MAAM,OAAO;IAApB;QAEU,QAAG,GAAW,CAAC,CAAC;IAmF1B,CAAC;IA3EC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,EAAE,CAAC,KAAa;QAClB,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG,CAAC,KAAa;QACnB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,EAAE;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAEM,UAAU;QACf,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,SAAS,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;YACrG,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YAChC,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;YAC/B,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;YACvC,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;YACjC,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;CACF;;;;;;;;;;;;;ACvFD;AAAA;AAAA;AAAA;AAAkC;AACW;AAEtC,MAAM,KAAK;IAehB,YAAY,YAAoB;QAZxB,oBAAe,GAAW,gBAAgB,CAAC;QAC3C,oBAAe,GAAW,gBAAgB,CAAC;QAC3C,UAAK,GAAW,EAAE,CAAC;QACnB,iBAAY,GAAW,MAAM,CAAC;QAC9B,mBAAc,GAAmB,EAAE,CAAC;QAKpC,qBAAgB,GAAW,CAAC,CAAC,CAAC;QAIpC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,gDAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,cAAc,CAAC,KAAa;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,cAAc,CAAC,KAAa;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACpD,CAAC;IAEM,eAAe,CAAC,KAAmB;QACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IACrD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS,CAAC,IAAY;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,IAAI,cAAc,CAAC,IAAY;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,YAA0B,EAAE,EAAE;YACzD,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,aAAa,EAAE,CAAC,aAAa,CAAC;SAC/B;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,IAAI,2DAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpF,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,CAAS;QACrB,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;YAC9B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC5C,CAAC;CACF;;;;;;;;;;;;;ACnID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD;AACD;AACyB;AAEtE,MAAM,kBAAkB,GAAG,IAAI,+DAAS,CAAC,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC,EAC/F;IACE,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC;IACjD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;CACjD,CAAC,CAAC;AAEE,MAAM,gBAAgB,GAAG,IAAI,+DAAS,CAAC,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,GAAG,CAAC,EAC3F;IACE,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC;IACjD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;CACjD,CAAC,CAAC;AAEE,MAAM,kBAAkB,GAAG,IAAI,+DAAS,CAAC,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC,EAC/F;IACE,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC;IACjD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;CACjD,CAAC,CAAC;AAEE,MAAM,kBAAkB,GAAG,IAAI,+DAAS,CAAC,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC,EAC/F;IACE,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,MAAM,CAAC;IAClD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,IAAI,CAAC;IAChD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC;CAClD,CAAC,CAAC;AAEE,MAAM,gBAAgB,GAAG,IAAI,+DAAS,CAAC,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC,EAC7F;IACE,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC;IACjD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC;CAClD,CAAC,CAAC;AAEE,MAAM,gBAAgB,GAAG,IAAI,+DAAS,CAAC,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC,EAC7F;IACE,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC;IACjD,8DAAS,CAAC,aAAa,CAAC,uFAAkB,CAAC,KAAK,CAAC;CAClD,CAAC,CAAC;;;;;;;;;;;;;AC1DL;AAAA;AAAA;AAAA;AAAyC;AACc;;AAMhD,MAAM,iBAAiB;IAH9B;QAKU,cAAS,GAAG,IAAI,4CAAO,EAAW,CAAC;QACnC,aAAQ,GAAG,CAAC,CAAC;KAsBtB;IApBC,IAAI,CAAC,QAAa;QAChB,EAAE,IAAI,CAAC,QAAQ,CAAC;QAChB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;YACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,OAAO,QAAQ,EAAE,CAAC;IACpB,CAAC;IAED,IAAI;QACF,EAAE,IAAI,CAAC,QAAQ,CAAC;QAChB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,EAAE;YACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5B;IACH,CAAC;IAEM,WAAW,CAAC,QAAQ;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC1D,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC;;kFAxBU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB,mBAFhB,MAAM;6FAEP,iBAAiB;cAH7B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAO,MAAM,SAAS;IAOpB,YAAY,IAAY,EAAE,KAAa,EAAE,WAAmB,EAAE,cAAsB,EAAE,IAAY;QAChG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,cAAc,CAAC,KAAa;QAC9B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;;;;;;;;;;;;;ACtDD;AAAA;AAAA;AAAA;AAAA;AAAoE;AAC+C;AACZ;AAEhG,MAAM,MAAM;IAEjB,YAAoB,MAAiB;QAAjB,WAAM,GAAN,MAAM,CAAW;IACrC,CAAC;IAEM,aAAa,CAAC,OAAe;QAClC,MAAM,YAAY,GAAG,IAAI,wEAAe,EAAE,CAAC;QAC3C,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;QACjC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gIAA2B,EAAE,YAAY,CAAC,CAAC;QAC9E,OAAO,SAAS,CAAC,WAAW,EAAE;aAC3B,SAAS,EAAE;aACX,IAAI,CAAC,MAAM,CAAC,EAAE;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,cAAc,CAAC,OAAe,EAAE,OAAY;QACjD,MAAM,YAAY,GAAG,IAAI,wEAAe,EAAE,CAAC;QAC3C,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;QACjC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,IAAI,GAAG,EAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC;QAEzD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oHAAuB,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO,SAAS,CAAC,WAAW,EAAE;aAC3B,SAAS,EAAE;aACX,IAAI,CAAC,MAAM,CAAC,EAAE;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,CAAC,CAAC;IACN,CAAC;CAEF;;;;;;;;;;;;;ACrCD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;;;;;AASpC,MAAM,cAAc;IAEzB,YAAoB,IAAgB,EAChB,mBAA+C,EAC/C,cAA8B;QAF9B,SAAI,GAAJ,IAAI,CAAY;QAChB,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,mBAAc,GAAd,cAAc,CAAgB;IAClD,CAAC;IAEM,MAAM,CAAC,SAAiB;;QAC7B,MAAM,MAAM,SAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,0CAAE,MAAM,CAAC;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,MAAM,cAAc,SAAS,EAAE,CAAC,CAAC;IAChI,CAAC;;4EAVU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;6FAEP,cAAc;cAH1B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAkC;AACJ;AAEvB,MAAM,OAAO;IAIlB,YAAY,QAAkB;QAFtB,MAAC,GAAc,EAAE,CAAC;QAGxB,QAAQ,CAAC,gBAAgB,CAAC,4CAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC5D,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,4CAAK,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE;YAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,4CAAK,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE;YAC3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,gDAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACvC,CAAC;IAEM,aAAa,CAAC,IAAY;QAC/B,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,EAAE;gBACvB,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC;aAChC;iBAAM;gBACL,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;aACvB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,OAAO,CAAC,OAAO,CAAC;SACxB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,OAAO,CAAC,QAAQ,CAAC;SACzB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,GAAG,CAAC,IAAY;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBAC3B,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAClB;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;SAC1B;IACH,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,YAAY;QACjB,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;CAEF;;;;;;;;;;;;;AC/FD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACuB;AAClB;AAE0B;AAE3B;AACY;;AAKlD,MAAM,YAAY;IAHzB;QAKU,iBAAY,GAAuB,IAAI,CAAC;QACxC,gBAAW,GAAgB,EAAE,CAAC;QAC9B,gBAAW,GAAG,kFAAiB,CAAC;QAChC,0BAAqB,GAAG,IAAI,+EAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;KAoM7D;IAlMQ,oBAAoB,CAAC,WAAwB,EAAE,WAAmB;QACvE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,2DAAS,CAAC,IAAI,+EAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACI,uBAAuB;;QAC5B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,aAAO,IAAI,CAAC,YAAY,0CAAE,YAAY,CAAC,UAAU,CAAC;SACnD;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACI,+BAA+B,CAAC,WAAmB;QACxD,IAAI,KAAK,GAAiB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,uBAAuB,EAAE,EAAE;gBACnE,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACvE,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACvE,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAClC,OAAO,KAAK,CAAC,GAAG,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC;IAEM,GAAG,CAAC,KAAY,EAAE,WAAmB;QAC1C,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,2DAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;SAC1D;aAAM;YACL,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxC,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;SACrC;IACH,CAAC;IAEM,MAAM,CAAC,KAAY,EAAE,WAAmB;QAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,SAAS,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE;gBACvC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aACnC;iBAAM;gBACL,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;aACxC;SACF;IACH,CAAC;IAEM,SAAS;QACd,IAAI,MAAM,GAAY,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,kBAAkB,CAAC,KAAY;QACrC,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,CAAC;SACrD;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,iBAAiB,CAAC,WAAmB;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,SAAS,GAAc,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/C,IAAI,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;gBACvC,OAAO,SAAS,CAAC,KAAK,CAAC;aACxB;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,gBAAgB,CAAC,KAAY;QAClC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;aAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzF,CAAC;IAEM,WAAW,CAAC,MAAa,EAAE,MAAa,EAAE,WAAmB;QAClE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,CAAC;IAEO,oBAAoB;;QAC1B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,aAAO,IAAI,CAAC,YAAY,0CAAE,YAAY,CAAC,KAAK,CAAC;SAC9C;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,QAAQ;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5B,CAAC;IAEM,cAAc,CAAC,WAA0B;QAC9C,IAAI,eAAe,GAAY,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACxB,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,KAAK,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;gBAC1D,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;gBACvC,MAAM;aACP;SACF;QAED,mFAAmF;QACnF,oGAAoG;QACpG,mCAAmC;QACnC,IAAI,MAAM,GAAY,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAAC,EAAE;YAC/G,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;SACf;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,YAAY,CAAC,KAAa;QAC/B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,IAAI,oBAAoB,CAAC,KAAK;QAC5B,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,qBAAqB,GAAG,IAAI,+EAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IAEM,0BAA0B,CAAC,WAAgB;QAChD,IAAI,QAAQ,GAAgB,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAChD,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,SAAS,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE;gBACvC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;aACxC;YACD,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE;gBAC9B,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1B;SACF;QACD,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClE,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB,CAAC,WAAwB,EAAE,MAAgB,EAAE,EAAU;QAC7E,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjB,IAAI,KAAK,GAAU,0DAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,2DAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IAEL,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,sEAAc,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAEM,IAAI,CAAC,IAAI,EAAE,WAAwB;QACxC,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,UAAU,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;;wEAxMU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;6FAEP,YAAY;cAHxB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACXD;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;AAA0E;AAC/B;AACF;AAE0B;AAEH;AACb;AAC4B;AACzB;AACS;AACO;AAGX;AACI;AAET;;;;;;;;;;;;;;;;;;;;ICEpD,iFAQC;IANC,4WAA4B,gRACZ,OAAO,uEADK;IAM7B,4DAAa;;;IANZ,0FAA4B;;;;IAqB9B,iFAQC;IANC,6WAA6B,gRACb,QAAQ,yEADK;IAM9B,4DAAa;;;IANZ,2FAA6B;;;IAiB7B,iFAG0B;;IAA6C,4DAAa;;;IADlF,+EAAkB;;;;;;;IAXxB,qFAIE;IAAA,4EAA6B;IAA7B,2DAA6B;IAAM,4DAAY;IAC/C,iFAIE;IAFA,mXAA0C;IAE1C,oJAGoF;IACtF,4DAAa;IACf,4DAAiB;;;IAXf,qFAAqB;IAGnB,0DAAkC;IAAlC,2FAAkC;IAIX,0DAAY;IAAZ,qFAAY;;;IAenC,iFAG+B;;IACrB,4DAAa;;;IAFrB,wFAA2B;;;;;;;IAXjC,qFAIE;IAAA,4EAAqC;IAArC,2DAAqC;IAAM,4DAAY;IACvD,iFAIE;IAFA,gXAAuC;IAEvC,oJAIuB;;IACzB,4DAAa;IACf,4DAAiB;;;IAZf,qFAAqB;IAGnB,0DAAmC;IAAnC,4FAAmC;IAIP,0DAA4B;IAA5B,2JAA4B;;;;IAO5D,qFAIE;IAAA,4EAAqC;IAArC,2DAAqC;IAAM,4DAAY;IACvD,4EAMA;IAJO,kVAA2B,IAAI,KAAE;IAFxC,4DAMA;IAAA,sFAGgD;IAChD,4FAAqD;IACvD,4DAAiB;;;;IAbD,qFAAqB;IAG5B,0DAAmC;IAAnC,4FAAmC;IAOxC,0DAAc;IAAd,qEAAc;;;IASd,iFAIC;IAAA,uDAAe;IAAA,4DAAa;;;IAD3B,8GAA0C;IAD1C,4EAAe;IAEhB,0DAAe;IAAf,8EAAe;;;;IARpB,qFAEE;IAAA,4EAA0B;IAA1B,2DAA0B;IAAM,4DAAY;IAC5C,iFACE;IAD8C,+VAA+B,IAAI,KAAE;IACnF,oJAI6B;IAC/B,4DAAa;IACf,4DAAiB;;;IAT4E,qFAAqB;IAEpG,0DAAmC;IAAnC,4FAAmC;IAEzB,0DAAoB;IAApB,6FAAoB;;;IAWxC,iFAIC;IAAA,uDAAe;IAAA,4DACf;;;IAFC,8GAA0C;IAD1C,4EAAe;IAEhB,0DAAe;IAAf,8EAAe;;;;IARpB,qFAEE;IAAA,4EAA0B;IAA1B,2DAA0B;IAAM,4DAAY;IAC5C,iFACE;IAD8C,+VAA+B,IAAI,KAAE;IACnF,oJAKC;IACH,4DAAa;IACf,4DAAiB;;;IAVD,qFAAqB;IAEvB,0DAAmC;IAAnC,4FAAmC;IAEzB,0DAAmB;IAAnB,4FAAmB;;;IAavC,4EAAuE;IAAvE,2DAAuE;IAAM,4DAAY;;;IACzF,4EAAqE;IAArE,2DAAqE;IACpC,4DAAY;;;IAAZ,0DAAY;IAAZ,iIAAY;IAAZ,4DAAY;;;IAC7C,4EAA+D;IAA/D,2DAA+D;IAC9B,4DAAY;;;IAAZ,0DAAY;IAAZ,iIAAY;IAAZ,4DAAY;;;IAL/C,4EACE;IAAA,6IAAyF;IACzF,6IAC6C;IAC7C,6IAC6C;IAC/C,4DAAY;;;IALE,0DAA+B;IAA/B,yIAA+B;IAC/B,0DAA0B;IAA1B,oIAA0B;IAE1B,0DAA0B;IAA1B,oIAA0B;;;IAQxC,0EAE8B;;IAFuB,mFAA0B;;;IAG/E,0EAE8B;;IAFsB,mFAA0B;;;IAKhF,0EACE;IAAA,mFAEoB;IAFpB,2DAEoB;IACpB,4DAAe;IACf,2EACE;IAAA,+EAIC;IAAA,+DAAI;IAAA,4DAAW;IAClB,4DAAO;IACP,gEAAK;IAAA,gEACP;IAAA,4DAAM;;;IAbD,sFAAqB;IAEtB,0DAAyB;IAAzB,kFAAyB;;ADlItB,MAAM,uBAAuB;IAalC,YAA8B,QAAkB,EAC5B,YAA0B,EAC1B,YAA0B,EAC1B,EAAe;QAFf,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,OAAE,GAAF,EAAE,CAAa;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,sEAAY,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,sEAAY,CAAC,IAAI,CAAC,CAAC;QAEzF,CAAC,kDAAK,CAAC,KAAK,CAAC,WAAW,EAAE,kDAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;YAC1E,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpC,IAAI,KAAK,CAAC,OAAO,EAAE;oBACjB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBACzC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;iBACnD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE;YACzD,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE;YAC3I,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SAC3F;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QACjF,IAAI,CAAC,MAAM,GAAG,uEAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;IACzF,CAAC;IAED,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;QAEjF,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE;YACpD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;YACxE,IAAI,CAAC,MAAM,GAAG,8DAAU,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;SAC3E;aAAM;YACL,IAAI,CAAC,MAAM,GAAG,uEAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,WAAW,CAAC,CAAC;SACxF;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC3B,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,YAAY,EAAE,sEAAY,CAAC,KAAK;YAChC,aAAa,EAAE,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1D,GAAG,EAAE,IAAI,0DAAW,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAC,CAAC;YACpD,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,yDAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,yDAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;SAChE,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YAC3D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC;QAC1G,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACpD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;gBAClF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC9E,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC1E;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACrD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACpF,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAChF,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC1E;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACnD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YACvD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE;gBAC5F,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC;gBACxF,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC1E;QACH,CAAC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC1F,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC5G,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SACrG;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,sEAAY,CAAC,KAAK,EAAE;YAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACnC;IACH,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,OAAY,EAAE,GAAW,EAAE,GAAW;QACzD,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC7B;aAAM;YACL,IAAI,OAAO,GAAG,GAAG,EAAE;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACzB;YACD,IAAI,OAAO,GAAG,GAAG,EAAE;gBACjB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aACzB;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChF,CAAC;IAEO,OAAO,CAAC,IAAY,EAAE,OAAe;QAC3C,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,OAAO,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;YAClE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC/C;QACD,IAAI,IAAI,KAAK,QAAQ,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAChD;IACH,CAAC;IAEM,WAAW,CAAC,CAAM;QACvB,IAAI,MAAM,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,EAAE;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC;SACvF;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,aAAa,GAAG,GAAG,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;SACzH;QAED,uHAAuH;QACvH,IAAI,MAAM,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC1E,MAAM,EAAE,MAAM;SACf,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChF,CAAC;IAEM,cAAc;;QACnB,OAAO,WAAI,CAAC,MAAM,0CAAE,QAAQ,MAAK,6DAAQ,CAAC,OAAO,CAAC;IACpD,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAChC,0EAAc,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,IAAI,GAAG,CAAC,IAAI,IAAI,QAAQ,EAAE;gBACxB,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,CAAkB;QAC/B,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,CAAC,KAAK,IAAI,sEAAY,CAAC,KAAK,EAAE;YACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;YAC7D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACnC;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;YAC9D,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;SAClC;QACD,uCAAuC;QACvC,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,+EAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACpG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC;QAC1G,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAC1E,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;SAC3B,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,YAAY;;QACV,MAAM,cAAc,SAAG,uEAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,0CAAE,eAAe,CAAC;QAC7I,OAAO,cAAc,IAAI,KAAK,CAAC;IACjC,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,UAAsB;QAChC,OAAO,UAAU,IAAI,mEAAU,CAAC,WAAW,IAAI,UAAU,IAAI,mEAAU,CAAC,SAAS,CAAC;IACpF,CAAC;IAED,aAAa;;QACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oEAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1C,IAAI,SAAS,GAAG,oEAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,SAAS,CAAC,IAAI,YAAK,IAAI,CAAC,MAAM,0CAAE,QAAQ,GAAE;gBAC5C,OAAO,SAAS,CAAC,KAAK,CAAC;aACxB;SACF;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;IAC1D,CAAC;IAED,cAAc,CAAC,CAAM;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QACpE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;;8FAzPU,uBAAuB,kEAad,wDAAQ;uGAbjB,uBAAuB;;;;;iBCvBH,gBAAM;;;;;;iBAIV,YAAM;;;;;;iBAIP,eAAM;;;;;;iBAqBL,eAAM;;;;;;iBAmGJ,oBAAM;;;;;;kBAcE,6BAAM;;;;;;kBAEpB,+EAAM;;;;;;kBAGN,6EAAM;;;;;;kBA5FA,aAAM;;;;;;kBAQP,sDAA6C;;;;;;kBAQpC,eAAM;;;;;;kBAQV,qGACrB;;;;;;kBAQyB,eAAM;;;;;;kBAgBjB,OAAM;;;;;;kBAYN,OAAM;;;;;;kBAgByC,6BAAM;;;;;;kBACR,oDACpC;;;;;;kBAC8B,uEAC9B;;;;;;kBAQZ,+EAAM;;;;;;kBAGN,6EAAM;;;;;;kBAOT,sBACpB;;;;;;kBAIgB,qKAAM;;QAhKxB,oFACE;QAAA,4EAA+B;QAA/B,0DAA+B;QAAM,4DAAY;QACjD,sEACF;QAAA,4DAAiB;QACjB,oFACE;QAAA,4EAA2B;QAA3B,0DAA2B;QAAM,4DAAY;QAC7C,sEACF;QAAA,4DAAiB;QACjB,oFACE;QAAA,4EAA0B;QAA1B,2DAA0B;QAAM,4DAAY;QAC5C,4EASA;QANE,mKAAgB,WAAO,OAAO,qDAA6C,IAAC;QAH9E,4DASA;QAAA,mIAQc;QAChB,4DAAiB;QACjB,qFACE;QAAA,6EAA2B;QAA3B,2DAA2B;QAAM,4DAAY;QAC7C,4EAWA;QARE,mKACS,WAAO,QAAQ,uDAE5B,IADK;QALH,4DAWA;QAAA,mIAQc;QAChB,4DAAiB;QACjB,2IAciB;QAEjB,2IAeiB;QAEjB,4IAgBiB;QAEjB,4IAUiB;QAEjB,4IAWiB;QAEjB,sFACE;QAAA,6EAA6B;QAA7B,4DAA6B;QAAM,4DAAY;QAC/C,6EAEA;QAFuD,uJAAU,0BAAsB,IAAC;QAAxF,4DAEA;QAAA,kIAMY;QACd,4DAAiB;QACjB,iEACA;QACA,sFACE;QAAA,6EAAqC;QAArC,4DAAqC;QAAM,4DAAY;QACvD,gIAE8B;QAC9B,gIAE8B;QAChC,4DAAiB;QAEjB,sHAaM;;QAnK8B,0DAA6B;QAA7B,iGAA6B;QAI7B,0DAA0B;QAA1B,8FAA0B;QAM1D,0DAA4B;QAA5B,gGAA4B;QAE5B,uFAA0B;QAMzB,0DAA4B;QAA5B,4FAA4B;QAa7B,0DAA6B;QAA7B,iGAA6B;QAI7B,wFAA2B;QAM1B,0DAA6B;QAA7B,6FAA6B;QAW/B,0DAA2B;QAA3B,sFAA2B;QAgB3B,0DAAqE;QAArE,+HAAqE;QAiBvD,0DAAyE;QAAzE,4IAAyE;QAiBzE,0DAA0E;QAA1E,6IAA0E;QAWtC,0DAA+C;QAA/C,8GAA+C;QAapF,0DAAqB;QAArB,kFAAqB;QAIvB,0DAA6D;QAA7D,qIAA6D;QAU3D,0DAAqB;QAArB,kFAAqB;QAExB,0DAA+B;QAA/B,mGAA+B;QAG/B,0DAA8B;QAA9B,kGAA8B;QAKf,0DAAoB;QAApB,oFAAoB;;6FDhInC,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;sCAcyC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;8PAVrB,QAAQ;kBADd,mDAAK;;;;;;;;;;;;;;AE1BR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACL;AAEqB;;;;;;;;ICChE,4EACE;IADqD,yXAA2C;IAChG,uDACF;IAAA,4DAAS;;;IADP,0DACF;IADE,8FACF;;ADIO,MAAM,gBAAgB;IAU3B,YAAoB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAP9C,iBAAY,GAAG,IAAI,0DAAY,EAAE,CAAC;QAGlC,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;QAE7B,oBAAe,GAAa,EAAE,CAAC;QAGpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACxD,CAAC;IAEM,OAAO;QACZ,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE1C,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;YAC/F,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC,CAAC;SAC9D;IACH,CAAC;IAEM,iBAAiB,CAAC,MAAc;QACrC,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE1C,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE;YAC/F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC,CAAC;SACjE;aAAM;YACL,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAC,CAAC,CAAC;SACzF;IACH,CAAC;IAEO,eAAe;QACrB,yBAAyB;QACzB,IAAI,YAAY,GAAG,IAAI,+EAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzC,6EAA6E;QAC7E,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE;YAChC,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;gBACpE,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;aAC/B;iBAAM;gBACL,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;aAC/B;SACF;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,uBAAuB;QAC7B,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,oCAAoC;QACpC,KAAK,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3C;QACD,oCAAoC;QACpC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACzB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,+BAA+B;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC3B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9B;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;;gFAvEU,gBAAgB;gGAAhB,gBAAgB;;;;;iBCT2D,kBAAI;;QAD5F,yEACE;QAAA,8EAA4F;QAAlE,0IAAS,aAAS,IAAC;QAA+C,yEAC5F;QAAA,4DAAW;QACb,4DAAM;QACN,kHAES;;QALG,0DAAe;QAAf,wEAAe;QAGQ,0DAAkB;QAAlB,wFAAkB;;6FDMxC,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;mHAIC,YAAY;kBADX,oDAAM;YAIP,cAAc;kBADb,oDAAM;;;;;;;;;;;;;;AEfT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+G;AAItE;AACL;AACW;AAEyC;;;;;;;;;;;;;;;;;;;ICwClF,6EAKE;IALF,gEAKE;IAAA,0EAAgE;IAClE,yDAAS;IAAT,4DAAS;;;;IANmC,kFAAiC;;;IAU7E,6EAGE;IAAA,+EAA4B;IAAA,gEAAK;IAAA,4DAAW;IAC9C,4DAAS;;;IACT,6EAIE;IAAA,+EAA4B;IAAA,yEAAc;IAAA,4DAAW;IACrD,uDACF;IAAA,4DAAS;;;;IAN4B,kFAA6B;IAKhE,0DACF;IADE,4FACF;;;;IACA,6EAEE;IAF6E,oTAAkB;IAE/F,+EAA4B;IAAA,iEAAM;IAAA,4DAAW;IAC/C,4DAAS;;;IAEP,6EAC6D;IAD7D,2DAC6D;IAC7D,4DAAS;;;IACT,6EACwE;IADxE,2DACwE;IACxE,4DAAS;;;IACT,6EACwE;IADxE,2DACwE;IACxE,4DAAS;;;ADjEV,MAAM,YAAY;IAoBvB,YAA8B,QAAkB,EAC7B,cAA8B,EAC7B,uBAAgD,EAChD,eAAgC,EAChC,iBAAoC,EACpC,MAAc,EACd,KAAqB,EACrB,eAAgC,EAChC,YAA0B;QAP3B,mBAAc,GAAd,cAAc,CAAgB;QAC7B,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,oBAAe,GAAf,eAAe,CAAiB;QAChC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,oBAAe,GAAf,eAAe,CAAiB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QA1B9C,UAAK,GAAG,YAAY,CAAC;QAEb,kBAAa,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACjC,sBAAiB,GAAa;YACpC,iDAAiD;YACjD,2CAA2C;YAC3C,mCAAmC;YACnC,yCAAyC;YACzC,wCAAwC;SACzC,CAAC;QAIM,gBAAW,GAAW,CAAC,CAAC;QAExB,qBAAgB,GAAW,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;QACrD,oBAAe,GAAY,KAAK,CAAC;QAWvC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAC7I,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,yCAAyC,CAAC,CAAC,CAAC;QAC/I,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAC7I,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAE3I,IAAI,CAAC,8BAA8B,GAAG,uBAAuB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;YAC5F,IAAI,CAAC,WAAW,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5D,IAAI,CAAC,YAAY,6DAAa,EAAE;gBAC9B,IAAI,IAAI,CAAC,mBAAmB,IAAI,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;oBACnJ,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;iBACjE;gBACD,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC,GAAG,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC9D,uBAAuB,CAAC,MAAM,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE;YACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;;YACpC,IAAI,IAAI,YAAY,gEAAgB,EAAE;gBACpC,UAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,0CAAE,IAAI,EAAE;oBACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC7D;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,WAAW;QACT,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC;QAClD,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;;QACL,IAAI,SAAS,SAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,0CAAE,SAAS;QAC/D,IAAI,QAAQ,SAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,0CAAE,OAAO,CAAC;QAC7D,IAAI,6DAAU,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,6DAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACvE,OAAO,SAAS,GAAG,GAAG,GAAG,QAAQ,CAAC;SACnC;QACD,aAAO,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,0CAAE,KAAK,CAAC;IACrD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,IAAI,QAAQ,CAAC,QAAgB;QAC3B,IAAI,CAAC,eAAe,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAED,QAAQ;QACN,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;;wEA7GU,YAAY,kEAoBH,wDAAQ;4FApBjB,YAAY;;;;;iBCbsD,uBAAM;;;;;;iBAErD,YAAM;;;;;;iBAGL,WAAM;;;;;;iBAGZ,KAAM;;;;;;iBAGF,SAAM;;;;;;kBAmCX,sBAAY;;;;;;kBASZ,gBAAK;;;;;;kBAML,iBAAkB;;;;;;kBAKS,qBAAM;;;;;;kBAkBjC,OAAM;;;;;;kBAE2B,uBAAM;;;;;;kBAEnC,YAAM;;;;;;kBAGL,WAAM;;;;;;kBAGZ,KAAM;;;;;;kBAGF,SAAM;;;;;;kBAnDT,sBAAY;;;;;;kBAE9B,sBAAgE;;;;;;kBAO9C,gBAAK;;;;;;kBAML,iBAAkB;;;;;;kBAKS,qBAAM;;;;;;kBAKU,oCAC7D;;;;;;kBAEwE,mBACxE;;;;;;kBAEwE,2BACxE;;QAnFR,yEACE;QAAA,uEAAuB;QACvB,6EAAmC;QACnC,iFACE;QAAA,yEACE;QAAA,4EAAyE;QAArB,oIAAS,cAAU,IAAC;QAAxE,0DAAyE;QAAM,4DAAS;QACxF,uEACE;QAAA,uEAAwB;QAAxB,0DAAwB;QAAM,4DAAO;QACvC,4DAAI;QACJ,wEACE;QAAA,wEAAyB;QAAzB,2DAAyB;QAAM,4DAAO;QACxC,4DAAI;QACJ,wEACE;QAAA,wEAAmB;QAAnB,4DAAmB;QAAM,4DAAO;QAClC,4DAAI;QACJ,yEACE;QAAA,wEAAuB;QAAvB,4DAAuB;QAAM,4DAAO;QACtC,4DAAI;QACN,4DAAM;QACN,8EACE;QAAA,4EAAU;QAAA,gEAAI;QAAA,4DAAW;QAC3B,4DAAS;QACT,sEAAkB;QAClB,2EACE;QAwBA,iHAMS;QACT,oFACE;QAAA,uFAAqD;QACvD,4DAAW;QACX,iHAIS;QACT,iHAMS;QACT,iHAGS;QACT,sFACE;QAAA,iHAES;QACT,iHAES;QACT,iHAES;QACX,4DAAW;QACb,4DAAM;QACR,4DAAc;QACd,oFACE;QAAA,8EACE;QAAA,wEAAoB;QAApB,4DAAoB;QAAM,4DAAO;QACnC,4DAAS;QACT,8EAAuD;QAAvD,4DAAuD;QAAM,4DAAS;QACtE,yEACE;QAAA,wEAAwB;QAAxB,4DAAwB;QAAM,4DAAO;QACvC,4DAAI;QACJ,yEACE;QAAA,wEAAyB;QAAzB,4DAAyB;QAAM,4DAAO;QACxC,4DAAI;QACJ,yEACE;QAAA,wEAAmB;QAAnB,4DAAmB;QAAM,4DAAO;QAClC,4DAAI;QACJ,yEACE;QAAA,wEAAuB;QAAvB,4DAAuB;QAAM,4DAAO;QACtC,4DAAI;QACN,4DAAW;QACX,4EAA+B;QAC/B,sEAA4B;QAC9B,4DAAM;;;QA3GD,+KAA0D;QAmBxC,2DAA6B;QAA7B,qFAA6B;QA6BrC,0DAAsB;QAAtB,sFAAsB;QAWtB,0DAAmC;QAAnC,mGAAmC;QAKnC,0DAAkC;QAAlC,kGAAkC;QAMA,0DAAkC;QAAlC,kGAAkC;QAKlE,0DAAkC;QAAlC,kGAAkC;QAGlC,0DAAkC;QAAlC,kGAAkC;QAGlC,0DAAkC;QAAlC,kGAAkC;;6FD/DtC,YAAY;cANxB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,eAAe,EAAE,qEAAuB,CAAC,MAAM;gBAC/C,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,qBAAqB,CAAC;aACnC;sCAqByC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;;;;;;;;;;;;;;AEpC9B;AAAA;AAAO,MAAM,SAAS;IAIpB,YAAY,KAAY,EAAE,WAAmB;QAFrC,iBAAY,GAAa,EAAE,CAAC;QAGlC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAY;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEM,YAAY,CAAC,WAAmB;QACrC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE;YACjD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACrC;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SAC9E;IACH,CAAC;IAEM,eAAe,CAAC,WAAmB;QACxC,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SACzF;IACH,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAEM,YAAY,CAAC,WAAmB;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;CACF;;;;;;;;;;;;;AC/CD;AAAA;AAAA;AAA+D;AAE/D,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,QAAgB,EAAE,MAAc,EAAE,EAAE;IACtE,IAAI,MAAM,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE;QAAE,OAAO,SAAS,MAAM,EAAE,CAAC;KAAE;IAEjE,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE7B,MAAM,UAAU,GAAG,IAAI,GAAG,QAAQ,CAAC;IAEnC,2FAA2F;IAC3F,MAAM,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,UAAU,GAAG,QAAQ,CAAC;IACxB,MAAM,eAAe,GAAG,GAAmB,CAAC;IAC5C,OAAO,GAAG,UAAU,GAAG,CAAC,MAAM,QAAQ,IAAI,eAAe,IAAI,MAAM,EAAE,CAAC;AACxE,CAAC,CAAC;AAEK,SAAS,kBAAkB;IAChC,MAAM,aAAa,GAAG,IAAI,4EAAgB,EAAE,CAAC;IAE7C,aAAa,CAAC,iBAAiB,GAAG,yCAA2B,CAAC;IAC9D,aAAa,CAAC,aAAa,GAAG,2BAAuB,CAAC;IACtD,aAAa,CAAC,iBAAiB,GAAG,iCAA2B,CAAC;IAC9D,aAAa,CAAC,aAAa,GAAG,YAAY,CAAC;IAE3C,OAAO,aAAa,CAAC;AACvB,CAAC;;;;;;;;;;;;;ACxBD;AAAA;AAAO,MAAM,QAAQ;IACnB,YAAY,IAAkB,EAAE,MAA2B;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAKD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAmB;QAC1B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAA0B;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;CACF;;;;;;;;;;;;;AC1BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoF;AACZ;AACpB;AAIK;;;;;;ICHrD,qEAA+D;;;IAAnC,qJAA2B;;;;IAFzD,sEACE;IAAA,uEAA8C;IAA7B,8VAA4B;IAAC,iEAAO;IAAA,4DAAI;IACzD,wHAA+D;IACjE,4DAAM;;;;IAH4B,mFAA2B;IAEpD,0DAAmB;IAAnB,kFAAmB;;;IAH9B,yEACE;IAAA,gHAGM;IACR,4DAAM;;;IAJmB,0DAAS;IAAT,kFAAS;;ADY3B,MAAM,cAAc;IAUzB,YAAoB,YAA0B,EAC1B,iBAAoC,EACpC,OAAgB,EAChB,gBAAkC;QAHlC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,YAAO,GAAP,OAAO,CAAS;QAChB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAVtD,SAAI,GAAG,IAAI,CAAC;QAEJ,YAAO,GAAY,EAAE,CAAC;QACtB,gBAAW,GAAsB,IAAI,CAAC;QACtC,mBAAc,GAAkB,IAAI,kEAAa,EAAE,CAAC;QAQ1D,IAAI,CAAC,cAAc,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;aAC3D,MAAM,EAAE;aACR,IAAI,CAAC,KAAK,CAAC;aACX,GAAG,CAAC,KAAK,CAAC,CAAC;QACd,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC;QAEvC,uCAAuC;QACvC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE;YACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAE5D,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE;gBAC9C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,mEAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC3F,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YAEvC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,EAAE,MAAM,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,KAAY;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAE1C,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC;YAEhD,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC,EAAE,GAAG,CAAC,CAAC;SACT;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACrB;IACH,CAAC;IAEO,OAAO,CAAC,KAAY;QAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;SACrD;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACnD,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;QACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAEO,OAAO;QACb,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;IACH,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,IAAI,CAAC;SACb;QAED,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;QAE1B,MAAM,cAAc,GAAG;YACrB,CAAC,gEAAS,CAAC,OAAO,CAAC,EAAE,eAAe;YACpC,CAAC,gEAAS,CAAC,KAAK,CAAC,EAAE,cAAc;YACjC,CAAC,gEAAS,CAAC,IAAI,CAAC,EAAE,YAAY;YAC9B,CAAC,gEAAS,CAAC,OAAO,CAAC,EAAE,eAAe;SACrC;QAED,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzC,IAAI,KAAK,CAAC,IAAI,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACtB;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;;4EAhGU,cAAc;8FAAd,cAAc;QCb3B,0GAKM;;QALyB,uFAAuB;;6FDazC,cAAc;cAL1B,uDAAS;eAAC;gBACT,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACrC;gVAIC,IAAI;kBADH,mDAAK;;AAqGD,MAAM,qBAAqB;;0FAArB,qBAAqB;qGAArB,qBAAqB;QAFrB,kEAAa;;6FAEb,qBAAqB;cAJjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,QAAQ,EAAE,eAAe;aAC1B;;;;;;;;;;;;;;AEnHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;;;;;;;;;ICG1C,qEAAmE;IAAnE,0DAAmE;IAAM,4DAAK;;;IAC9E,qEAA4D;IAA5D,0DAA4D;IAAM,4DAAK;;;;IAGvE,4EAGuC;IAD/B,sUAAiC;IAFzC,0DAGuC;IACvC,4DAAS;;;IAET,sEAA4D;IAA5D,0DAA4D;IAAM,4DAAM;;ADHvE,MAAM,mBAAmB;IAI9B,YAAoB,cAA8B,EAC9B,cAA8B,EAC9B,YAA0B,EAC1B,MAAc;QAHd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QAL1B,qBAAgB,GAAY,KAAK,CAAC;IAM1C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACjD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACzD,IAAI,MAAM,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC7B,uCAAuC;gBACvC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACvD,QAAQ,CAAC,EAAE;oBACT,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;wBACrC,uDAAuD;wBACvD,IAAI,IAAI,GAAG,WAAW,CAAC;wBACvB,IAAI,IAAI,IAAI,IAAI,EAAE;4BAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;4BACtB,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;4BACnD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;yBAC7B;6BAAM;4BACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;yBAClC;qBACF;yBAAM;wBACL,sEAAsE;wBACtE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAClC;oBACD,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,4DAAwC,CAAC,CAAC;gBACtE,CAAC,EAAE,aAAa,CAAC,EAAE;oBACjB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpD,CAAC,CAAC,CAAC;aACN;iBAAM,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,KAAK,EAAE;aAE/C;iBAAM;gBACL,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,oCAAmC,CAAC,CAAC;aAC9D;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,SAAS,CACxD,QAAQ,CAAC,EAAE;gBACT,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,4DAAuC,CAAC,CAAC;YACrE,CAAC,EAAE,aAAa,CAAC,EAAE;gBACjB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,4DAAwC,CAAC,CAAC;SACnE;IACH,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC;IAC3C,CAAC;IAED,IAAI,WAAW;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;QAClD,OAAO,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC;IACxC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;;sFAtEU,mBAAmB;mGAAnB,mBAAmB;;;;;iBCLG,oLAAM;;;;;;iBAFgC,sDAAM;;;;;;iBACb,+CAAM;;;;;;iBAM3B,yCACvC;;;;;;iBAE4D,0DAAM;;QAbxE,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,6GAA8E;QAC9E,6GAAuE;QACvE,sEAA6B;QAA7B,0DAA6B;QAAM,4DAAM;QACzC,gEACA;QAAA,qHAIS;QACT,gEAAK;QAAA,iEACL;QAAA,iHAAwE;QAC1E,4DAAW;QACb,4DAAM;QACR,4DAAM;;QAb4C,0DAAqB;QAArB,qFAAqB;QAC7B,0DAAsB;QAAtB,sFAAsB;QAIjD,0DAAkB;QAAlB,kFAAkB;QAKS,0DAAsB;QAAtB,sFAAsB;;6FDHnD,mBAAmB;cAL/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,gBAAgB;gBAC1B,WAAW,EAAE,6BAA6B;gBAC1C,SAAS,EAAE,CAAC,4BAA4B,CAAC;aAC1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AETgF;AACrC;AAEH;AACD;AAEwB;AACtB;AAG2B;AAGlB;AACW;;;;;;;;;;;;;;;AAOvD,MAAM,eAAe;IAiB1B,YAA8B,QAAkB,EAC5B,SAAoB,EACpB,YAA0B,EAC1B,YAA0B,EAC1B,mBAAwC;QAHxC,cAAS,GAAT,SAAS,CAAW;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAAqB;QAlB5D,aAAQ,GAAyB,IAAI,CAAC;QAI9B,eAAU,GAAG,KAAK,CAAC;QACnB,mBAAc,GAAG,KAAK,CAAC;QAEvB,mBAAc,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEvC,cAAS,GAAG;YAClB,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;SACL;QAOC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,6CAA6C;QAC3F,IAAI,CAAC,OAAO,GAAG,IAAI,sDAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;YACpC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;SAC5B;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE3B,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE;YACtD,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE;YACxD,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE;YACxD,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAM,EAAE,EAAE;YACnE,IAAI,CAAC,YAAY,CAAC,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAM,EAAE,EAAE;YAClE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;YACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;YACjE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,EAAE;YACvD,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE;YACrD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAM,EAAE,EAAE;YAC7D,IAAI,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC;YAC9C,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;gBACrF,IAAI,QAAQ,CAAC,aAAa,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE;oBAC5H,CAAC,CAAC,cAAc,EAAE,CAAC;iBACpB;aACF;QACH,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE;YACzD,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,6BAA6B,EAAE,CAAC,CAAC;QACvH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,EAAE;YACrE,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,WAAW;QACT,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAEM,aAAa,CAAC,WAAmB;QACtC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAEM,WAAW,CAAC,WAAmB;QACpC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAIO,qBAAqB,CAAC,CAAgB;QAC5C,MAAM,MAAM,GAAsB,CAAC,CAAC,MAAO,CAAC,QAAQ,CAAC;QACrD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACzC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;SACnC;IACH,CAAC;IAGM,eAAe;QACpB,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;IACtC,CAAC;IAMO,WAAW,CAAC,CAAgB;QAClC,IAAI,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAGO,oBAAoB,CAAC,CAAgB;QAC3C,CAAC,CAAC,cAAc,EAAE,CAAC;IACrB,CAAC;IAIO,QAAQ,CAAC,CAAgB;QAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAIO,UAAU,CAAC,CAAgB;QACjC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAGO,OAAO,CAAC,CAAgB;QAC9B,IAAI,qEAAW,CAAC,KAAK,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;SACxC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,4DAA4D;IACpD,YAAY;QAClB,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC;QAChE,IAAI,WAAW,GAAG,uEAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;QACrG,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC;YAC9C,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC;SACjD;QACD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3B,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;SACzD;IACH,CAAC;IAEO,aAAa;QACnB,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC;QAChE,IAAI,WAAW,GAAG,6DAAU,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxG,IAAI,WAAW,IAAI,IAAI,EAAE;YACvB,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YACtJ,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACrC,8CAA8C;YAC9C,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;SACrE;aAAM;YACL,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC;YACxC,4DAA4D;SAC7D;IACH,CAAC;IAEK,YAAY;;YAChB,MAAM,OAAO,GAAG,uGAA+B,CAAC;YAChD,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;gBAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC5B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC5E,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;aAC5B;QACH,CAAC;KAAA;IAED;;OAEG;IACK,gBAAgB;QACtB,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QACtC,IAAI,WAAW,IAAI,GAAG,EAAE;YACtB,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAkC,CAAC,CAAC;YAC1G,IAAI,IAAI,GAAG,GAAG,CAAC;YACf,IAAI,WAAW,GAAG,GAAG,EAAE;gBACrB,IAAI,GAAG,GAAG,CAAC;aACZ;YAED,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1B,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;oBACf,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;iBAC3E;YACH,CAAC,CAAC;SACH;IACH,CAAC;IAED,SAAS,CAAC,MAAkB;QAC1B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,+EAAgB,CAAC,KAAK,EAAE;YAChF,OAAO;SACR;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAE/D,sBAAsB;QACtB,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE;gBAClD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC7C,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;gBAClD,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;aACrD;YACD,IAAI,CAAC,SAAS,GAAG;gBACf,CAAC,EAAE,KAAK,CAAC,KAAK;gBACd,CAAC,EAAE,KAAK,CAAC,KAAK;aACf;SACF;IACH,CAAC;IAED,UAAU,CAAC,MAAkB;QAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;YAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,SAAS,GAAG;gBACf,CAAC,EAAE,KAAK,CAAC,KAAK;gBACd,CAAC,EAAE,KAAK,CAAC,KAAK;aACf;SACF;IACH,CAAC;IAED,SAAS,CAAC,MAAkB;QAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;YAC3C,OAAM;SACP;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,+EAAgB,CAAC,KAAK,EAAE;YAChF,OAAO;SACR;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;QAE/D,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,SAAS,GAAG,KAAK,CAAC;YAClD,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC;SACrD;QACD,IAAI,CAAC,SAAS,GAAG;YACf,CAAC,EAAE,MAAM,CAAC,KAAK;YACf,CAAC,EAAE,MAAM,CAAC,KAAK;SAChB;IACH,CAAC;IAED,SAAS,CAAC,MAAkB;QAC1B,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG;YACf,CAAC,EAAE,MAAM,CAAC,SAAS;YACnB,CAAC,EAAE,MAAM,CAAC,SAAS;SACpB;IACH,CAAC;IAED,OAAO,CAAC,MAAkB;QACxB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,OAAO;SACR;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG;YACf,CAAC,EAAE,MAAM,CAAC,SAAS;YACnB,CAAC,EAAE,MAAM,CAAC,SAAS;SACpB;IACH,CAAC;IAED,UAAU,CAAC,MAAkB;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;;8EAlTU,eAAe,kEAiBN,wDAAQ;+FAjBjB,eAAe;+JAAf,iCAA6B,iLAA7B,iCAA6B,2KAA7B,2BAAuB,iLAAvB,uBAAmB,6KAAnB,uBAAmB,mLAAnB,uBAAmB,iLAAnB,uBAAmB,6KAAnB,oBAAgB,uKAAhB,oBAAgB,mKAAhB,sBAAkB,yKAAlB,sBAAkB,mKAAlB,mBAAe;;;;;;iBCbE,KAAI;;;;;;iBAWJ,YAAM;;;;;;iBAaN,gBAAS;;;;;;iBAaT,MAAO;;;;;;iBAaP,SAAQ;;;;;;kBAsBA,gBAAM;;;;;;kBAMV,YAAM;;;;;;kBAMH,gBAAM;;;;;;kBAQR,aAAK;;;;;;kBAOR,SAAM;;;;;;kBAGV,OAAM;;;;;;kBAGE,SAAM;;QAjH1C,2FACE;QAAA,iFACE;QAAA,+EACE;QAAA,uEAGE;QAFC,kIAAS,kBAAc,MAAM,CAAC,IAAC;QAEhC,iFAGyC;QAAA,iEACzC;QAAA,4DAAW;QACb,4DAAI;QACJ,uEAKE;QAHC,kIAAS,kBAAc,QAAQ,CAAC,IAAC;QAGlC,iFAIyD;QAAA,8EACzD;QAAA,4DAAW;QACb,4DAAI;QACJ,wEAME;QAJC,mIAAS,kBAAc,WAAW,CAAC,IAAC;QAIrC,kFAI4D;QAAA,iEAC5D;QAAA,4DAAW;QACb,4DAAI;QACJ,wEAME;QAJC,mIAAS,kBAAc,SAAS,CAAC,IAAC;QAInC,kFAI0D;QAAA,0EAC1D;QAAA,4DAAW;QACb,4DAAI;QACJ,wEAME;QAJC,4HAAS,qBAAiB,SAAC,kBAAc,UAAU,CAAC,IAAE;QAIvD,mFAI2D;QAAA,yEAC3D;QAAA,4DAAW;QACb,4DAAI;QAcN,4DAAe;QACjB,4DAAc;QACd,2FACI;QAAA,2EACE;QAAA,sEAAI;QAAA,wEAA0B;QAA1B,4DAA0B;QAAM,4DAAO;QAAA,6EAAgE;QAAjC,uIAAS,kBAAc,MAAM,CAAC,IAAC;QAA9D,4DAAgE;QAAA,4DAAK;QAChH,2EACE;QAAA,6EAAiC;QACnC,4DAAM;QACR,4DAAM;QACN,2EACE;QAAA,sEAAI;QAAA,wEAAsB;QAAtB,4DAAsB;QAAM,4DAAO;QAAA,6EAAkE;QAAnC,uIAAS,kBAAc,QAAQ,CAAC,IAAC;QAAhE,4DAAkE;QAAA,4DAAK;QAC9G,2EACE;QAAA,yEAAyB;QAC3B,4DAAM;QACR,4DAAM;QACN,2EACE;QAAA,sEAAI;QAAA,wEAAyB;QAAzB,4DAAyB;QAAM,4DAAO;QAAA,6EAC1C;QADyE,uIAAS,kBAAc,WAAW,CAAC,IAAC;QAAnE,4DAC1C;QAAA,4DAAK;QACL,2EACE;QAAA,gFACiD;QACnD,4DAAM;QACR,4DAAM;QACN,2EACE;QAAA,sEAAI;QAAA,wEAAuB;QAAvB,4DAAuB;QAAK,4DAAO;QAAA,6EAAmE;QAApC,uIAAS,kBAAc,SAAS,CAAC,IAAC;QAAjE,4DAAmE;QAAA,4DAAK;QAC/G,2EACE;QAAA,mFACyD;QAD5C,iKAAgB,0BAAsB,IAAC,6GACrB,4BAAwB,IADH;QACK,4DAAc;QACzE,4DAAM;QACR,4DAAM;QACN,2EACE;QAAA,sEAAwB;QAAxB,4DAAwB;QAAM,4DAAK;QACrC,4DAAM;QACN,2EACE;QAAA,sEAAoB;QAApB,4DAAoB;QAAM,4DAAK;QACjC,4DAAM;QACN,2EACE;QAAA,sEAAI;QAAA,wEAAwB;QAAxB,4DAAwB;QAAM,4DAAO;QAAA,6EACzC;QADwE,uIAAS,kBAAc,UAAU,CAAC,IAAC;QAAlE,4DACzC;QAAA,4DAAK;QACL,2EACE;QAAA,oFAGA;QAFE,wKAAmB,2BAAuB,IAAC,kHACvB,8BAA0B,IADH;QAE7C,4DAAe;QACjB,4DAAM;QACR,4DAAM;QACR,2EAOE;QANG,mJAAa,qBAAiB,IAAC,6FACjB,sBAAkB,IADD,2FAElB,qBAAiB,IAFC,2FAGlB,qBAAiB,IAHC,uFAIpB,mBAAe,IAJK,6FAKjB,sBAAkB,IALD;QAMlC,2EACE;QAAA,yEAA6B;QAC/B,4DAAM;QACR,4DAAM;QACR,4DAAsB;QACxB,4DAAwB;;QAjIf,0DAA0C;QAA1C,kGAA0C;QAIjC,0DAA8B;QAA9B,uFAA8B;QAMvC,0DAA4C;QAA5C,oGAA4C;QAC5C,sGAAyC;QAKhC,0DAA8C;QAA9C,sGAA8C;QAD9C,uFAA8B;QAOvC,0DAA+C;QAA/C,uGAA+C;QAE/C,yGAA4C;QAKnC,0DAAiD;QAAjD,yGAAiD;QADjD,uFAA8B;QAOvC,0DAA6C;QAA7C,qGAA6C;QAE7C,uGAA0C;QAKjC,0DAA+C;QAA/C,uGAA+C;QAD/C,uFAA8B;QAOvC,0DAA8C;QAA9C,sGAA8C;QAE9C,wGAA2C;QAKlC,0DAAgD;QAAhD,wGAAgD;QADhD,uFAA8B;QAoBrB,0DAAqC;QAArC,kGAAqC;QAMrC,0DAAuC;QAAvC,oGAAuC;QAMvC,0DAA0C;QAA1C,uGAA0C;QAK5C,0DAAiB;QAAjB,8EAAiB;QAGf,0DAAwC;QAAxC,qGAAwC;QAOxC,0DAA2C;QAA3C,wGAA2C;QAG3C,0DAAuC;QAAvC,oGAAuC;QAGvC,0DAAyC;QAAzC,sGAAyC;;6FD3FvD,eAAe;cAL3B,uDAAS;eAAC;gBACT,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACtC;sCAkByC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;sWAiGpB,qBAAqB;kBAF5B,0DAAY;mBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC;;kBAClD,0DAAY;mBAAC,4BAA4B,EAAE,CAAC,QAAQ,CAAC;YAU/C,eAAe;kBADrB,0DAAY;mBAAC,yBAAyB,EAAE,CAAC,QAAQ,CAAC;YAS3C,WAAW;kBAJlB,0DAAY;mBAAC,4BAA4B,EAAE,CAAC,QAAQ,CAAC;;kBACrD,0DAAY;mBAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC;;kBACnD,0DAAY;mBAAC,6BAA6B,EAAE,CAAC,QAAQ,CAAC;;kBACtD,0DAAY;mBAAC,4BAA4B,EAAE,CAAC,QAAQ,CAAC;YAO9C,oBAAoB;kBAD3B,0DAAY;mBAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC;YAO5C,QAAQ;kBAFf,0DAAY;mBAAC,uBAAuB,EAAE,CAAC,QAAQ,CAAC;;kBAChD,0DAAY;mBAAC,0BAA0B,EAAE,CAAC,QAAQ,CAAC;YAO5C,UAAU;kBAFjB,0DAAY;mBAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC;;kBAC9C,0DAAY;mBAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;YAM1C,OAAO;kBADd,0DAAY;mBAAC,qBAAqB,EAAE,CAAC,QAAQ,CAAC;;;;;;;;;;;;;;AE9KjD;AAAA;AAAA;AAAA;AAAA;AAAyC;;;;AAQlC,MAAM,SAAS;IAIpB,YAAoB,IAAoB,EAAU,MAAc;QAA5C,SAAI,GAAJ,IAAI,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAC9D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;IAC7B,CAAC;IAED,WAAW,CACT,KAA6B,EAC7B,KAA0B;QAC1B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,EAAE;gBAC1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;gBAChC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;aACtB;iBAAM;gBACL,IAAI,QAAQ,GAAW,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE;oBAC/B,WAAW,EAAE,EAAC,WAAW,EAAE,QAAQ,EAAC;iBACrC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAC9B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;kEAvBU,SAAS;4FAAT,SAAS,WAAT,SAAS,mBAFR,MAAM;6FAEP,SAAS;cAHrB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACP2F;AAEhC;AACI;AACb;AAEX;AAEsB;AAGpB;;;;;;;;;;;;;;;ICJlC,wEACE;IAAA,0EACE;IAAA,6EAAqE;IAA3C,8TAAsB;IAAhD,2DAAqE;IAAM,4DAAS;IACpF,gEAAM;IAAA,gEACR;IAAA,4DAAM;IACR,qEAAe;;;;IAQT,6EAA+F;IAAzC,waAAwB;IAA9E,2DAA+F;IAAM,4DAAS;;;;IANlH,sEACE;IAAA,0EACE;IAAA,0EAAkC;IAAA,qEAAwC;IAAA,4DAAM;IAClF,4DAAM;IACN,0EACE;IAAA,6EAAqG;IAA/D,gbAAgC;IAAtE,2DAAqG;IAAM,4DAAS;IACpH,wIAA8G;IAChH,4DAAM;IACN,gEACF;IAAA,4DAAM;;;;IAPqC,0DAAqB;IAArB,8IAAqB;IAInD,0DAAyB;IAAzB,4FAAyB;;;IAgBtC,yEACE;IAAA,sEAAuB;IAAvB,2DAAuB;IAAM,4DAAM;IACnC,sEAAK;IAAA,uDAAqB;IAAA,4DAAM;IAClC,4DAAM;;;;IADC,0DAAqB;IAArB,4FAAqB;;;IAM5B,yEACE;IAAA,sEAAuB;IAAvB,2DAAuB;IAAM,4DAAM;IACnC,sEAA6B;;IAA6C,4DAAM;IAClF,4DAAM;;;;;;;;IAQF,yEAEkE;;;IAFhB,oGAA8B;IAE3E,sGAAuB;IAAC,uFAA8B;;;IA5CjE,wEACE;IAAA,2HASM;IACN,yEACE;IAAA,sEAAmB;IAAnB,2DAAmB;IAAM,4DAAM;IAC/B,sEAAK;IAAA,uDAAqB;IAAA,4DAAM;IAClC,4DAAM;IACN,yEACE;IAAA,sEAAqB;IAArB,2DAAqB;IAAM,4DAAM;IACjC,uEAAK;IAAA,wDAAuB;IAAA,4DAAM;IACpC,4DAAM;IACN,0EACE;IAAA,uEAAyB;IAAzB,4DAAyB;IAAM,4DAAM;IACrC,uEAAK;IAAA,wDAAuB;IAAA,4DAAM;IACpC,4DAAM;IACN,6HAGM;IACN,0EACE;IAAA,uEAAuB;IAAvB,4DAAuB;IAAM,4DAAM;IACnC,uEAAK;IAAA,wDAAoB;IAAA,4DAAM;IACjC,4DAAM;IACN,6HAGM;IACN,0EACE;IAAA,uEAAyB;IAAzB,4DAAyB;IAAM,4DAAM;IACrC,uEAAK;IAAA,wDAA2B;IAAA,4DAAM;IACxC,4DAAM;IACN,0EACE;IAAA,uEAAqB;IAArB,4DAAqB;IAAM,4DAAM;IACjC,uEACE;IAAA,8HAEkE;IACpE,4DAAM;IACR,4DAAM;IACN,0EACE;IAAA,uEAA+B;IAA/B,4DAA+B;IAAM,4DAAM;IAC3C,uEAAK;IAAA,wDAAgB;IAAA,4DAAM;IAC7B,4DAAM;IACN,iEACF;IAAA,qEAAe;;;;IAnDP,0DAAY;IAAZ,+EAAY;IAYX,0DAAqB;IAArB,4FAAqB;IAIrB,0DAAuB;IAAvB,8FAAuB;IAIvB,0DAAuB;IAAvB,8FAAuB;IAEZ,0DAA2B;IAA3B,iGAA2B;IAMtC,0DAAoB;IAApB,oFAAoB;IAET,0DAAmD;IAAnD,yHAAmD;IAM9D,0DAA2B;IAA3B,kGAA2B;IAKP,0DAAyB;IAAzB,8FAAyB;IAO7C,0DAAgB;IAAhB,gFAAgB;;;IAmBzB,yEACE;IAAA,oEACE;IAAA,8DAAE;IAAA,uEAAyC;IAAzC,2DAAyC;IAAM,4DAAO;IAC1D,4DAAI;IACN,4DAAM;;ADlEP,MAAM,gBAAgB;IAW3B,YAAoB,uBAAgD,EAChD,YAA0B,EAC1B,YAA0B,EAC1B,GAAsB,EACtB,aAA4B,EAC5B,SAAoB;QALpB,4BAAuB,GAAvB,uBAAuB,CAAyB;QAChD,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,QAAG,GAAH,GAAG,CAAmB;QACtB,kBAAa,GAAb,aAAa,CAAe;QAC5B,cAAS,GAAT,SAAS,CAAW;QAXxC,kBAAa,GAAG,6DAAQ,CAAC;QACzB,YAAO,GAAG,CAAC,CAAC;QACZ,uBAAkB,GAAY,KAAK,CAAC;QAUlC,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;YAC/D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED,WAAW,CAAC,OAAsB;QAChC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IACnC,CAAC;IAEM,QAAQ,CAAC,OAAqB;;QACnC,MAAM,SAAS,SAAG,mEAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,0CAAE,KAAK,CAAC;QAC9E,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,kBAA0B,CAAC;IACpC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC;IACtE,CAAC;IAEM,UAAU,CAAC,OAAqB;;QACrC,MAAM,WAAW,SAAG,uEAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,0CAAE,KAAK,CAAC;QACxF,IAAI,WAAW,EAAE;YACf,OAAO,WAAW,CAAC;SACpB;QACD,OAAO,kBAA0B,CAAC;IACpC,CAAC;IAEM,UAAU,CAAC,OAAqB;QACrC,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC;QACvE,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAEM,QAAQ,CAAC,OAAqB;QACnC,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAkB,CAAC,CAAC,CAAC,KAAiB,CAAC;IACtE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC;IAC5D,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC;IACxE,CAAC;IAEM,cAAc,CAAC,OAAqB;QACzC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,KAAK,6DAAQ,CAAC,OAAO,EAAE;YAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;SAC1C;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;IACvC,CAAC;IAED,iBAAiB;IACjB,+CAA+C;IAC/C,IAAI;IAEJ,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;IAC/B,CAAC;IAED,IAAI,UAAU;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7D,KAAK,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC9E,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC;IACnD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC7E,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACpD,CAAC;IAED,YAAY,CAAC,OAAqB;;QAChC,MAAM,cAAc,SAAG,uEAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,0CAAE,eAAe,CAAC;QAC3I,OAAO,cAAc,IAAI,KAAK,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,OAAqB;QACjC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,kBAAkB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,wBAAwB;QACtB,IAAI,CAAC,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACjE,CAAC;IAED,UAAU;QACR,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACL,OAAO,qEAAW,CAAC,KAAK,CAAC;IAC3B,CAAC;IAEM,SAAS,CAAC,OAAqB;QACpC,OAAO,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEK,WAAW,CAAC,CAAS;;YACzB,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,yIAAoC,CAAC,EAAE;gBAC1E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACnC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBACpE,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC1E;QACH,CAAC;KAAA;;gFAnJU,gBAAgB;gGAAhB,gBAAgB;;;;;iBCfY,wBAAM;;;;;;iBAkEH,6BAAM;;;;;;iBAIb,0BAAM;;;;;;iBAIP,QAAM;;;;;;iBAaoF,4CAAM;;;;;;kBAlFnD,kCAAM;;;;;;kBAgBxD,KAAM;;;;;;kBAIJ,YAAM;;;;;;kBAIF,SAAM;;;;;;kBAQR,oBAAM;;;;;;kBAQJ,mBAAM;;;;;;kBAIV,OAAM;;;;;;kBAQI,6BAAM;;;;;;kBA1CkE,yCAAM;;;;;;kBACZ,cAAM;;;;;;kBAiBhF,sBAAM;;;;;;kBAQN,aAAM;;;;;;kBACA,sDAA6C;;;;;;kBAqC/B,2EAAM;;QAnF7D,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,kFACE;QAAA,iFAAiC;QAAjC,0DAAiC;QAAM,4DAAiB;QAC1D,4DAAkB;QAClB,mFACE;QAAA,8HAKe;QACf,gIAoDe;QACf,yEACE;QAAA,sEAAI;QAAA,4EAAgB;QAAA,4DAAK;QAC3B,4DAAM;QACN,0EACE;QAAA,uEAAkC;QAAlC,2DAAkC;QAAM,4DAAM;QAC9C,uEAAK;QAAA,wDAAQ;QAAA,4DAAM;QACrB,4DAAM;QACN,0EACE;QAAA,uEAA2B;QAA3B,2DAA2B;QAAM,4DAAM;QACvC,uEAAK;QAAA,wDAAgB;QAAA,4DAAM;QAC7B,4DAAM;QACN,0EACE;QAAA,uEAA0B;QAA1B,2DAA0B;QAAM,4DAAM;QACtC,uEAAK;QAAA,wDAAe;QAAA,4DAAM;QAC5B,4DAAM;QACN,8GAIM;QACN,0EACE;QAAA,mFAE+C;QAD7C,wMAAgC,uGACf,8BAA0B,IADX;QACa,mEAC/C;QAAA,4DAAe;QACf,yEAAoH;QAApH,4DAAoH;QAAM,4DAAI;QAChI,4DAAM;QACR,4DAAmB;QACrB,4DAAW;QACb,4DAAM;QACR,4DAAM;;QAzFiB,0DAAe;QAAf,+EAAe;QAMI,0DAAa;QAAb,iFAAa;QA0DxC,0DAAQ;QAAR,yEAAQ;QAIR,0DAAgB;QAAhB,iFAAgB;QAIhB,0DAAe;QAAf,gFAAe;QAEJ,0DAAuD;QAAvD,0HAAuD;QAOrE,0DAAgC;QAAhC,2FAAgC;;6FDrE/B,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;qhBAIC,SAAS;kBADR,mDAAK;;;;;;;;;;;;;;AErBR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4G;AACnE;AAIE;AAEQ;AACG;AACW;AAGyB;;;;;;;;;;;;;;;;;;;ICYtF,iFAC4C;IAAA,uDAA2B;IAAA,4DAAa;;;;IAAxE,kGAA+B;IAAC,0DAA2B;IAA3B,gGAA2B;;;;IAIzE,sEACE;IAAA,qFACE;IAAA,4EAA0B;IAA1B,2DAA0B;IAAM,4DAAY;IAC5C,4EAEA;IADO,+ZAA6D;IADpE,4DAEA;IAAA,sFAAsE;IACtE,0FAA4E;IAC9E,4DAAiB;IACnB,4DAAM;;;;IALc,0DAA4B;IAA5B,kFAA4B;IAEZ,0DAAc;IAAd,oEAAc;IAChB,0DAAsB;IAAtB,kFAAsB;;;IAP1D,8EACE;IAAA,8HAQM;IACR,4DAAM;;;IAT0B,0DAAgC;IAAhC,yGAAgC;;;ADRzD,MAAM,0BAA0B;IAiCrC,YAA8B,QAAkB,EAC5B,YAA0B,EAC1B,iBAAoC,EACpC,YAA0B,EAC1B,SAAoB,EACpB,mBAA+C;QAJ/C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,cAAS,GAAT,SAAS,CAAW;QACpB,wBAAmB,GAAnB,mBAAmB,CAA4B;QAvBnE,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGrC,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGxC,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGvC,sBAAiB,GAAG,IAAI,0DAAY,EAAO,CAAC;QAMpC,qBAAgB,GAAW,CAAC,CAAC;QASnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAM,EAAE,EAAE;YACxE,8DAA8D;YAC9D,IAAI,qEAAW,CAAC,KAAK,EAAE;gBACrB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;aAC9C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE;YACpF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,sFAAsF;YACtF,IAAI,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC;SAC7C;IACH,CAAC;IAEM,YAAY,CAAC,uBAAuB;QACzC,0BAA0B;QAC1B,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACtC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aACvD;SACF;QAED,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;gBACrE,IAAI,uBAAuB,KAAK,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAS,IAAI,6DAAQ,CAAC,OAAO,EAAE;oBACnI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;iBAC7H;qBAAM;oBACL,IAAI,CAAC,0BAA0B,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;iBACvF;gBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE;oBAC3C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;oBAC5B,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC9D;gBACD,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;gBAClB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,oBAAoB;QACzB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACjF,IAAI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC7E,IAAI,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YACtD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE;oBACzF,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,SAAS,KAAK,6DAAQ,CAAC,OAAO,EAAE;wBACzD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,0DAAS,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC;qBAClH;oBACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBAC/E,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;oBAClB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBAChC,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,mBAAmB;YACnB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5B,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC7D;IACH,CAAC;IAEM,YAAY,CAAC,MAAa,EAAE,WAAkB;QACnD,IAAI,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;YACnD,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC;IACrD,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAEO,mBAAmB,CAAC,oBAA6B,EAAE,WAAW;QACpE,IAAI,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,0DAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACrH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;SAC/E;IACH,CAAC;IAEO,qBAAqB,CAAC,SAAa;QACzC,IAAI,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC;QAC9H,IAAI,gBAAgB,CAAC,MAAM,EAAE;YAC3B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,oGAAqB,EAAE;gBACzC,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE;oBACJ,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,gBAAgB;iBAC5B;aACF,CAAC,CAAC;SACJ;IACH,CAAC;;oGAvJU,0BAA0B,kEAiCjB,wDAAQ;0GAjCjB,0BAA0B;;;;;;;;;;iBCpBF,aAAM;;;;;;iBACqB,YAAI;;;;;;iBAUrC,sBAAM;;;;;;iBAMK,iBAC1C;;;;;;iBAEiC,mBAAM;;;;;;kBAUP,OAAM;;QA/BtC,oFACE;QAAA,4EAAmC;QAAnC,0DAAmC;QAAM,4DAAY;QACrD,sEACF;QAAA,4DAAiB;QACjB,sFAMiD;QAH/C,sKAAc,qBAAsB,IAAC,oHACpB,wBAAyB,IADL,kHAErB,uBAAwB,IAFH,kHAGrB,4BAA6B,IAHR;QAGU,4DAAmB;QACpE,oFACE;QAAA,4EAA6B;QAA7B,0DAA6B;QAAM,4DAAY;QAC/C,yEACF;;QAAA,4DAAiB;QACjB,uFAG0C;QADxB,+JAAU,0BAA2B,IAAC;QAFxD,2DAG0C;QAC1C,4DAAmB;QAAA,iEACnB;QAAA,qFACE;QAAA,6EAA+B;QAA/B,4DAA+B;QAAM,4DAAY;QACjD,kFAEE;QADU,iLAAmB,8BAA+B,IAAC;QAC7D,uIACoF;QACtF,4DAAa;QACf,4DAAiB;QACjB,yHAUM;;QAjCJ,0DAAgD;QAAhD,6GAAgD;QAQhB,0DAAoD;QAApD,gLAAoD;QAGpE,0DAA6C;QAA7C,0GAA6C;QAIX,0DAA6C;QAA7C,0GAA6C;QAEnF,0DAA8C;QAA9C,2GAA8C;QAE9B,0DAA8D;QAA9D,2MAA8D;QAI9C,0DAAuC;QAAvC,uGAAuC;;6FDPxE,0BAA0B;cALtC,uDAAS;eAAC;gBACT,QAAQ,EAAE,wBAAwB;gBAClC,WAAW,EAAE,qCAAqC;gBAClD,SAAS,EAAE,CAAC,oCAAoC,CAAC;aAClD;sCAkCyC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;4bA9B5B,QAAQ;kBADP,mDAAK;YAIN,sBAAsB;kBADrB,mDAAK;YAIN,yBAAyB;kBADxB,mDAAK;YAIN,MAAM;kBADL,mDAAK;YAIN,UAAU;kBADT,oDAAM;YAIP,aAAa;kBADZ,oDAAM;YAIP,YAAY;kBADX,oDAAM;YAIP,iBAAiB;kBADhB,oDAAM;YAIC,oBAAoB;kBAD3B,uDAAS;mBAAC,sBAAsB;;;;;;;;;;;;;;AE/CnC;AAAA;AAAO,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE;QACN,gBAAgB,EAAE,yBAAyB;QAC3C,eAAe,EAAE,wBAAwB;QACzC,eAAe,EAAE,wBAAwB;QACzC,cAAc,EAAE,uBAAuB;QACvC,MAAM,EAAE,eAAe;QACvB,WAAW,EAAE,oBAAoB;QACjC,qBAAqB,EAAE,uBAAuB;QAC9C,sBAAsB,EAAE,wBAAwB;QAChD,iBAAiB,EAAE,mBAAmB;KACvC;IACD,KAAK,EAAE;QACL,aAAa,EAAE,eAAe;QAC9B,mBAAmB,EAAE,qBAAqB;QAC1C,gBAAgB,EAAE,kBAAkB;QACpC,oBAAoB,EAAE,sBAAsB;QAC5C,KAAK,EAAE,OAAO;QACd,cAAc,EAAE,gBAAgB;QAChC,eAAe,EAAE,iBAAiB;KACnC;IACD,KAAK,EAAE;QACL,WAAW,EAAE,aAAa;QAC1B,aAAa,EAAE,eAAe;QAC9B,YAAY,EAAE,cAAc;QAC5B,iBAAiB,EAAE,mBAAmB;KACvC;IACD,MAAM,EAAE;QACN,YAAY,EAAE,cAAc;QAC5B,SAAS,EAAE,WAAW;QACtB,YAAY,EAAE,cAAc;QAC5B,WAAW,EAAE,aAAa;QAC1B,SAAS,EAAE,WAAW;QACtB,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,WAAW;KACvB;CACF;;;;;;;;;;;;;ACpCD;AAAA;AAAA,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,wCAAyB;IACzB,0CAA2B;IAC3B,sCAAuB;IACvB,wCAAyB;IACzB,sDAAuC;IACvC,sDAAuC;IACvC,4CAA6B;IAC7B,wCAAyB;IACzB,wCAAyB;IACzB,0BAAW;IACX,sCAAuB;IACvB,sCAAuB;AACzB,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB;;;;;;;;;;;;;ACbD;AAAA;AAAO,MAAM,YAAY;;AACT,uBAAU,GAAW,cAAc,CAAC;AACpC,6BAAgB,GAAW,oBAAoB,CAAC;AAChD,kBAAK,GAAW,SAAS,CAAC;;;;;;;;;;;;;ACH1C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AACjB;AACe;AACT;AACc;AACN;AACA;AACE;AACE;AACF;AACsB;AACJ;AACnB;AACU;AACL;AACiB;AACR;AACT;AACN;AACW;AACP;AACoB;AACN;AACN;AACc;AACA;AACxB;AACW;AAC+C;AACZ;AAC3B;AAKvB;AACI;AACF;AACI;AACW;AACT;AAC6C;AAC/C;AACyD;AAC3C;AACZ;AACsC;AACtB;AACL;AACwB;AACzB;AACqB;AACf;AACP;AACrB;AACkE;AAC9C;AACiB;AACvB;AACoB;AAC5B;AACsC;AACP;AACvB;AACG;AACK;AACY;AAC6B;AACzB;AACW;AACc;AACxC;AACiB;AACW;AACzB;AAC0B;AACC;AACI;;AAuGjG,MAAM,SAAS;;wFAAT,SAAS,cAHR,2DAAY;4IAGb,SAAS,mBAvBT;QACT;YACE,OAAO,EAAE,4FAAiB;YAC1B,QAAQ,EAAE,gGAAqB;SAChC;QACD;YACE,OAAO,EAAE,uEAAiB;YAC1B,QAAQ,EAAE,kFAAiB;YAC3B,KAAK,EAAE,IAAI;SACZ;QACD;YACE,OAAO,EAAE,uEAAiB;YAC1B,QAAQ,EAAE,mGAAqB;YAC/B,KAAK,EAAE,IAAI;SACZ;QACD;YACE,OAAO,EAAE,6EAAgB;YACzB,QAAQ,EAAE,oFAAkB,EAAE;SAC/B;KACF,YAxDQ;YACP,uEAAa;YACb,oEAAgB;YAChB,6FAAuB;YACvB,sEAAgB;YAChB,sEAAgB;YAChB,2DAAW;YACX,0EAAgB;YAChB,oEAAa;YACb,oEAAa;YACb,wEAAe;YACf,sEAAc;YACd,2EAAgB;YAChB,4FAAwB;YACxB,2EAAgB;YAChB,qEAAa;YACb,sEAAc;YACd,mEAAmB;YACnB,uEAAe;YACf,gFAAkB;YAClB,yEAAe;YACf,kGAAuB;YACvB,uEAAc;YACd,qEAAa;YACb,yEAAe;YACf,2EAAgB;YAChB,yEAAe;YACf,2EAAgB;YAChB,sFAAqB;YACrB,oFAAoB;YACpB,+DAAiB;YACjB,6EAAiB;YACjB,+EAAkB;YAClB,qEAAa;YACb,gFAAyB;YACzB,qFAAqB;SACtB;mIAwBU,SAAS,mBAnGlB,2DAAY;QACZ,mFAAe;QACf,qFAAa;QACb,4FAAkB;QAClB,sFAAgB;QAChB,gFAAc;QACd,8FAAkB;QAClB,8FAAkB;QAClB,oHAAsB;QACtB,yFAAiB;QACjB,iFAAmB;QACnB,mFAAe;QACf,uHAAuB;QACvB,iIAA2B;QAC3B,sFAAgB;QAChB,gHAAwB;QACxB,gIAA0B;QAC1B,0FAAuB;QACvB,6GAAqB;QACrB,oFAAc;QACd,yGAAqB;QACrB,0FAAgB;QAChB,wFAAc;QACd,+FAAqB;QACrB,gIAA2B;QAC3B,0GAAoB;QACpB,mGAAmB;QACnB,gGAAkB;QAClB,iGAAmB;QACnB,wGAA0B;QAC1B,oGAAoB;QACpB,6HAA2B;QAC3B,oGAAoB;QACpB,+GAAqB;QACrB,sFAAgB;QAChB,kHAAsB;QACtB,iHAAuB;QACvB,qHAAuB,aAGvB,uEAAa;QACb,oEAAgB;QAChB,6FAAuB;QACvB,sEAAgB;QAChB,sEAAgB;QAChB,2DAAW;QACX,0EAAgB;QAChB,oEAAa;QACb,oEAAa;QACb,wEAAe;QACf,sEAAc;QACd,2EAAgB;QAChB,4FAAwB;QACxB,2EAAgB;QAChB,qEAAa;QACb,sEAAc;QACd,mEAAmB;QACnB,uEAAe;QACf,gFAAkB;QAClB,yEAAe;QACf,kGAAuB;QACvB,uEAAc;QACd,qEAAa;QACb,yEAAe;QACf,2EAAgB;QAChB,yEAAe;QACf,2EAAgB;QAChB,sFAAqB;QACrB,oFAAoB;QACpB,+DAAiB;QACjB,6EAAiB;QACjB,+EAAkB;QAClB,qEAAa;QACb,gFAAyB;QACzB,qFAAqB;6FAyBZ,SAAS;cArGrB,sDAAQ;eAAC;gBACR,YAAY,EAAE;oBACZ,2DAAY;oBACZ,mFAAe;oBACf,qFAAa;oBACb,4FAAkB;oBAClB,sFAAgB;oBAChB,gFAAc;oBACd,8FAAkB;oBAClB,8FAAkB;oBAClB,oHAAsB;oBACtB,yFAAiB;oBACjB,iFAAmB;oBACnB,mFAAe;oBACf,uHAAuB;oBACvB,iIAA2B;oBAC3B,sFAAgB;oBAChB,gHAAwB;oBACxB,gIAA0B;oBAC1B,0FAAuB;oBACvB,6GAAqB;oBACrB,oFAAc;oBACd,yGAAqB;oBACrB,0FAAgB;oBAChB,wFAAc;oBACd,+FAAqB;oBACrB,gIAA2B;oBAC3B,0GAAoB;oBACpB,mGAAmB;oBACnB,gGAAkB;oBAClB,iGAAmB;oBACnB,wGAA0B;oBAC1B,oGAAoB;oBACpB,6HAA2B;oBAC3B,oGAAoB;oBACpB,+GAAqB;oBACrB,sFAAgB;oBAChB,kHAAsB;oBACtB,iHAAuB;oBACvB,qHAAuB;iBACxB;gBACD,OAAO,EAAE;oBACP,uEAAa;oBACb,oEAAgB;oBAChB,6FAAuB;oBACvB,sEAAgB;oBAChB,sEAAgB;oBAChB,2DAAW;oBACX,0EAAgB;oBAChB,oEAAa;oBACb,oEAAa;oBACb,wEAAe;oBACf,sEAAc;oBACd,2EAAgB;oBAChB,4FAAwB;oBACxB,2EAAgB;oBAChB,qEAAa;oBACb,sEAAc;oBACd,mEAAmB;oBACnB,uEAAe;oBACf,gFAAkB;oBAClB,yEAAe;oBACf,kGAAuB;oBACvB,uEAAc;oBACd,qEAAa;oBACb,yEAAe;oBACf,2EAAgB;oBAChB,yEAAe;oBACf,2EAAgB;oBAChB,sFAAqB;oBACrB,oFAAoB;oBACpB,+DAAiB;oBACjB,6EAAiB;oBACjB,+EAAkB;oBAClB,qEAAa;oBACb,gFAAyB;oBACzB,qFAAqB;iBACtB;gBACD,SAAS,EAAE;oBACT;wBACE,OAAO,EAAE,4FAAiB;wBAC1B,QAAQ,EAAE,gGAAqB;qBAChC;oBACD;wBACE,OAAO,EAAE,uEAAiB;wBAC1B,QAAQ,EAAE,kFAAiB;wBAC3B,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,OAAO,EAAE,uEAAiB;wBAC1B,QAAQ,EAAE,mGAAqB;wBAC/B,KAAK,EAAE,IAAI;qBACZ;oBACD;wBACE,OAAO,EAAE,6EAAgB;wBACzB,QAAQ,EAAE,oFAAkB,EAAE;qBAC/B;iBACF;gBACD,SAAS,EAAE,CAAC,2DAAY,CAAC;gBACzB,eAAe,EAAE,CAAC,iIAA2B,CAAC;aAC/C;;;;;;;;;;;;;;AC9KD;AAAA;AAAO,MAAM,WAAW;IACtB,YAAY,IAAgB,EAChB,KAAa,EACb,QAAkB,EAClB,KAAgB,EAChB,MAAiB,EACjB,KAAa,EACb,IAAY,EACZ,eAA8B,EAC9B,YAAY;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAaD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CAEF;;;;;;;;;;;;;ACzED;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AAEG;AAEF;AAES;;;;AAG5C,MAAM,iBAAiB;IAE5B,YAAoB,cAA8B,EAC9B,eAAgC;QADhC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,oBAAe,GAAf,eAAe,CAAiB;IACpD,CAAC;IAED,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,gEAAY,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEpF,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACrC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,gEAAY,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC;SAClG;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,iEAAU,CAAC,GAAG,CAAC,EAAE;YAChD,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;aAC9B;YACD,OAAO,uDAAU,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,SAAS,CAAC,OAAyB,EAAE,IAAY,EAAE,KAAa;QACtE,OAAO,OAAO,CAAC,KAAK,CAAC;YACnB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;;kFA1BU,iBAAiB;oGAAjB,iBAAiB,WAAjB,iBAAiB;6FAAjB,iBAAiB;cAD7B,wDAAU;;;;;;;;;;;;;;ACNX;AAAA;AAAO,MAAM,YAAY;IAKvB,YAAY,UAAkB,EAAE,KAAkB;QAChD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;;;;;;;;;;;;;ACnBD;AAAA;AAAA,IAAY,QAGX;AAHD,WAAY,QAAQ;IAClB,2BAAe;IACf,oCAAwB;AAC1B,CAAC,EAHW,QAAQ,KAAR,QAAQ,QAGnB;;;;;;;;;;;;;ACHD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwC;;;;;;;;AAUjC,MAAM,sBAAsB;IAIjC,YAAoB,SAA+C,EAC/C,cAA8B,EAC9B,YAA0B;QAF1B,cAAS,GAAT,SAAS,CAAsC;QAC/C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAJtC,WAAM,GAAW,EAAE,CAAC;IAK5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAEM,MAAM;QACX,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAChE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,wHAAqC,CAAC,CAAC;QACnE,CAAC,EAAE,GAAG,EAAE;YACN,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,uGAAwC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;4FAxBU,sBAAsB;sGAAtB,sBAAsB;;;;;iBCRC,sBAAM;;;;;;iBACN,wCAAM;;;;;;iBAO4D,cAAM;;QAV5G,qFACE;QAAA,yEACE;QAAA,qEAAgC;QAAhC,0DAAgC;QAAM,4DAAK;QAC3C,uEAAgC;QAAhC,0DAAgC;QAAM,4DAAO;QAAA,gEAC7C;QAAA,oFACE;QAAA,2EACF;QADkB,yLAAmB;QAAnC,4DACF;QAAA,4DAAiB;QACnB,4DAAM;QACR,4DAAqB;QACrB,wFACE;QAAA,6EAA8E;QAAnB,+IAAS,YAAQ,IAAC;QAAC,wEAAsB;QAAtB,2DAAsB;QAAM,4DAAO;QACjH,4DAAS;QACX,4DAAqB;;QAPC,0DAAmB;QAAnB,8EAAmB;;6FDK5B,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,gCAAgC,CAAC;aAC9C;;;;;;;;;;;;;;AETD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AAQD;AAGW;;;AAG5C,MAAM,qBAAqB;IAEhC,YAAoB,aAAgC;QAAhC,kBAAa,GAAb,aAAa,CAAmB;IACpD,CAAC;IAED,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gEAAY,CAAC,gBAAgB,CAAC,KAAK,OAAO,EAAE;YAClE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC7B;aAAM;YACL,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,+DAAQ,CAAC,GAAG,EAAE;oBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBAC5B,CAAC,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;0FAfU,qBAAqB;wGAArB,qBAAqB,WAArB,qBAAqB;6FAArB,qBAAqB;cADjC,wDAAU;;;;;;;;;;;;;;ACbX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2D;AAEF;AACE;AACC;;;;;;;;;;;ICKhD,yEAA2E;IAA3E,2DAA2E;IAAM,4DAAK;;;;IACtF,yEAAuC;IAAA,wEAC8C;IAA3C,mXAA0C;IAAC,uDAAmB;IAAA,4DAAI;IAC5G,4DAAK;;;IADgF,0DAAmB;IAAnB,oFAAmB;;;IAIxG,yEAAyE;IAAzE,2DAAyE;IAAM,4DAAK;;;IACpF,yEAAwC;IAAA,uDAA2C;;IAAA,4DAAK;;;IAAhD,0DAA2C;IAA3C,iLAA2C;;;IAGnF,yEAA8E;IAA9E,2DAA8E;IAAM,4DAAK;;;IAClD,uEACoB;IAAA,uDAA+C;;IAAA,4DAAO;;;IAAtD,0DAA+C;IAA/C,2KAA+C;;;IACxG,uEAA+D;IAAA,iEAAM;IAAA,4DAAO;;;IAF9E,yEAAuC;IAAA,0HAC0E;IAC/G,0HAA4E;IAC9E,4DAAK;;;IAFF,0DAAsD;IAAtD,sHAAsD;IAChD,0DAAsD;IAAtD,sHAAsD;;;IAI/D,yEAAsE;IAAtE,2DAAsE;IAAM,4DAAK;;;IACjF,yEAAuC;IAAA,uDAA6C;IAAA,4DAAK;;;;IAAlD,0DAA6C;IAA7C,qHAA6C;;;IAGpF,yEAAwE;IAAxE,2DAAwE;IAAM,4DAAK;;;IACnF,yEAAuC;IAAA,uDAAsC;IAAA,4DAAK;;;IAA3C,0DAAsC;IAAtC,oJAAsC;;;IAG7E,yEAA0E;IAA1E,2DAA0E;IAAM,4DAAK;;;IAGnF,wEAA+C;IAAA,uDAAuG;;IAAA,qEAAe;;;;IAAtH,0DAAuG;IAAvG,yRAAuG;;;IAFxJ,yEAEE;IAAA,0IAAqK;IACvK,4DAAK;;;IADY,0DAA8B;IAA9B,8FAA8B;;;IAGjD,oEAA4D;;;IAC5D,oEAAkE;;AD5BrE,MAAM,qBAAqB;IAShC,YAAoB,cAA8B,EAC9B,MAAc,EACf,aAA4B;QAF3B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAe;QAR/C,qBAAgB,GAAa,CAAC,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC9F,oBAAe,GAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAQ9C,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACvD,IAAI,CAAC,MAAM,GAAG,IAAI,0EAAkB,CAAM,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACnD,QAAO,QAAQ,EAAE;oBACf,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACvD,KAAK,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACxF,OAAO,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAChC;YACH,CAAC,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAC,CAAgB,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,OAAe;QAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,YAAiB;QACrB,OAAO,aAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,MAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,CAAC;IACpF,CAAC;;0FApCU,qBAAqB;qGAArB,qBAAqB;kEAMrB,8DAAO;kEACP,wEAAY;;;;;;;;;;iBChBqB,2BAAM;;;;;;iBAKmC,6BAAM;;;;;;iBAMR,qBAAM;;;;;;iBAID,oBAAM;;;;;;iBAOd,MAAM;;;;;;kBAIJ,oBAAM;;;;;;kBAIJ,iBAAM;;QAlC5F,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,kFACE;QAAA,iFAAsC;QAAtC,0DAAsC;QAAM,4DAAiB;QAC/D,4DAAkB;QAClB,mFACE;QAAA,2EACE;QAAA,2EACE;QAAA,+GAAsF;QACtF,iHAEK;QACP,qEAAe;QACf,4EACE;QAAA,iHAAoF;QACpF,iHAAwF;QAC1F,qEAAe;QACf,4EACE;QAAA,iHAAyF;QACzF,iHAGK;QACP,qEAAe;QACf,4EACE;QAAA,iHAAiF;QACjF,iHAAyF;QAC3F,qEAAe;QACf,4EACE;QAAA,iHAAmF;QACnF,iHAAkF;QACpF,qEAAe;QACf,6EACE;QAAA,iHAAqF;QACrF,kHAGK;QACP,qEAAe;QACf,kHAA4D;QAC5D,kHAAkE;QACpE,4DAAQ;QACR,gFAAwF;QAC1F,4DAAmB;QACrB,4DAAW;QACb,4DAAM;QACR,4DAAM;;QAxCmB,0DAAqB;QAArB,kFAAqB;QAiChB,2DAAiC;QAAjC,iGAAiC;QACpB,0DAA0B;QAA1B,kGAA0B;QAE9C,0DAAmC;QAAnC,gGAAmC;;6FD9B7C,qBAAqB;cALjC,uDAAS;eAAC;gBACT,QAAQ,EAAE,mBAAmB;gBAC7B,WAAW,EAAE,gCAAgC;gBAC7C,SAAS,EAAE,CAAC,+BAA+B,CAAC;aAC7C;0QAOqB,IAAI;kBAAvB,uDAAS;mBAAC,8DAAO;YACO,SAAS;kBAAjC,uDAAS;mBAAC,wEAAY;;;;;;;;;;;;;;AEpBzB;AAAA;AAAA;AAAA;AAAA;AAAyG;AACxD;;AAE1C,MAAM,2BAA2B,GAAmB;IACzD,OAAO,EAAE,gEAAiB;IAC1B,WAAW,EAAE,gEAAU,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC;IAClD,KAAK,EAAE,IAAI;CACZ,CAAC;AAMK,MAAM,mBAAmB;IAM9B,YACU,UAAsB,EACtB,QAAmB;QADnB,eAAU,GAAV,UAAU,CAAY;QACtB,aAAQ,GAAR,QAAQ,CAAW;QAJrB,UAAK,GAAG,EAAE,CAAC;IAMnB,CAAC;IAGD,aAAa,CAAC,KAAa;QACzB,MAAM,aAAa,GAAW,WAAW,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,KAAK,aAAa,CAAC,CAAC;IACpE,CAAC;IAGD,MAAM;;QACJ,UAAI,CAAC,SAAS,+CAAd,IAAI,EAAe;IACrB,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,eAAwB;;QAC7D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,eAAe,EAAE;YACnB,UAAI,CAAC,QAAQ,+CAAb,IAAI,EAAY,KAAK,EAAE;SACxB;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,iCAAiC;IACjC,gBAAgB,CAAC,EAAO;QACtB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,iBAAiB,CAAC,EAAO;QACvB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAED,gBAAgB,CAAC,UAAmB;QAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACnF,CAAC;IAED,UAAU,CAAC,KAAU;QACnB,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;;sFA/CU,mBAAmB;mGAAnB,mBAAmB;iJAAnB,sCAEF,6EAFE,YAAQ;qFAFR,CAAC,2BAA2B,CAAC;6FAE7B,mBAAmB;cAJ/B,uDAAS;eAAC;gBACT,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;2KAcC,aAAa;kBADZ,0DAAY;mBAAC,OAAO,EAAE,CAAC,qBAAqB,CAAC;YAO9C,MAAM;kBADL,0DAAY;mBAAC,MAAM;;AAgCtB,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACvC,CAAC;;;;;;;;;;;;;AC9DD;AAAA;AAAO,MAAM,cAAc;IAIzB,YAAY,MAAmB,EAAE,UAAiB;QAChD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAkB;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,UAAU,CAAC,KAAY;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;CACF;;;;;;;;;;;;;AC3BD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACE;AACN;AACc;;;AAM5C,MAAM,YAAY;IAIvB,YAAoB,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;QAFxC,aAAQ,GAAG,IAAI,4CAAO,EAAS,CAAC;IAGxC,CAAC;IAED,OAAO,CAAC,OAAe,EAAE,OAAa;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,kDAAK,iCAAK,OAAO,KAAE,IAAI,EAAE,gEAAS,CAAC,OAAO,EAAE,OAAO,IAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,OAAY,EAAE,OAAa;QAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;QACjD,SAAS,GAAG,CAAC,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,OAA2B,CAAC;QACnJ,IAAI,CAAC,KAAK,CAAC,IAAI,kDAAK,iCAAK,OAAO,KAAE,IAAI,EAAE,gEAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,IAAE,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAa;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,kDAAK,iCAAK,OAAO,KAAE,IAAI,EAAE,gEAAS,CAAC,IAAI,EAAE,OAAO,IAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,OAAa;QACjC,IAAI,CAAC,KAAK,CAAC,IAAI,kDAAK,iCAAK,OAAO,KAAE,IAAI,EAAE,gEAAS,CAAC,OAAO,EAAE,OAAO,IAAE,CAAC,CAAC;IACxE,CAAC;IAEO,KAAK,CAAC,KAAY;QACxB,IAAI,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAE,QAAQ,CAAE,CAAC;QAC5C,IAAI,EAAE;YAAI,EAAkB,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,SAAS,CAAC,EAAU,EAAE,QAAQ;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACpD,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;;wEAnCU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;6FAEP,YAAY;cAHxB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACRD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuD;AACd;AACD;AACQ;AAGqB;;;;;;;ICLnE,sEACE;IAAA,sEAAsC;IAAtC,0DAAsC;IAAM,4DAAM;IACpD,4DAAM;;;;IACN,sEACE;IAAA,wFAMoD;IAHhC,6UAA2B;IAGK,4DAAqB;IAC3E,4DAAM;;;IAPgB,0DAAqB;IAArB,qFAAqB;;;IAQ3C,sEACE;IAAA,oFAAiE;IACnE,4DAAM;;;IADiB,0DAAqB;IAArB,qFAAqB;;;;IAE5C,sEACE;IAAA,4FAO0C;IAJlB,kVAA2B;IAIT,4DAAyB;IACrE,4DAAM;;;IARoB,0DAAqB;IAArB,qFAAqB;;ADJ1C,MAAM,kBAAkB;IAa7B,YAA8B,QAAkB;QAXzC,aAAQ,GAAyB,IAAI,CAAC;QACtC,UAAK,GAAG,+EAAgB,CAAC,KAAK,CAAC;QAC/B,SAAI,GAAG,+EAAgB,CAAC,IAAI,CAAC;QAC7B,UAAK,GAAG,+EAAgB,CAAC,KAAK,CAAC;QAKtC,2BAAsB,GAAY,KAAK,CAAC;QACxC,8BAAyB,GAAY,KAAK,CAAC;QAGzC,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAM,EAAE,EAAE;YAClE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;YACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAM,EAAE,EAAE;YACjE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;YACzB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;gBACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAClE;YACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,EAAE;YAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAClE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,KAAK,+EAAgB,CAAC,KAAK,EAAE;YACxE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxE,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC7E;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACvC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1C;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC;IACH,CAAC;IAED;;OAEG;IACH,YAAY;QACV,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACzC;IACH,CAAC;;oFAhFU,kBAAkB,kEAaT,wDAAQ;kGAbjB,kBAAkB;;;;;iBCXW,8DAAM;;QAFhD,yEACE;QAAA,8GAEM;QACN,8GAQM;QACN,8GAEM;QACN,8GASM;QACR,4DAAM;;QAzBE,0DAAsB;QAAtB,sFAAsB;QAGtB,0DAA6C;QAA7C,qHAA6C;QAS7C,0DAA8C;QAA9C,sHAA8C;QAG9C,0DAA8C;QAA9C,sHAA8C;;6FDHzC,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;sCAcyC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;wBAL5B,MAAM;kBADL,mDAAK;;;;;;;;;;;;;;AEpBR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACF;AACK;AACF;AACC;AAOjC;AAEnB,MAAM,YAAY,GAAkB;IACvC,eAAe;IACf,IAAI,mEAAW,CAAC,sEAAU,CAAC,KAAK,EAAE,kBAAkB,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,qEAAY,CAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7L,IAAI,mEAAW,CAAC,sEAAU,CAAC,YAAY,EAAE,mBAAmB,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvM,IAAI,mEAAW,CAAC,sEAAU,CAAC,WAAW,EAAE,mBAAmB,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpM,IAAI,mEAAW,CAAC,sEAAU,CAAC,YAAY,EAAE,iBAAiB,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxM,IAAI,mEAAW,CAAC,sEAAU,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,+BAA+B,EAAE,IAAI,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnN,IAAI,mEAAW,CAAC,sEAAU,CAAC,cAAc,EAAE,mBAAmB,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7M,IAAI,mEAAW,CAAC,sEAAU,CAAC,MAAM,EAAE,SAAS,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjL,IAAI,mEAAW,CAAC,sEAAU,CAAC,WAAW,EAAE,mBAAmB,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,CAAC,gEAAgB,EAAE,gEAAgB,CAAC,CAAC,CAAC;IACtO,IAAI,mEAAW,CAAC,sEAAU,CAAC,SAAS,EAAE,gCAAgC,EAAE,iEAAQ,CAAC,KAAK,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,CAAC,gEAAgB,EAAE,gEAAgB,CAAC,CAAC,CAAC;IAC/O,iBAAiB;IACjB,IAAI,mEAAW,CAAC,sEAAU,CAAC,aAAa,EAAE,kBAAkB,EAAE,iEAAQ,CAAC,OAAO,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,CAAC,kEAAkB,EAAE,gEAAgB,EAAE,kEAAkB,EAAE,kEAAkB,CAAC,CAAC,CAAC;IACpR,IAAI,mEAAW,CAAC,sEAAU,CAAC,cAAc,EAAE,kBAAkB,EAAE,iEAAQ,CAAC,OAAO,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,oEAAS,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,6BAA6B,EAAE,KAAK,EAAE,IAAI,qEAAY,CAAC,CAAC,EAAE,CAAC,kEAAkB,EAAE,gEAAgB,EAAE,kEAAkB,EAAE,kEAAkB,CAAC,CAAC,CAAC;CAC7R,CAAC;;;;;;;;;;;;;AC3BJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;;;;;AAQ3C,MAAM,aAAa;IAExB,YAAoB,SAAsC;QAAtC,cAAS,GAAT,SAAS,CAA6B;IAAI,CAAC;IAE/D,QAAQ;IACR,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;;0EATU,aAAa;6FAAb,aAAa;;;;;iBCNI,kGAAM;;;;;;iBAIC,qCAAM;;;;;;iBAIL,6CAAM;;;;;;iBAAuD,iDAAM;;;;;;iBAGzE,4BAAM;;;;;;kBACQ,kZAAM;;;;;;kBACN,qOAAM;;;;;;kBAEpB,mCAAM;;;;;;kBACQ,uVAAM;;;;;;kBAEpB,eAAM;;;;;;kBACR,wCAAM;;;;;;kBAEJ,QAAM;;;;;;kBACQ,u2BAAM;;;;;;kBAEpB,2DAAqE;;;;;;kBAEnE,mFAA8D;;;;;;kBAC9D,uJAA+G;;;;;;kBAC/G,uEAAsD;;;;;;kBACtD,sDAA4C;;;;;;kBAC5C,wCAAsC;;;;;;kBACtC,6NAAiJ;;;;;;kBACjJ,iNAA0J;;;;;;kBAC1J,4MAA8J;;;;;;kBAC9J,gDAAiC;;;;;;kBAChC,2IAA8G;;;;;;kBAC9G,6IAAwG;;;;;;kBACxG,0DAA6C;;;;;;kBAC7C,iBAAY;;;;;;kBACZ,0LAAiJ;;;;;;kBACjJ,gHAAmF;;QA1CtH,qFACE;QAAA,yEACE;QAAA,qEAA0B;QAA1B,0DAA0B;QAAM,4DAAK;QACrC,yEACI;QAAA,4EACE;QAD8B,qIAAS,WAAO,IAAC;QAC/C,oEACA;QAAA,uEAA2B;QAA3B,0DAA2B;QAAM,4DAAO;QAC1C,4DAAS;QACT,4EACE;QADqD,qIAAS,WAAO,IAAC;QACtE,qEACA;QAAA,wEAA4B;QAA5B,2DAA4B;QAAM,4DAAO;QAAA,iEAAM;QAAA,2EAA0C;QAA1C,2DAA0C;QAAM,4DAAO;QACxG,4DAAS;QACb,4DAAM;QACN,sEAA4B;QAA5B,4DAA4B;QAAM,4DAAK;QACvC,yEAA0C;QAA1C,4DAA0C;QAAM,4DAAI;QACpD,yEAA0C;QAA1C,4DAA0C;QAAM,4DAAI;QAEpD,sEAA4B;QAA5B,4DAA4B;QAAM,4DAAK;QACvC,yEAA0C;QAA1C,4DAA0C;QAAM,4DAAI;QAEpD,sEAA4B;QAA5B,4DAA4B;QAAM,4DAAK;QACvC,qEAA0B;QAA1B,4DAA0B;QAAM,4DAAI;QAEpC,sEAA4B;QAA5B,4DAA4B;QAAM,4DAAK;QACvC,yEAA0C;QAA1C,4DAA0C;QAAM,4DAAI;QAEpD,sEAA4B;QAA5B,4DAA4B;QAAqE,4DAAK;QACtG,sEACE;QAAA,sEAA4B;QAA5B,4DAA4B;QAA8D,4DAAK;QAC/F,sEAA4B;QAA5B,4DAA4B;QAA+G,4DAAK;QAChJ,sEAA4B;QAA5B,4DAA4B;QAAsD,4DAAK;QACvF,sEAA4B;QAA5B,4DAA4B;QAA4C,4DAAK;QAC7E,sEAA4B;QAA5B,4DAA4B;QAAsC,4DAAK;QACvE,sEAA4B;QAA5B,4DAA4B;QAAiJ,4DAAK;QAClL,sEAA4B;QAA5B,4DAA4B;QAA0J,4DAAK;QAC3L,sEAA4B;QAA5B,4DAA4B;QAA8J,4DAAK;QAC/L,sEAA4B;QAA5B,4DAA4B;QAAiC,4DAAK;QAClE,sEAA6B;QAA7B,4DAA6B;QAA8G,4DAAK;QAChJ,sEAA6B;QAA7B,4DAA6B;QAAwG,4DAAK;QAC1I,sEAA6B;QAA7B,4DAA6B;QAA6C,4DAAK;QAC/E,sEAA6B;QAA7B,4DAA6B;QAAY,4DAAK;QAC9C,sEAA6B;QAA7B,4DAA6B;QAAiJ,4DAAK;QACnL,sEAA6B;QAA7B,4DAA6B;QAAmF,4DAAK;QACvH,4DAAK;QACP,4DAAM;QACR,4DAAqB;;6FDrCR,aAAa;cALzB,uDAAS;eAAC;gBACT,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,uBAAuB;gBACpC,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AAIE;AACJ;AACS;AACsB;AACb;AAIE;AACd;AACF;AACkB;AACR;AAEQ;;;;;;;AAKtD,MAAM,YAAY;IASvB,YAAoB,IAAgB,EAChB,cAA8B,EAC9B,mBAA+C,EAC/C,YAA0B,EAC1B,iBAAoC;QAJpC,SAAI,GAAJ,IAAI,CAAY;QAChB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAVhD,oBAAe,GAAY,KAAK,CAAC;QAEjC,gBAAW,GAAW,EAAE,CAAC;QACzB,wBAAmB,GAAY,KAAK,CAAC;QACrC,iBAAY,GAAe,EAAE,CAAC;QAOpC,IAAI,CAAC,OAAO,GAAG,IAAI,oDAAM,CAAC,QAAQ,EAAE,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,GAAG,IAAI,wDAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5F,CAAC;IAEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACpG,CAAC;IAED,cAAc,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC;IAC1J,CAAC;IAED,aAAa,CAAC,SAAiB;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IACpM,CAAC;IAED,WAAW,CAAC,KAAe;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3I,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEM,eAAe,CAAC,SAAiB;QACtC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,KAAK,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;QACvD,IAAI,qEAAW,CAAC,KAAK,EAAE;YACrB,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;SACjD;QACD,IAAI,SAAS,IAAI,6DAAQ,CAAC,OAAO,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,aAAa,GAAG,mFAAkB,CAAC,KAAK,CAAC;YAC/E,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,YAAY,GAAG,sEAAY,CAAC,KAAK,CAAC;SACzE;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,YAAY,GAAG,sEAAY,CAAC,IAAI,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,aAAa,GAAG,mFAAkB,CAAC,IAAI,CAAC;SAC/E;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAEM,YAAY,CAAC,MAAqB;QACvC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;QAClD,8FAA8F;QAC9F,IAAI,mEAAU,CAAC,cAAc,KAAK,MAAM,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;SAClD;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM,CAAC,MAAc;QACvB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,IAAY;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,GAAG,CAAC,GAAW;QACjB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,WAAW,CAAC,WAAmB;QACjC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAEM,gBAAgB,CAAC,MAAgB;QACtC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,MAAM,GAAG,IAAI,wDAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC;QAC1F,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,EAAE;IACxB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC;IACtD,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACrE,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAI,kBAAkB,CAAC,CAAC;QACtB,IAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IACnF,CAAC;IAEM,iBAAiB;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACjC,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW;YACpG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW;IACnG,CAAC;IAEM,aAAa;QAClB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC;IAC3G,CAAC;IAEM,cAAc,CAAC,WAAmB,EAAE,IAAoB;QAC7D,KAAK,IAAI,UAAU,IAAI,WAAW,EAAE;YAClC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SACtC;IACH,CAAC;IAEM,aAAa,CAAC,UAAgB,EAAE,IAAoB;QACzD,IAAI,EAAE,GAAG,0DAAS,CAAC,EAAE,EAAE,CAAC;QACxB,IAAI,0EAAc,CAAC,OAAO,KAAK,IAAI,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;SAC9C;QACD,IAAI,CAAC,GAAG,IAAI,wDAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1B,OAAO,CAAC,CAAC,EAAE,CAAC;IACd,CAAC;IAEM,gBAAgB,CAAC,EAAU,EAAE,IAAoB;QACtD,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,0EAAc,CAAC,OAAO,KAAK,IAAI,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;SAC1D;QAED,IAAI,MAAM,EAAE;YACV,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SACpC;IACH,CAAC;IAEM,cAAc,CAAC,OAAmC,SAAS;QAChE,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;aAAM;YACL,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;SACzE;IACH,CAAC;IAED,aAAa;QACX,+CAA+C;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,sCAAsC;QACtC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED,6BAA6B;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC;IACtD,CAAC;IAED,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,MAAM,GAAG,wEAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1E,CAAC;IAED,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACnE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;;wEAzOU,YAAY;+FAAZ,YAAY,WAAZ,YAAY,mBAFX,MAAM;6FAEP,YAAY;cAHxB,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtB0E;AAEzB;AACG;AAIF;AACK;AACF;AACH;AACT;AAG2D;AAC7D;AACC;;;;;;;;;;;;;ICR/B,yEACE;IAAA,yEACE;IAAA,yEACE;IAAA,yEACE;IAAA,oEACF;IAAA,4DAAM;IACR,4DAAM;IACN,2EAAqC;IAAA,uDAAkF;IAAA,4DAAO;IAC9H,2EAA+C;IAAA,uDAAgD;IAAA,4DAAO;IACtG,2EAAiD;IAAA,wDAAyB;IAAA,wEAAqB;IAArB,4DAAqB;IAAM,4DAAO;IAAA,4DAAO;IAKnH,iEACA;IAAA,8EACE;IADiB,kXAAyB;IAC1C,wEAAuB;IAAvB,4DAAuB;IAAM,4DAAO;IACtC,4DAAS;IACX,4DAAM;IACR,4DAAM;;;;;IAf2D,0DAAoC;IAApC,kHAAoC;IAAxE,mKAAmC;IAGvB,0DAAkF;IAAlF,sMAAkF;IACxE,0DAAgD;IAAhD,8HAAgD;IAC9C,0DAAyB;IAAzB,uGAAyB;;;IAVhF,wEACE;IAAA,gIAmBM;IACN,oEAA4B;IAC9B,qEAAe;;;IArBoC,0DAAW;IAAX,oFAAW;;;IAsB9D,wEACE;IAAA,2EAA6C;IAA7C,2DAA6C;IAAM,4DAAO;IAC5D,qEAAe;;ADThB,MAAM,oBAAoB;IAM/B,YAA8B,QAAkB,EAC5B,cAA8B,EAC9B,iBAAoC,EACpC,YAA0B,EAC1B,MAAc,EACd,mBAAwC,EACxC,SAAoB,EACpB,mBAA+C;QAN/C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;QAC1B,WAAM,GAAN,MAAM,CAAQ;QACd,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,cAAS,GAAT,SAAS,CAAW;QACpB,wBAAmB,GAAnB,mBAAmB,CAA4B;QAX3D,cAAS,GAAc,EAAE,CAAC;QAYhC,IAAI,CAAC,OAAO,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAGD,QAAQ;QACN,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,QAAmB,EAAE,EAAE;YACtE,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,QAAQ,CAAC,SAAiB;QAC/B,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,QAAgB,EAAE,UAAkB,EAAE,QAAgB,CAAC,EAAE,SAAiB,CAAC;QACvF,IAAI,MAAM,GAAG,6DAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACvE,IAAI,MAAM,IAAI,IAAI,EAAE;YAClB,OAAO,IAAI,+DAAW,CAAC,kEAAU,CAAC,KAAK,EAAE,kBAA0B,EAAE,6DAAQ,CAAC,KAAK,EACjF,IAAI,gEAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACzB,IAAI,gEAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SACjD;aAAM;YACL,OAAO,MAAM,CAAC;SACf;IACH,CAAC;IAEY,MAAM,CAAC,OAAgB;;YAClC,MAAM,OAAO,GAAG,iPAAmD,CAAC;YACpE,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE;gBACpC,uEAAuE;gBACvE,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,2CAAgC,EAAC,EAAE,EAAC,KAAK,EAAE,oCAA6B,EAAC,EAAE,EAAC,KAAK,EAAE,cAAqB,EAAC,CAAC,CAAC,CAAC;gBACrL,4BAA4B;gBAC5B,IAAI,cAAc,IAAI,CAAC,EAAE;oBACvB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;iBACnC;gBAED,8BAA8B;gBAC9B,IAAI,cAAc,IAAI,CAAC,EAAE;oBACvB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;iBAC3B;gBACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aAC3C;iBAAM;gBACL,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aAC3C;QACH,CAAC;KAAA;IAEa,qBAAqB,CAAC,OAAO;;YACzC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kHAA2B,EAAE;gBACrE,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,OAAO;gBACjB,UAAU,EAAE,WAAW;gBACvB,IAAI,EAAE,EAAC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAC;aACnF,CAAC,CAAC;YAEH,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,MAAc,EAAE,EAAE;gBACvD,IAAI,MAAM,EAAE;oBACV,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,4DAAO,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC1F,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC;oBACxD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;oBAClC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC;oBACpD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC;oBAC5D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;oBAChE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,mDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBAC/E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,EAAC,WAAW,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EAAC,CAAC,CAAC;iBAC1D;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;;wFAtFU,oBAAoB,kEAMX,yDAAQ;oGANjB,oBAAoB;;;;;iBCnBkB,mBAAM;;;;;;iBAaoD,KAAM;;;;;;iBAO5E,qBAAM;;;;;;iBAOU,oJAAM;;QA/B7D,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,kFACE;QAAA,iFAA2C;QAA3C,0DAA2C;QAAM,4DAAiB;QACpE,4DAAkB;QAClB,mFACE;QAAA,kIAsBe;QACf,kIAEe;QACjB,4DAAmB;QACrB,4DAAW;QACb,4DAAM;QACR,4DAAM;;QA7BiB,0DAAyB;QAAzB,yFAAyB;QAuBzB,0DAA0B;QAA1B,0FAA0B;;6FDPpC,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;sCAOyC,QAAQ;sBAAnC,oDAAM;uBAAC,yDAAQ;;;;;;;;;;;;;;AE7B9B;AAAA;AAAA;AAAkC;AAI3B,MAAM,YAAY;IAevB,YAAY,QAAgB;QAXpB,UAAK,GAAW,EAAE,CAAC;QACnB,iBAAY,GAAW,CAAC,CAAC;QACzB,WAAM,GAAW,CAAC,CAAC;QACnB,YAAO,GAAW,EAAE,CAAC;QACrB,YAAO,GAAY,KAAK,CAAC;QACzB,UAAK,GAAW,EAAE,CAAC;QACnB,oBAAe,GAAoB,EAAE,CAAC;QAGtC,cAAS,GAAa,EAAE,CAAC;QAG/B,IAAI,CAAC,QAAQ,GAAG,IAAI,gDAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO,CAAC,KAAc;QACxB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,WAAW,CAAC,KAAa;QAC3B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,MAAc;QACvB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,MAAM,CAAC,KAAc;QACvB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,cAAc,CAAC,KAAsB;QACvC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAU;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS,CAAC,KAAqB;QACjC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,UAAU,CAAC,EAAU;QACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAChC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B;IACH,CAAC;CACF;;;;;;;;;;;;;ACtID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;;;;;;;AAQzC,MAAM,kBAAkB;IAE7B,YAAoB,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAClD,CAAC;IAED,QAAQ;IACR,CAAC;IAED,MAAM;QACJ,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IAC/B,CAAC;;oFAVU,kBAAkB;kGAAlB,kBAAkB;;;;;iBCJU,2DAAO;;;;;;iBAKR,kCAAM;;;;;;iBAGC,4CAAM;;;;;;iBAIX,yCAAM;;;;;;iBAGP,qCAAM;;;;;;kBAGN,8CAAM;;;;;;kBAGf,qBAAM;;QAzBtC,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,kFACE;QAAA,iFAAiC;QAAjC,0DAAiC;QAAO,4DAAiB;QAC3D,4DAAkB;QAClB,mFACE;QAAA,4EACE;QAAA,2EAAU;QAAA,qEAAU;QAAA,4DAAW;QAC/B,wEAA8B;QAA9B,2DAA8B;QAAM,4DAAO;QAAA,4DAAS;QACtD,6EACE;QAAA,4EAAU;QAAA,oEAAQ;QAAA,4DAAW;QAC7B,wEAAqC;QAArC,2DAAqC;QAAM,4DAAO;QACpD,4DAAS;QACT,6EACE;QAAA,4EAAU;QAAA,sEAAU;QAAA,4DAAW;QAC/B,wEAAgC;QAAhC,2DAAgC;QAAM,4DAAO;QAAA,4DAAS;QACxD,wEACE;QAAA,4EAAU;QAAA,uEAAW;QAAA,4DAAW;QAAA,mEAChC;QAAA,wEAA+B;QAA/B,2DAA+B;QAAM,4DAAO;QAAA,4DAAI;QAClD,8EACE;QAAA,4EAAU;QAAA,2EAAe;QAAA,4DAAW;QACpC,wEAA+B;QAA/B,4DAA+B;QAAM,4DAAO;QAAA,4DAAS;QACvD,8EACE;QADiB,2IAAS,YAAQ,IAAC;QACnC,4EAAU;QAAA,kEAAM;QAAA,4DAAW;QAC3B,wEAAsB;QAAtB,4DAAsB;QAAM,4DAAO;QAAA,4DAAS;QAChD,4DAAmB;QACrB,4DAAW;QACb,4DAAM;QACR,4DAAM;;6FDrBO,kBAAkB;cAL9B,uDAAS;eAAC;gBACT,QAAQ,EAAE,eAAe;gBACzB,WAAW,EAAE,4BAA4B;gBACzC,SAAS,EAAE,CAAC,2BAA2B,CAAC;aACzC;;;;;;;;;;;;;;AEPD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACJ;AAEW;AACK;AACI;AAEa;;;;;AAQ/D,MAAM,uBAAuB;IAQlC,YAAoB,YAA0B,EAC1B,YAA0B,EAC1B,mBAA+C;QAF/C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAA4B;QARnE,wCAAwC;QACxC,qBAAgB,GAAa,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAE/D,gBAAW,GAAG,IAAI,oDAAe,CAAC,CAAC,CAAC,CAAC;QAC7C,sBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IAKpD,CAAC;IAED,MAAM;QACJ,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3D,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,uBAAuB,EAAE;gBACnG,aAAa;aACd;iBAAM;gBACL,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;aACzC;YACD,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/D,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IACrC,CAAC;IAEO,mBAAmB,CAAC,SAAiB,EAAE,YAA0B;QACvE,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,SAAS,CAAC,YAA0B;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;QACvC,0GAA0G;QAC1G,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC;QAC7D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC;QACtC,MAAM,aAAa,GAAU,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACpE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;QAE7B,cAAc;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE;YAC7B,IAAI,IAAI,IAAI,6DAAQ,CAAC,KAAK,EAAE;gBAC1B,IAAI,kEAAU,CAAC,WAAW,KAAK,MAAM,EAAE;oBACrC,KAAK,GAAG,IAAI,CAAC;iBACd;qBAAM,IAAI,kEAAU,CAAC,SAAS,KAAK,MAAM,EAAE;oBAC1C,KAAK,GAAG,IAAI,CAAC;iBACd;qBAAM;oBACL,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAoB,EAAE,QAAQ,CAAC,CAAC;iBACzH;aACF;iBAAM,IAAI,IAAI,IAAI,6DAAQ,CAAC,OAAO,IAAI,QAAQ,IAAI,aAAa,EAAE;gBAChE,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,CAAC,EAAE,QAAwB,EAAE,aAAa,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAoB,EAAE,QAAQ,CAAC,CAAC;aACxK;SACF;QAED,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACK,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAE,UAAkB;QACxF,mBAAmB;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;cAC7E,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,QAAQ,CAAC;QAE/G,qCAAqC;QACrC,IAAI,KAAK,GAAG,UAAU,CAAC;QACvB,sBAAsB;QACtB,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,KAAK,GAAG,CAAC,CAAC;SACX;QACD,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YACxC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;SACtC;QACD,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAE1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACK,gBAAgB,CAAC,KAAa,EAAE,MAAc,EAAE,QAAgB,EAAE,UAAkB,EAAE,QAAsB,EAAE,aAAoB;QACxI,oBAAoB;QACpB,IAAI,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;QAEpC,IAAI,KAAK,GAAG,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC;QAEpC,qCAAqC;QACrC,IAAI,QAAQ,IAAI,sEAAY,CAAC,KAAK,EAAE;YAClC,IAAI,UAAU,IAAI,CAAC,EAAE;gBACnB,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;aACnB;iBAAM,IAAI,UAAU,IAAI,CAAC,EAAE;gBAC1B,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;aACrB;iBAAM,IAAI,UAAU,IAAI,CAAC,EAAE;gBAC1B,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;aACrB;SACF;aAAM,IAAI,QAAQ,IAAI,sEAAY,CAAC,KAAK,EAAE;YACzC,IAAI,KAAK,IAAI,mFAAkB,CAAC,KAAK,IAAI,KAAK,IAAI,mFAAkB,CAAC,KAAK,EAAE;gBAC1E,IAAI,UAAU,IAAI,CAAC,EAAE;oBACnB,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;iBACrB;qBAAM,IAAI,UAAU,IAAI,CAAC,EAAE;oBAC1B,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;iBACrB;qBAAM,IAAI,UAAU,IAAI,CAAC,EAAE;oBAC1B,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;iBACrB;aACF;iBAAM,IAAI,KAAK,IAAI,mFAAkB,CAAC,KAAK,IAAI,KAAK,IAAI,mFAAkB,CAAC,GAAG,EAAE;gBAC/E,IAAI,UAAU,IAAI,CAAC,EAAE;oBACnB,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;iBACrB;qBAAM,IAAI,UAAU,IAAI,CAAC,EAAE;oBAC1B,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;iBACrB;qBAAM,IAAI,UAAU,IAAI,CAAC,EAAE;oBAC1B,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;iBACrB;aACF;SACF;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,MAAkB,EAAE,QAAiB;QAC3D,kBAAkB;QAClB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO,KAAK,CAAC;SACd;QAED,mCAAmC;QACnC,IAAI,MAAM,EAAE;YACV,QAAQ,MAAM,EAAE;gBACd,KAAK,kEAAU,CAAC,KAAK,CAAC;gBACtB,KAAK,kEAAU,CAAC,aAAa,CAAC;gBAC9B,KAAK,kEAAU,CAAC,cAAc,CAAC,CAAC;oBAC9B,KAAK,IAAI,KAAK,CAAC;oBACf,MAAM;iBACP;gBACD,KAAK,kEAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,kEAAU,CAAC,WAAW,CAAC;gBAC5B,KAAK,kEAAU,CAAC,YAAY,CAAC;gBAC7B,KAAK,kEAAU,CAAC,mBAAmB,CAAC,CAAC;oBACnC,KAAK,IAAI,KAAK,CAAC;oBACf,MAAM;iBACP;gBACD,KAAK,kEAAU,CAAC,MAAM,CAAC,CAAC;oBACtB,KAAK,IAAI,KAAK,CAAC;oBACf,MAAM;iBACP;gBACD,KAAK,kEAAU,CAAC,cAAc,CAAC,CAAC;oBAC9B,KAAK,IAAI,GAAG,CAAC;oBACb,MAAM;iBACP;gBACD,KAAK,kEAAU,CAAC,SAAS,CAAC;gBAC1B,KAAK,kEAAU,CAAC,WAAW,CAAC,CAAC;oBAC3B,MAAM;iBACP;aAEF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;;8FA9LU,uBAAuB;0GAAvB,uBAAuB,WAAvB,uBAAuB,mBAFtB,MAAM;6FAEP,uBAAuB;cAHnC,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACdD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqF;AAC1C;AACF;AACoD;AAC1C;AAEY;AAIS;;;;;;;;;;;;;;;;;;;ICRtE,uEACA;;;IAAA,uEACF;;;;IAEA,qFACE;IAAA,4EAAyB;IAAzB,2DAAyB;IAAM,4DAAY;IAC3C,4EAGF;IAFS,sUAAsB;IAD7B,4DAGF;IAAA,4DAAiB;;;IALiE,sFAAsB;IAI/F,0DAA0B;IAA1B,mFAA0B;;;;IAUjC,6FAEE;IAFmC,sWAAwB;IAE3D,wFACE;IAAA,2EAAU;IAAA,wEAAa;IAAA,4DAAW;IACpC,4DAAoB;IACtB,4DAA0B;;;IALoC,4FAAiC;;;;IAO/F,6FAEE;IAFmC,yWAA2B;IAE9D,wFACE;IAAA,2EAAU;IAAA,4EAAiB;IAAA,4DAAW;IACxC,4DAAoB;IACtB,4DAA0B;;;IALuC,uGAA4C;;;IAuB3G,iFAAkF;IAAA,uDAAc;IAAA,4DAAa;;;IAAhD,iFAAoB;IAAC,0DAAc;IAAd,+EAAc;;;;IAHpG,oFACE;IAAA,4EAA+B;IAA/B,2DAA+B;IAAM,4DAAY;IACjD,iFACE;IADU,0XAAkD;IAC5D,mJAA6G;IAC/G,4DAAa;IACf,4DAAiB;;;IAL8D,sFAAsB;IAEpC,0DAAgC;IAAhC,yFAAgC;IAC1D,0DAAwB;IAAxB,iGAAwB;;;;IAW/D,oFAEE;IAAA,4EAA0B;IAA1B,2DAA0B;IAAM,4DAAY;IAC5C,4EACA;IADgB,+VAAgC;IAAhD,4DACA;IAAA,sFAAsE;IACtE,4FAAqD;IACvD,4DAAiB;;;;IALD,sFAAsB;IAEa,0DAA2B;IAA3B,oFAA2B;IAC5C,0DAAc;IAAd,qEAAc;;;IAO5C,iFACiD;IAAA,uDAAS;IAAA,4DAAa;;;IAA3D,0GAAoC;IADA,wEAAW;IACV,0DAAS;IAAT,0EAAS;;;IAL9D,oFAEE;IAAA,4EAA0B;IAA1B,2DAA0B;IAAM,4DAAY;IAC5C,iFACE;IAAA,mJACuE;IACzE,4DAAa;IACf,4DAAiB;;;IAND,sFAAsB;IAExB,0DAA2B;IAA3B,oFAA2B;IACX,0DAAoB;IAApB,6FAAoB;;;IAO9C,iFACiD;IAAA,uDAA8B;IAAA,4DAAa;;;;IAAhF,0GAAoC;IADK,wEAAW;IACf,0DAA8B;IAA9B,uGAA8B;;;IAJnF,oFACE;IAAA,4EAA0B;IAA1B,2DAA0B;IAAM,4DAAY;IAC5C,iFACE;IAAA,mJAC4F;IAC9F,4DAAa;IACf,4DAAiB;;;IANgE,sFAAsB;IAEzF,0DAA2B;IAA3B,oFAA2B;IACX,0DAAyB;IAAzB,kGAAyB;;AD9DhD,MAAM,sBAAsB;IA0BjC,YACoB,QAAkB,EAC5B,YAA0B,EAC1B,EAAe,EACf,mBAA+C;;QAF/C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,OAAE,GAAF,EAAE,CAAa;QACf,wBAAmB,GAAnB,mBAAmB,CAA4B;QAlBzD,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGrC,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGxC,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGvC,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QAWrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,IAAI,+EAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5B,UAAU,EAAE,sEAAY,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;;YAC3D,IAAI,QAAQ,GAAG,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAClE,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;gBAC9E,IAAI,CAAC,QAAQ,CAAC,aAAa,CACzB,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,YAAY,EAAE;oBACzC,MAAM,EAAE;wBACN,MAAM,EAAE,QAAQ;wBAChB,MAAM,QAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,KAAK;wBACzC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;qBAC9B;iBACF,CAAC,CACH,CAAC;aACH;QACH,CAAC,EAAE;QAEH,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAC1D,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACpE,CAAC,EAAE;QAEH,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YACzD,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAC5B,CAAC,EAAE;QAEH,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,YAAY,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,EAAE;QAEH,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE;;YAC7D,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,IAAI,+EAAgB,CAAC,IAAI,EAAE;gBACpF,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;aACtD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;;QACN,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC1D,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC9D,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QAC5D,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;QACtE,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,UAAU,CAAC,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IACtF,CAAC;IAED,WAAW;;QACT,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC1D,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAC9D,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;QAC5D,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;QACtE,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,UAAU,CAAC,0DAAS,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;IACtF,CAAC;IAEM,eAAe,CAAC,EAAO,EAAE,EAAO;QACrC,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC;IAC3B,CAAC;IAEM,QAAQ,CAAC,CAA8B;;QAC5C,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE;IAClD,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,OAAY,EAAE,GAAW,EAAE,GAAW;QACzD,IAAI,OAAO,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,EAAE;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,OAAO,GAAG,GAAG,EAAE;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC7B;YACD,IAAI,OAAO,GAAG,GAAG,EAAE;gBACjB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;aAC7B;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,QAAgB;;QAChD,IAAI,IAAI,KAAK,MAAM,EAAE;YACnB,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,0CAAE,UAAU,CAAC,QAAQ,EAAE;SACjD;QACD,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,UAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,0CAAE,UAAU,CAAC,QAAQ,EAAE;SAClD;IACH,CAAC;IAED,UAAU;QACR,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,eAAe;QACb,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,gBAAgB,CAAC,UAAkB;QACjC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;IACvC,CAAC;IAEM,oBAAoB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAEM,mBAAmB,CAAC,QAAgB;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,MAAM,CAAC,MAAM,CAAC,sEAAY,CAAC,CAAC;IACrC,CAAC;;4FA5LU,sBAAsB,kEA2BvB,wDAAQ;sGA3BP,sBAAsB;;;;;iBChBE,aAAM;;;;;;iBAC+C,MAAI;;;;;;iBACH,aAAI;;;;;;iBAYtB,eAAQ;;;;;;iBAqBtD,mBAAM;;;;;;kBAgDF,sBAAM;;;;;;kBAUL,cAAM;;;;;;kBAIN,cAAM;;;;;;kBAhGoD,MAAI;;;;;;kBACH,aAAI;;;;;;kBAIpE,MAAM;;;;;;kBAe4C,YAAM;;;;;;kBAOJ,oBAAU;;;;;;kBAmBxD,cAAM;;;;;;kBAeX,OAAM;;;;;;kBAON,OAAM;;;;;;kBAON,OAAM;;QA7ElC,oFACE;QAAA,4EAAmC;QAAnC,0DAAmC;QAAM,4DAAY;QACrD,sHACA;QAAA,sHACF;QAAA,4DAAiB;QAEjB,wIAKiB;QACjB,sEACE;QACA,6FACE;QADmC,+JAAS,gBAAY,IAAC;QACzD,uFACE;QAAA,2EAAU;QAAA,uEAAW;QAAA,4DAAW;QAClC,4DAAoB;QACtB,4DAA0B;QAE1B,4JAK0B;QAE1B,4JAK0B;QAC5B,4DAAM;QAAA,iEACN;QACA,qFACE;QAAA,6EAAyB;QAAzB,2DAAyB;QAAM,4DAAY;QAC3C,6EAIA;QAHO,kKAAgB,WAAO,MAAM,2CAAmC,IAAC;QADxE,4DAIA;QAAA,kFAGgC;QAHpB,yJAAS,WAAO,MAAM,iDAAyC,IAAC;QAG5C,4DAAa;QAC/C,4DAAiB;QAEjB,2IAKiB;QACjB,wFAMwC;QAHtC,uKAAgB,uBAAwB,IAAC,+GACzB,uBAAwB,IADC,iHAExB,wBAAyB,IAFD,2GAG3B,qBAAsB,IAHK;QAGH,4DAAmB;QAE3D,2IAMiB;QACjB,2IAOiB;QACjB,2IAMiB;QACjB,qFACE;QAAA,6EAA6B;QAA7B,4DAA6B;QAAM,4DAAY;QAC/C,6EAGA;QAHgB,kKAAgB,WAAO,OAAO,2CAAmC,IAAC;QAAlF,4DAGA;QAAA,kFAG6B;QAHjB,yJAAS,WAAO,OAAO,2CAAmC,IAAC;QAG1C,4DAAa;QAC5C,4DAAiB;QACjB,qFACE;QAAA,6EAA8B;QAA9B,4DAA8B;QAAM,4DAAY;QAChD,wEACF;QAAA,4DAAiB;QACjB,qFACE;QAAA,6EAA8B;QAA9B,4DAA8B;QAAM,4DAAY;QAChD,wEACF;QAAA,4DAAiB;;QAlGoB,0DAAwB;QAAxB,wFAAwB;QACxB,0DAAuB;QAAvB,uFAAuB;QAGJ,0DAAwB;QAAxB,wFAAwB;QAQlB,0DAAkC;QAAlC,0FAAkC;QAOpE,0DAAwB;QAAxB,wFAAwB;QAOxB,0DAAwB;QAAxB,wFAAwB;QAOA,0DAAsB;QAAtB,mFAAsB;QAIjE,0DAA0B;QAA1B,mFAA0B;QAGrB,0DAA0B;QAA1B,mFAA0B;QAKa,0DAAwB;QAAxB,wFAAwB;QAO3E,0DAA0C;QAA1C,uGAA0C;QAOS,0DAAoD;QAApD,wHAAoD;QAOpD,0DAAqD;QAArD,yHAAqD;QAQrD,0DAA0B;QAA1B,0FAA0B;QAO3B,0DAAsB;QAAtB,mFAAsB;QAGjE,0DAA2B;QAA3B,oFAA2B;QAGtB,0DAA2B;QAA3B,oFAA2B;QAMd,0DAAoC;QAApC,iGAAoC;QAIpC,0DAAmC;QAAnC,gGAAmC;;6FDlFjD,sBAAsB;cALlC,uDAAS;eAAC;gBACT,QAAQ,EAAE,oBAAoB;gBAC9B,WAAW,EAAE,iCAAiC;gBAC9C,SAAS,EAAE,CAAC,gCAAgC,CAAC;aAC9C;sCA4B+B,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;yQAxBX,QAAQ;kBADd,mDAAK;YAIC,sBAAsB;kBAD5B,mDAAK;YAIC,yBAAyB;kBAD/B,mDAAK;YAIN,UAAU;kBADT,oDAAM;YAIP,aAAa;kBADZ,oDAAM;YAIP,YAAY;kBADX,oDAAM;YAIP,YAAY;kBADX,oDAAM;;;;;;;;;;;;;;AErCT;AAAA;AAAA,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,4BAAa;IACb,gDAAiC;IACjC,kCAAmB;IACnB,gDAAiC;AACnC,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACkC;;;;;;AAW3E,MAAM,2BAA2B;IAEtC,YAAmB,SAAoD,EAC3B,IAA4B;QADrD,cAAS,GAAT,SAAS,CAA2C;QAC3B,SAAI,GAAJ,IAAI,CAAwB;IACxE,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC5B,CAAC;IAED,IAAI,QAAQ,CAAC,KAAK;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC7B,CAAC;;sGAhBU,2BAA2B,0MAGlB,wEAAe;2GAHxB,2BAA2B;;;;;iBCVC,2EAAM;;;;;;iBAOqB,cAAM;;;;;;iBACc,eAAM;;QAV9F,qFACE;QAAA,yEACE;QAAA,wEAAqC;QAArC,0DAAqC;QAAM,4DAAQ;QAAA,gEACnD;QAAA,oFACE;QAAA,2EACF;QADkB,iMAAsB;QAAtC,4DACF;QAAA,4DAAiB;QACnB,4DAAM;QACR,4DAAqB;QACrB,wFACE;QAAA,4EAAkE;QAAhC,mJAAS,WAAO,IAAC;QAAnD,0DAAkE;QAAM,4DAAS;QACjF,6EAAsF;QAAtF,2DAAsF;QAAM,4DAAS;QACvG,4DAAqB;;QAPC,0DAAsB;QAAtB,iFAAsB;QAMR,0DAAkC;QAAlC,+FAAkC;;6FDEzD,2BAA2B;cALvC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,qCAAqC;gBAClD,SAAS,EAAE,CAAC,sCAAsC,CAAC;aACpD;;sBAIc,oDAAM;uBAAC,wEAAe;;;;;;;;;;;;;;AEfrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwC;AAC0B;;;;;;;;;;;;ICYpD,4EAAsE;IAAtE,2DAAsE;IAAM,4DAAY;;;IAD1F,4EACE;IAAA,4IAAwF;IAC1F,4DAAY;;;IADE,0DAA8B;IAA9B,iGAA8B;;;IAQ1C,4EAAyE;IAAzE,2DAAyE;IAAM,4DAAY;;;IAD7F,4EACE;IAAA,4IAA2F;IAC7F,4DAAY;;;IADE,0DAAiC;IAAjC,oGAAiC;;ADVpD,MAAM,uBAAuB;IAMlC,YAAoB,WAAwB,EACxB,cAA8B,EAC9B,MAAc,EACd,KAAqB,EACrB,YAA0B;QAJ1B,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,WAAM,GAAN,MAAM,CAAQ;QACd,UAAK,GAAL,KAAK,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAc;QAPtC,eAAU,GAAY,KAAK,CAAC;QAC5B,SAAI,GAAkB,IAAI,CAAC;QAOjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAClC,QAAQ,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACnC,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,CAAC;;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,IAAI,EAAE;YACb,CAAC,CAAC,cAAc,CAAC;SAClB;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACtB,OAAO;SACR;QAED,IAAI,WAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,KAAK,aAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,0CAAE,KAAK,GAAE;YAC9E,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,oCAAyC,CAAC,CAAC;YACnE,OAAO;SACR;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,iIAAsC,CAAC,CAAC;YAChE,OAAO;SACR;QAED,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,QAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;YACpG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,uBAA8B,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;;8FA1DU,uBAAuB;uGAAvB,uBAAuB;;;;;iBCNa,aAAO;;;;;;iBAIf,OAAM;;;;;;iBAQA,sBAAM;;;;;;iBAWjB,cACxB;;;;;;iBAhBwE,qBAAM;;;;;;kBAQH,qBAAM;;QArB7F,0EACE;QADuB,yJAAY,oBAAgB,IAAC;QACpD,sEACE;QAAA,yEACE;QAAA,2EACE;QAAA,kFACE;QAAA,iFAAuC;QAAvC,0DAAuC;QAAO,4DAAiB;QACjE,4DAAkB;QAClB,mFACE;QAAA,oFACE;QAAA,4EAA6B;QAA7B,2DAA6B;QAAM,4DAAY;QAC/C,uEAEA;QAAA,iIAEY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAAmC;QAAnC,2DAAmC;QAAM,4DAAY;QACrD,uEAEA;QAAA,iIAEY;QACd,4DAAiB;QACnB,4DAAmB;QACnB,mFACE;QAAA,oFACE;QAAA,6EACwB;QADxB,4DACwB;QACxB,4DAAS;QACX,4DAAmB;QACrB,4DAAkB;QACpB,4DAAW;QACb,4DAAM;QACR,4DAAM;QACR,4DAAO;;QAnCD,+EAAkB;QAYA,2DAAwD;QAAxD,gIAAwD;QAQxD,0DAA8D;QAA9D,sIAA8D;QAOhC,0DAAyB;QAAzB,sFAAyB;;6FDhBlE,uBAAuB;cALnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;gBAC/B,WAAW,EAAE,kCAAkC;gBAC/C,SAAS,EAAE,CAAC,iCAAiC,CAAC;aAC/C;;;;;;;;;;;;;;AEVD;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6E;;;;;AAOtE,MAAM,oBAAoB;IAoB/B;QAXA,eAAU,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGrC,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGxC,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;QAGvC,iBAAY,GAAG,IAAI,0DAAY,EAAO,CAAC;IAEvB,CAAC;IAEjB,QAAQ;IACR,CAAC;;wFAvBU,oBAAoB;oGAApB,oBAAoB;;;;;iBCLsD,0BAAc;;;;;;iBAId,kCAAa;;;;;;iBAIhB,iCAAa;;;;;;iBAIf,yBAAY;;QAd9F,sEACE;QAAA,4EAEE;QAF+C,4IAAS,uBAAwB,IAAC;QAEjF,yEAA8C;QAChD,4DAAS;QACT,4EAEE;QAF+C,4IAAS,uBAAwB,IAAC;QAEjF,yEAA6C;QAC/C,4DAAS;QACT,4EAEE;QAF+C,4IAAS,wBAAyB,IAAC;QAElF,yEAA6C;QAC/C,4DAAS;QACT,4EAEE;QAF+C,4IAAS,qBAAsB,IAAC;QAE/E,yEAA4C;QAC9C,4DAAS;QACX,4DAAM;QAAA,gEACN;;QAhBU,0DAA+B;QAA/B,4FAA+B;QAI/B,0DAA+B;QAA/B,4FAA+B;QAI/B,0DAA4B;QAA5B,yFAA4B;QAI5B,0DAA4B;QAA5B,yFAA4B;;6FDPzB,oBAAoB;cALhC,uDAAS;eAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,WAAW,EAAE,+BAA+B;gBAC5C,SAAS,EAAE,CAAC,8BAA8B,CAAC;aAC5C;sCAIQ,eAAe;kBADrB,mDAAK;YAIC,kBAAkB;kBADxB,mDAAK;YAIN,UAAU;kBADT,oDAAM;YAIP,aAAa;kBADZ,oDAAM;YAIP,YAAY;kBADX,oDAAM;YAIP,YAAY;kBADX,oDAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AExBuC;AAG+B;AACpC;AACF;AAIc;AACY;AACtB;;;;;;;;;;;;;ICQjC,4EAAyE;IAAzE,2DAAyE;IAAM,4DAAY;;;IAC3F,4EAAwE;IAAxE,2DAAwE;IACpC,4DAAY;;;;IAAZ,0DAAY;IAAZ,2IAAY;IAAZ,4DAAY;;;IAChD,4EAAkE;IAAlE,2DAAkE;IAC9B,4DAAY;;;;IAAZ,0DAAY;IAAZ,2IAAY;IAAZ,4DAAY;;;IALlD,4EACE;IAAA,sJAA2F;IAC3F,sJACgD;IAChD,sJACgD;IAClD,4DAAY;;;;IALE,0DAAiC;IAAjC,uGAAiC;IACjC,0DAA6B;IAA7B,gJAA6B;IAE7B,0DAA6B;IAA7B,gJAA6B;;;;IAMjD,sEACE;IAAA,wEAAyE;IAA3C,8ZAA0B;IAAxD,2DAAyE;IAAM,4DAAI;IACrF,4DAAM;;;;IACN,sEACE;IAAA,wEAAyE;IAA3C,8ZAA0B;IAAxD,2DAAyE;IAAO,4DAAI;IACtF,4DAAM;;;IACN,gEACF;;;;IAjCA,sEACE;IAAA,yEACE;IAAA,sEAAmB;IAAnB,0DAAmB;IAAM,4DAAM;IAC/B,sEAAK;IAAA,uDAA0C;IAAA,4DAAM;IACvD,4DAAM;IACN,yEACE;IAAA,sEAAqB;IAArB,0DAAqB;IAAM,4DAAM;IACjC,sEAAK;IAAA,wDAAkD;IAAA,4DAAM;IAC/D,4DAAM;IACN,0EACE;IAAA,uEAAuB;IAAvB,2DAAuB;IAAM,4DAAM;IACnC,uEACE;IAAA,qFACE;IAAA,4EAGA;IAHuD,iYAAyC,uGAChF,wBAAwB,IADwD;IAAhG,4DAGA;IAAA,2IAMY;IACd,4DAAiB;IACnB,4DAAM;IACR,4DAAM;IACN,+HAEM;IACN,+HAEM;IACN,6HACF;IAAA,4DAAM;;;;;IA9BG,0DAA0C;IAA1C,iHAA0C;IAI1C,0DAAkD;IAAlD,yHAAkD;IAKhB,0DAAgC;IAAhC,mGAAgC;IAIvD,0DAAsE;IAAtE,gKAAsE;IAUlF,0DAAiC;IAAjC,uGAAiC;IAGjC,0DAAyB;IAAzB,4FAAyB;IAG1B,0DAA6B;IAA7B,mGAA6B;;ADf/B,MAAM,2BAA2B;IAOtC,YAA8B,QAAkB,EAC5B,uBAAgD,EACjD,cAA8B,EAC7B,EAAe,EACf,YAA0B,EAC1B,mBAA+C,EAC/C,SAAoB;QALpB,4BAAuB,GAAvB,uBAAuB,CAAyB;QACjD,mBAAc,GAAd,cAAc,CAAgB;QAC7B,OAAE,GAAF,EAAE,CAAa;QACf,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,cAAS,GAAT,SAAS,CAAW;QAVxC,oBAAe,GAAgB,EAAE,CAAC;QAWhC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;QAErC,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC9D,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;;gBAChE,IAAI,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;oBACzC,UAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;iBAC7G;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,CAAM,EAAE,OAAqB;QAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,gBAAgB,CAAC,IAAwB;;QACvC,MAAM,SAAS,SAAG,sEAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,0CAAE,KAAK,CAAC;QAC9D,IAAI,SAAS,EAAE;YACb,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,kBAA0B,CAAC;IACpC,CAAC;IAED,kBAAkB,CAAC,UAAyB;;QAC1C,MAAM,WAAW,SAAG,uEAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,CAAC,0CAAE,KAAK,CAAC;QACxE,IAAI,WAAW,EAAE;YACf,OAAO,WAAW,CAAC;SACpB;QACD,OAAO,kBAA0B,CAAC;IACpC,CAAC;IAED,IAAI,QAAQ;QACV,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YACnD,eAAe;YACf,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBAClC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAChC,IAAI,CAAC,QAAQ,EAAE;oBACb,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;iBACnE;gBACD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBAC1C,QAAQ,EAAE,CAAC,QAAQ;wBACjB,CAAC,yDAAU,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC;4BACrE,yDAAU,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;iBAC7E,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,UAAU,CAAgB,CAAC;IACpE,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;IACtE,CAAC;IAEK,aAAa,CAAC,CAAS;;YAC3B,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,yIAAoC,CAAC,EAAE;gBAC1E,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACnC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBACpE,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;aAC1E;QACH,CAAC;KAAA;;sGArFU,2BAA2B,kEAOlB,wDAAQ;2GAPjB,2BAA2B;;;;;iBCff,KAAM;;;;;;iBAIJ,YAAM;;;;;;iBAIJ,oBAAM;;;;;;iBAOkD,6BAAM;;;;;;iBACP,oDACpC;;;;;;kBAC8B,uEAC9B;;;;;;kBAM+B,aAAM;;;;;;kBAGN,cAAO;;QAhCtF,yEACE;QACA,wHAiCM;QACR,4DAAM;;QAlCqB,0DAAa;QAAb,iFAAa;;6FDiB3B,2BAA2B;cALvC,uDAAS;eAAC;gBACT,QAAQ,EAAE,0BAA0B;gBACpC,WAAW,EAAE,uCAAuC;gBACpD,SAAS,EAAE,CAAC,sCAAsC,CAAC;aACpD;sCAQyC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AE1BqC;AACwC;AAE9C;AACd;AACW;AAIb;;;;;;;;;;;;;;;;;;ICI/B,4EAAyE;IAAzE,2DAAyE;IAAM,4DAAY;;;IAC3F,4EAA+C;IAAA,uDACI;IAAA,4DAAY;;;IADhB,0DACI;IADJ,uMACI;;;IACnD,4EAA+C;IAAA,uDACI;IAAA,4DAAY;;;IADhB,0DACI;IADJ,uMACI;;;IALrD,4EACE;IAAA,qIAA2F;IAC3F,qIAC+D;IAC/D,qIAC+D;IACjE,4DAAY;;;IALE,0DAAgC;IAAhC,2IAAgC;IAChC,0DAAiC;IAAjC,4IAAiC;IAEjC,0DAAiC;IAAjC,4IAAiC;;;IAQ7C,4EAAuE;IAAvE,2DAAuE;IAAM,4DAAY;;;IACzF,4EAA8C;IAAA,uDACI;IAAA,4DAAY;;;IADhB,0DACI;IADJ,qMACI;;;IAClD,4EAA8C;IAAA,uDACI;IAAA,4DAAY;;;IADhB,0DACI;IADJ,qMACI;;;IALpD,4EACE;IAAA,qIAAyF;IACzF,qIAC8D;IAC9D,qIAC8D;IAChE,4DAAY;;;IALE,0DAA+B;IAA/B,yIAA+B;IAC/B,0DAAgC;IAAhC,0IAAgC;IAEhC,0DAAgC;IAAhC,0IAAgC;;;IAU9C,iFACE;IAAA,iFAAiD;IAAjD,2DAAiD;IAAM,4DAAa;IACtE,4DAAa;;IAFD,0EAAiB;IACf,0DAAmB;IAAnB,4EAAmB;;;IAEjC,iFACE;IAAA,iFAA+C;IAA/C,2DAA+C;IAAM,4DAAa;IACpE,4DAAa;;IAFD,0EAAiB;IACf,0DAAkB;IAAlB,2EAAkB;;;IAWlC,oFACE;IAAA,4EAAwB;IAAxB,2DAAwB;IAAM,4DAAY;IAC1C,uEACF;IAAA,4DAAiB;;;IACjB,oFACE;IAAA,4EAA0B;IAA1B,2DAA0B;IAAM,4DAAY;IAC5C,uEACF;IAAA,4DAAiB;;;IAeX,4EAAiF;IAAjF,2DAAiF;IAAM,4DAAY;;;IADrG,4EACE;IAAA,qIAAmG;IACrG,4DAAY;;;IADE,0DAA2C;IAA3C,iKAA2C;;;IAOvD,4EAA6E;IAA7E,2DAA6E;IAAM,4DAAY;;;IADjG,4EACE;IAAA,qIAA+F;IACjG,4DAAY;;;IADE,0DAAyC;IAAzC,6JAAyC;;;IAOrD,4EAA2E;IAA3E,2DAA2E;IAAM,4DAAY;;;IAD/F,4EACE;IAAA,qIAA6F;IAC/F,4DAAY;;;IADE,0DAAwC;IAAxC,2JAAwC;;;IASpD,iFAC8B;IAAA,uDAAuB;IAAA,4DAAa;;;IAAtD,8EAAiB;IAAC,0DAAuB;IAAvB,wFAAuB;;;IAGrD,4EAA4F;IAA5F,2DAA4F;IAAM,4DAAY;;;IADhH,4EACE;IAAA,qIAA8G;IAChH,4DAAY;;;IADE,0DAAqD;IAArD,uLAAqD;;;IAsB/D,4EAAkF;IAAlF,2DAAkF;IAAM,4DAAY;;;IADtG,4EACE;IAAA,2IAAoG;IACtG,4DAAY;;;IADE,0DAA4C;IAA5C,6JAA4C;;;IAOxD,4EAA8E;IAA9E,2DAA8E;IAAM,4DAAY;;;IADlG,4EACE;IAAA,4IAAgG;IAClG,4DAAY;;;IADE,0DAA0C;IAA1C,yJAA0C;;;IAOtD,4EAA4E;IAA5E,2DAA4E;IAAM,4DAAY;;;IADhG,4EACE;IAAA,4IAA8F;IAChG,4DAAY;;;IADE,0DAAyC;IAAzC,uJAAyC;;;IASrD,iFAC8B;IAAA,uDAAuB;IAAA,4DAAa;;;IAAtD,8EAAiB;IAAC,0DAAuB;IAAvB,wFAAuB;;;IAGrD,4EAAwF;IAAxF,2DAAwF;IAAM,4DAAY;;;IAD5G,4EACE;IAAA,4IAA0G;IAC5G,4DAAY;;;IADE,0DAAiD;IAAjD,uKAAiD;;;IAO7D,4EAAgF;IAAhF,2DAAgF;IAAM,4DAAY;;;IADpG,4EACE;IAAA,4IAAkG;IACpG,4DAAY;;;IADE,0DAA2C;IAA3C,2JAA2C;;;;IAO3D,mFACE;IAAA,6EAA8F;IAApD,2gBAAmD;IAA7F,2DAA8F;IAC9F,4DAAS;IACX,4DAAmB;;;IAtDvB,sEACE;IAAA,0EACE;IAAA,qFACE;IAAA,uEACF;IAAA,4DAAiB;IAEjB,oFACE;IAAA,4EAA2B;IAA3B,2DAA2B;IAAM,4DAAY;IAC7C,uEACA;IAAA,+HAEY;IACd,4DAAiB;IACjB,oFACE;IAAA,6EAAyB;IAAzB,4DAAyB;IAAM,4DAAY;IAC3C,wEACA;IAAA,iIAEY;IACd,4DAAiB;IACjB,qFACE;IAAA,6EAAwB;IAAxB,4DAAwB;IAAM,4DAAY;IAC1C,wEACA;IAAA,iIAEY;IACd,4DAAiB;IACjB,sFACE;IAAA,6EAA4B;IAA5B,4DAA4B;IAAM,4DAAY;IAC9C,wEAGA;IAAA,4FACE;IAAA,oIACkE;;IACpE,4DAAmB;IACnB,iIAEY;IACd,4DAAiB;IACjB,qFACE;IAAA,6EAA0B;IAA1B,4DAA0B;IAAM,4DAAY;IAC5C,wEACA;IAAA,iIAEY;IACd,4DAAiB;IACjB,qFACE;IAAA,6EAA0B;IAA1B,4DAA0B;IAAM,4DAAY;IAC5C,wEACF;IAAA,4DAAiB;IACjB,+IAGmB;IACnB,iEACA;IAAA,iEACF;IAAA,4DAAM;IACR,4DAAM;;;;;;IAzDC,0DAAmB;IAAnB,gFAAmB;IACe,0DAAe;IAAf,wEAAe;IAOtC,0DAAmF;IAAnF,+JAAmF;IAOnF,0DAA+E;IAA/E,2JAA+E;IAO/E,0DAA6E;IAA7E,yJAA6E;IAItD,0DAAqB;IAArB,kFAAqB;IAIjD,0DAAwB;IAAxB,iFAAwB;IACW,0DAAyB;IAAzB,0FAAyB;IACjC,0DAAwC;IAAxC,iLAAwC;IAG9D,0DAA6F;IAA7F,yKAA6F;IAO7F,0DAAiF;IAAjF,6JAAiF;IAQ5E,0DAAoC;IAApC,8GAAoC;;ADlJ9D,MAAM,gBAAgB;IAS3B,YACU,WAAwB,EACxB,cAA8B,EAC9B,YAA0B,EAC1B,YAA0B,EAC1B,cAA8B,EAC9B,SAAoB,EACpB,iBAAoC;QANpC,gBAAW,GAAX,WAAW,CAAa;QACxB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,mBAAc,GAAd,cAAc,CAAgB;QAC9B,cAAS,GAAT,SAAS,CAAW;QACpB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAZtC,qBAAgB,GAAG,oEAAW,CAAC;QAG/B,gCAA2B,GAA4B,EAAE,CAAC;QAWhE,IAAI,CAAC,OAAO,GAAG,IAAI,oDAAM,CAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAClC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,yDAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1F,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,yDAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACzF,WAAW,EAAE,CAAC,EAAE,EAAE;YAClB,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;YACvC,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,KAAK,EAAE,CAAC,EAAE,CAAC;YACX,GAAG,EAAE,CAAC,EAAE,CAAC;YACT,WAAW,EAAE,CAAC,EAAE,CAAC;YACjB,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBACrC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACP,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;gBACjC,IAAI,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;gBAC/B,GAAG,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;gBAC9B,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;aACvC,CAAC;YACF,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,wDAAwD;SACnI,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;YACtD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,YAAY;iBACxF,IAAI,CACH,gEAAS,CAAC,EAAE,CAAC,EACb,0DAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,sDAAO,CAAC,CAAC,CAAE,KAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAC/E,0DAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,EACvG,0DAAG,CAAC,GAAG,EAAE;gBACP,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACzC,OAAO,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,KAAK;gBAC5E,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACN,IAAI,OAAO,IAAI,SAAS,EAAE;oBACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAChE;YACH,CAAC,CAAC,CACH,CAAC;YACJ,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5B,SAAS,EAAE,CAAC,CAAC,CAAC;YACd,MAAM,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACjC,IAAI,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC/B,GAAG,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAC9B,WAAW,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACtC,KAAK,EAAE,CAAC,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YAChC,KAAK,EAAE,CAAC,EAAE,CAAC;SACZ,CAAC;IACJ,CAAC;IAED,kBAAkB,CAAC,MAAM;QACvB,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAc,CAAC;QACzE,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,0CAA0C,CAAC,iBAAiB,CAAC,CAAC;IACrE,CAAC;IAED,gBAAgB;QACd,8DAA8D;QAC9D,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,WAAW,CAAC;QAC1F,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACvC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC;QACxD,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC;aACvC,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,GAAG,EAAE;YACZ,cAAc;YACd,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,0DAA0D;YAC1D,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,yCAAoC,EAAE,EAAC,oBAAoB,EAAE,IAAI,EAAC,CAAC;QAC/F,CAAC,EACD,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAe,CAAC,QAAQ,CAAC;IACrE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,8BAA8B;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAED,IAAI,0BAA0B;QAC5B,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC1C,CAAC;IAED,MAAM,CAAC,CAAC;QACN,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxC;IACH,CAAC;IAEO,qBAAqB,CAAC,SAAoB;QAChD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,IAAI,OAAO,YAAY,0DAAW,EAAE;gBAClC,OAAO,CAAC,aAAa,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;aACzC;iBAAM,IAAI,OAAO,YAAY,wDAAS,EAAE;gBACvC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;aACrC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,OAAgB;QACxB,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,OAAO,CAAC,WAAW,CAAC;SAC5B;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,KAAK,CAAC,CAAC,GAAG,IAAI;QACZ,IAAI,CAAC,KAAK,IAAI,EAAE;YACd,CAAC,CAAC,cAAc,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;aAChC,IAAI,CAAC,4DAAK,EAAE,CAAC;aACb,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;YAClB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAc,CAAC;YACnE,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnD,IAAI,IAAI,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACzB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;gBACpB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;gBAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,cAAc,EAAE;oBACd,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM;oBAClC,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;oBAC9B,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG;oBAC5B,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,WAAW;iBAC7C;aACF,CAAC,CAAC;YAEH,mDAAmD;YACnD,IAAI,CAAC,0CAA0C,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,0CAA0C,CAAC,SAAoB;QACrE,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY;iBACjD,IAAI,CACH,gEAAS,CAAC,EAAE,CAAC,EACb,0DAAG,CAAC,KAAK,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,YAAY,sDAAO,CAAC,CAAC,CAAE,KAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC7E,CAAC,CAAC,EACF,0DAAG,CAAC,IAAI,CAAC,EAAE;gBACT,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;gBAChC,OAAO,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;YACxG,CAAC,CAAC,EACF,0DAAG,CAAC,GAAG,EAAE;gBACP,IAAI,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBACzC,OAAO,CAAC,CAAC,WAAW,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW;gBACjE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACN,IAAI,OAAO,IAAI,SAAS,EAAE;oBACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBACtF;YACH,CAAC,CAAC,CACH,CAAC;QACN,CAAC,CAAC,CAAC;IACL,CAAC;IAEK,qBAAqB,CAAC,CAAM,EAAE,OAAkB,EAAE,KAAa;;;YACnE,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAc,CAAC;YACnE,IAAI,cAAO,CAAC,GAAG,CAAC,WAAW,CAAC,0CAAE,KAAK,MAAK,CAAC,EAAE;gBACzC,MAAM,OAAO,GAAG,0HAAiC,CAAC;gBAClD,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;oBAC7C,IAAI,CAAC,cAAc,CAAC,MAAM,OAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,0CAAE,KAAK,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE;wBACzE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAC1B,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;oBACzC,CAAC,EAAE,GAAG,EAAE;wBACN,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;oBACvC,CAAC,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC3B;;KACF;IAEM,SAAS;QACd,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,EAAE,EAAE;YACjC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,SAAS,CAAC;SAC5C;QACD,OAAO,KAAK,CAAC;IACf,CAAC;;gFAjSU,gBAAgB;gGAAhB,gBAAgB;;;;;iBCbc,oCAAM;;;;;;iBACK,yBAAM;;;;;;iBAIlB,MAAM;;;;;;iBAWP,YAAM;;;;;;iBAWT,OAAM;;;;;;kBAIA,WAAM;;;;;;kBASZ,4BAAM;;;;;;kBAIA,2BAAM;;;;;;kBAiBG,2BAAM;;;;;;kBAKlB,OAAM;;;;;;kBAOR,OAAM;;;;;;kBAOP,UAAM;;;;;;kBAOF,SAAM;;;;;;kBAeQ,uBAAM;;;;;;kBAGuC,qCAAM;;;;;;kBAgEhC,kBAAM;;;;;;kBACN,OAAM;;;;;;kBAlKM,oBAAM;;;;;;kBAWR,0BAAM;;;;;;kBAc5B,sBAAM;;;;;;kBAGR,sBAAM;;;;;;kBAY/B,UAAM;;;;;;kBAIJ,aAAM;;;;;;kBAiBqD,qBAAM;;;;;;kBAOV,qBAAM;;;;;;kBAOR,wBAAM;;;;;;kBAaW,uBAAM;;;;;;kBAmBvE,OAAM;;;;;;kBAOR,OAAM;;;;;;kBAOP,UAAM;;;;;;kBAOF,SAAM;;;;;;kBAaR,OAAM;;;;;;kBAON,4BAAM;;;;;;kBAtCoD,qBAAM;;;;;;kBAOV,qBAAM;;;;;;kBAOR,wBAAM;;;;;;kBAaM,uBAAM;;;;;;kBAOd,qBAAM;;;;;;kBAQM,cAC9F;;QAtKhB,sEACE;QAAA,yEACE;QAAA,0EACE;QADuB,4IAAY,sBAAkB,IAAC;QACtD,2EACE;QAAA,kFACE;QAAA,iFAAiC;QAAjC,0DAAiC;QAAM,4DAAiB;QACxD,oFAA4C;QAA5C,0DAA4C;QAAM,4DAAoB;QACxE,4DAAkB;QAClB,mFACE;QAAA,qFACE;QAAA,6EAA8B;QAA9B,2DAA8B;QAAM,4DAAY;QAChD,uEACA;QAAA,0HAMY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAA6B;QAA7B,2DAA6B;QAAM,4DAAY;QAC/C,uEACA;QAAA,0HAMY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAA0B;QAA1B,4DAA0B;QAAM,4DAAY;QAC5C,wEACF;QAAA,4DAAiB;QACjB,qFACE;QAAA,6EAAgC;QAAhC,4DAAgC;QAAM,4DAAY;QAClD,6HAEa;QACb,6HAEa;QACf,4DAAiB;QACjB,qFACE;QAAA,6EAA0B;QAA1B,4DAA0B;QAAM,4DAAY;QAC5C,wEACF;QAAA,4DAAiB;QACjB,qFACE;QAAA,6EAAgC;QAAhC,4DAAgC;QAAM,4DAAY;QAClD,wEACF;QAAA,4DAAiB;QACjB,qIAGiB;QACjB,qIAGiB;QAKnB,4DAAmB;QACnB,mFACE;QAAA,qFAA2C;QAA3C,4DAA2C;QAAM,4DAAoB;QACvE,4DAAkB;QAClB,oFACE;QAAA,2EACE;QAAA,qFACE;QAAA,6EAA2B;QAA3B,4DAA2B;QAAM,4DAAY;QAC7C,wEACA;QAAA,0HAEY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAAyB;QAAzB,4DAAyB;QAAM,4DAAY;QAC3C,wEACA;QAAA,0HAEY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAAwB;QAAxB,4DAAwB;QAAM,4DAAY;QAC1C,wEACA;QAAA,0HAEY;QACd,4DAAiB;QACjB,qFACE;QAAA,6EAA4B;QAA5B,4DAA4B;QAAM,4DAAY;QAC9C,wEAGA;QAAA,4FACE;QAAA,6HACkE;;QACpE,4DAAmB;QACnB,0HAEY;QACd,4DAAiB;QACnB,4DAAM;QACR,4DAAmB;QACnB,mFACE;QAAA,qFAA8C;QAA9C,4DAA8C;QAAM,4DAAoB;QAC1E,4DAAkB;QAClB,oFACE;QAAA,8EAA2F;QAAjE,+IAAS,8BAA0B,IAAC;QAA9D,4DAA2F;QAAM,4DAAS;QAC5G,4DAAmB;QACnB,wFACE;QAAA,iHA0DM;QACR,4DAAmB;QACnB,oFACE;QAAA,8EAAiE;QAAzB,+IAAS,kBAAc,IAAC;QAAhE,4DAAiE;QAAM,4DAAS;QAChF,8EAAiE;QAAxB,+IAAS,iBAAa,IAAC;QAAhE,4DAAiE;QAAM,4DAAS;QAClF,4DAAmB;QACrB,4DAAW;QACb,4DAAO;QACT,4DAAM;QACR,4DAAM;;;QAlLI,0DAAkB;QAAlB,+EAAkB;QAUJ,2DAA2D;QAA3D,mIAA2D;QAW3D,0DAAyD;QAAzD,iIAAyD;QAclB,0DAAiB;QAAjB,iFAAiB;QAGlB,0DAAkB;QAAlB,kFAAkB;QAYhC,0DAAkD;QAAlD,sHAAkD;QAIlD,0DAAkD;QAAlD,sHAAkD;QAiBxE,2DAAiF;QAAjF,yJAAiF;QAOjF,0DAA6E;QAA7E,qJAA6E;QAO7E,0DAA2E;QAA3E,mJAA2E;QAQhF,0DAAwB;QAAxB,gFAAwB;QACW,0DAAyB;QAAzB,sFAAyB;QACjC,0DAAoC;QAApC,qKAAoC;QAG1D,0DAAqG;QAArG,6KAAqG;QAa5F,0DAA8C;QAA9C,kHAA8C;;6FD/FpE,gBAAgB;cAL5B,uDAAS;eAAC;gBACT,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,0BAA0B;gBACvC,SAAS,EAAE,CAAC,yBAAyB,CAAC;aACvC;;;;;;;;;;;;;;AEjBD;AAAA;AAAA;AAAyC;;AAKlC,MAAM,eAAe;IAI1B;QAFQ,cAAS,GAAW,IAAI,CAAC;IAGjC,CAAC;IAED,IAAI,QAAQ,CAAC,IAAY;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;;8EAbU,eAAe;kGAAf,eAAe,WAAf,eAAe,mBAFd,MAAM;6FAEP,eAAe;cAH3B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwD;AACU;AAEtB;AACJ;AACC;AAIK;AAKkB;AAEb;;;;;;;;;;;;;;;;;;;ICd/C,2EACE;IAAA,kFACE;IAAA,iFAAyC;IAAzC,0DAAyC;IAAM,4DAAiB;IAClE,4DAAkB;IAClB,mFACE;IAAA,0EAAgD;IAAhD,0DAAgD;IAAM,4DAAO;IAAA,gEAAK;IAAA,gEAClE;IAAA,4EAA2F;IAA3F,2DAA2F;IAAM,4DAAS;IAC5G,4DAAmB;IACrB,4DAAW;;;IAqBH,iFAC0C;IAAA,uDAAuB;IAAA,4DAAa;;;IAAlE,yFAA6B;IAAC,0DAAuB;IAAvB,uFAAuB;;;IAInE,+EAAkG;IAAA,+DAAI;IAAA,4DAAW;;;IACjH,+EAA+F;IAAA,kEAAO;IAAA,4DAAW;;;IACjH,2EAA2F;IAA3F,2DAA2F;IAAM,4DAAO;;;IA3B9G,2EACE;IAAA,kFACE;IAAA,iFAAwC;IAAxC,0DAAwC;IAAe,4DAAiB;IAC1E,4DAAkB;IAClB,mFACE;IAAA,iFACE;IAAA,4EAA2B;IAA3B,0DAA2B;IAAM,4DAAY;IAC7C,sEACF;IAAA,4DAAiB;IACjB,iFACE;IAAA,6EAAyB;IAAzB,4DAAyB;IAAM,4DAAY;IAC3C,uEACF;IAAA,4DAAiB;IACjB,kFACE;IAAA,6EAAwB;IAAxB,4DAAwB;IAAM,4DAAY;IAC1C,wEACF;IAAA,4DAAiB;IACjB,kFACE;IAAA,6EAA4B;IAA5B,4DAA4B;IAAM,4DAAY;IAC9C,kFACE;IAAA,gJAC8E;IAChF,4DAAa;IACf,4DAAiB;IACjB,2EACE;IAAA,4IAAiH;IACjH,4IAAiH;IACjH,oIAAwG;IACxG,4EAAyD;IAAzD,4DAAyD;IAAM,4DAAO;IAAA,kEAAM;IAAA,yEAEoB;IAFpB,4DAEoB;IAAM,4DAAI;IAAA,4EAC7F;IAAA,6DAAC;IAAA,4DAAO;IACvB,4DAAM;IACR,4DAAmB;IACrB,4DAAW;;;IA3BuB,0DAAmC;IAAnC,4FAAmC;IAInC,0DAAiC;IAAjC,0FAAiC;IAQjD,0DAAwC;IAAxC,iGAAwC;IAClB,0DAAc;IAAd,uFAAc;IAKrC,0DAA2B;IAA3B,8FAA2B;IAC3B,0DAA4B;IAA5B,+FAA4B;IAChC,0DAA4B;IAA5B,+FAA4B;;;IAiBjC,iFAAwE;IAAA,uDACf;IAAA,4DAAa;;;;IADhB,8EAAiB;IAAC,0DACf;IADe,gMACf;;;IAOzD,4EAAmE;IAAnE,2DAAmE;IAAM,4DAAY;;;IADvF,4EACE;IAAA,wJAAqF;IACvF,4DAAY;;;IADE,0DAA6B;IAA7B,uIAA6B;;;IAQzC,4EAA+D;IAA/D,2DAA+D;IAAM,4DAAY;;;IADnF,4EACE;IAAA,wJAAiF;IACnF,4DAAY;;;IADE,0DAA2B;IAA3B,mIAA2B;;;IAQvC,4EAA6D;IAA7D,2DAA6D;IAAM,4DAAY;;;IADjF,4EACE;IAAA,wJAA+E;IACjF,4DAAY;;;IADE,0DAA0B;IAA1B,iIAA0B;;;IAUtC,iFAC8B;IAAA,uDAAuB;IAAA,4DAAa;;;IAAtD,8EAAiB;IAAC,0DAAuB;IAAvB,wFAAuB;;;IAGrD,4EAAyE;IAAzE,2DAAyE;IAAM,4DAAY;;;IAD7F,4EACE;IAAA,wJAA2F;IAC7F,4DAAY;;;IADE,0DAAkC;IAAlC,iJAAkC;;;IAO9C,4EAAiE;IAAjE,2DAAiE;IAAM,4DAAY;;;IACnF,4EAA8D;IAA9D,2DAA8D;IAAM,4DAAY;;;IAFlF,4EACE;IAAA,wJAAmF;IACnF,wJAAgF;IAClF,4DAAY;;;IAFE,0DAA4B;IAA5B,qIAA4B;IAC5B,0DAA2B;IAA3B,kIAA2B;;;IAOvC,4EAAiE;IAAjE,2DAAiE;IAAM,4DAAY;;;IADrF,4EACE;IAAA,wJAAmF;IACrF,4DAAY;;;IADE,0DAA4B;IAA5B,qIAA4B;;;;IA9DhD,2EACE;IAAA,kFACE;IAAA,iFAAyC;IAAzC,2DAAyC;IAAgB,4DAAiB;IAC5E,4DAAkB;IAClB,mFACE;IAAA,qFACE;IAAA,4EAAoC;IAApC,2DAAoC;IAAM,4DAAY;IACtD,iFACE;IADU,kXAA+C;IACzD,iFAAoD;IAApD,4DAAoD;IAAM,4DAAa;IACvE,gJACsE;IACxE,4DAAa;IACf,4DAAiB;IACjB,kFACE;IAAA,6EAA2B;IAA3B,4DAA2B;IAAM,4DAAY;IAC7C,uEACA;IAAA,6IAEY;IACd,4DAAiB;IACjB,iEACA;IAAA,kFACE;IAAA,6EAAyB;IAAzB,4DAAyB;IAAM,4DAAY;IAC3C,uEACA;IAAA,6IAEY;IACd,4DAAiB;IACjB,iEACA;IAAA,kFACE;IAAA,6EAAwB;IAAxB,4DAAwB;IAAM,4DAAY;IAC1C,wEACA;IAAA,6IAEY;IACd,4DAAiB;IACjB,iEACA;IAAA,kFACE;IAAA,6EAA4B;IAA5B,4DAA4B;IAAM,4DAAY;IAC9C,wEAGA;IAAA,4FACE;IAAA,gJACkE;;IACpE,4DAAmB;IACnB,6IAEY;IACd,4DAAiB;IACjB,kFACE;IAAA,6EAA0B;IAA1B,4DAA0B;IAAM,4DAAY;IAC5C,wEACA;IAAA,6IAGY;IACd,4DAAiB;IACjB,kFACE;IAAA,6EAA0B;IAA1B,4DAA0B;IAAM,4DAAY;IAC5C,wEACA;IAAA,6IAEY;IACd,4DAAiB;IACnB,4DAAmB;IACrB,4DAAW;;;;IA1DS,0DAAW;IAAX,oEAAW;IACS,0DAAoB;IAApB,6FAAoB;IAM1B,0DAA4B;IAA5B,qFAA4B;IAC5C,0DAAoE;IAApE,qJAAoE;IAOpD,0DAA0B;IAA1B,mFAA0B;IAC1C,0DAAgE;IAAhE,iJAAgE;IAOhD,0DAAyB;IAAzB,kFAAyB;IACzC,0DAA8D;IAA9D,+IAA8D;IASnE,0DAAwB;IAAxB,iFAAwB;IACW,0DAAyB;IAAzB,yFAAyB;IACjC,0DAAkC;IAAlC,sKAAkC;IAGxD,0DAA8E;IAA9E,+JAA8E;IAM1E,0DAA2B;IAA3B,oFAA2B;IAC/B,0DAAkE;IAAlE,mJAAkE;IAO9D,0DAA2B;IAA3B,oFAA2B;IAC/B,0DAAkE;IAAlE,mJAAkE;;;IAyB5E,4EAA+E;IAA/E,2DAA+E;IAAM,4DAAY;;;IADnG,4EACE;IAAA,wJAAiG;IACnG,4DAAY;;;IADE,0DAAmC;IAAnC,mJAAmC;;;IAO/C,iFAAwJ;IAAxJ,2DAAwJ;IAAM,4DAAa;;;IAK3K,4EAA6E;IAA7E,2DAA6E;IAAM,4DAAY;;;IADjG,4EACE;IAAA,wJAA+F;IACjG,4DAAY;;;IADE,0DAAkC;IAAlC,iJAAkC;;;IA/BtD,2EACE;IAAA,mFACE;IAAA,iFACE;IAAA,4EAAiC;IAAjC,2DAAiC;IAAM,4DAAY;IACnD,iFACE;IAAA,iFAAwD;IAAxD,2DAAwD;IAAM,4DAAa;IAC3E,iFAAwD;IAAxD,2DAAwD;IAAM,4DAAa;IAC3E,kFAA8E;IAA9E,4DAA8E;IAAM,4DAAa;IASjG,kFAA4D;IAA5D,4DAA4D;IAAM,4DAAa;IACjF,4DAAa;IACb,6IAEY;IACd,4DAAiB;IACjB,kFACE;IAAA,6EAAgC;IAAhC,4DAAgC;IAAM,4DAAY;IAClD,kFACE;IAAA,kFAAyD;IAAzD,4DAAyD;IAAM,4DAAa;IAC5E,gJAA2K;IAE3K,kFAA+E;IAA/E,4DAA+E;IAAM,4DAAa;IACpG,4DAAa;IACb,6IAEY;IACd,4DAAiB;IACjB,kFACE;IAAA,6EAAwC;IAAxC,4DAAwC;IAAM,4DAAY;IAC1D,2EACkF;IACpF,4DAAiB;IACnB,4DAAmB;IACrB,4DAAW;;;IApCO,0DAAkC;IAAlC,2FAAkC;IAclC,0DAAgF;IAAhF,iKAAgF;IAMhF,0DAAiC;IAAjC,0FAAiC;IAE9B,0DAAwE;IAAxE,2IAAwE;IAI3E,0DAA8E;IAA9E,+JAA8E;IAMvE,0DAA0B;IAA1B,mFAA0B;;;;IAW7C,0EACE;IAAA,uEAAM;IAAA,uDAAmB;IAAA,4DAAO;IAAA,gEAChC;IAAA,2EAAyC;IAAzC,2DAAyC;IAAM,4DAAO;IAAA,2EAAuB;IAAA,uDAAwC;IAAA,4DAAO;IAC5H,6EAAiG;IAAzF,qZAAsC;IAAmD,2EAAU;IAAA,kEAAM;IAAA,4DAAW;IAAA,4DAAS;IACrI,iEACF;IAAA,4DAAM;;;IAJE,0DAAmB;IAAnB,oFAAmB;IACoD,0DAAwC;IAAxC,kHAAwC;;;IAHzH,wEACE;IAAA,gJAKM;IACR,qEAAe;;;IANuC,0DAAc;IAAd,wFAAc;;;IAOpE,0EACE;IAAA,uEAAkC;IAAlC,2DAAkC;IAAM,4DAAO;IACjD,4DAAM;;;;IAfV,2EACE;IAAA,kFACE;IAAA,iFAAqC;IAArC,2DAAqC;IAAW,4DAAiB;IACnE,4DAAkB;IAClB,mFACE;IAAA,iJAOe;IACf,gIAEM;IACN,gFAIA;IADO,sVAAiC;IAHxC,4DAIA;IAAA,gEACA;IAAA,8EACyD;IAAjD,gTAA0B,EAAE,SAAC,YAAkB,IAAC;IADxD,4DACyD;IACzD,4DAAS;IACX,4DAAmB;IACrB,4DAAW;;;IApBQ,0DAA4B;IAA5B,+FAA4B;IAQrC,0DAA8B;IAA9B,iGAA8B;IAI7B,0DAAsC;IAAtC,sGAAsC;IAIrC,0DAAoC;IAApC,oGAAoC;;ADxJ7C,MAAM,wBAAwB;IAcnC,YAA8B,QAAkB,EAC5B,YAA0B,EAC1B,EAAe,EACf,KAAqB,EACtB,cAA8B,EAC7B,YAA0B,EAC1B,mBAA+C;QAL/C,iBAAY,GAAZ,YAAY,CAAc;QAC1B,OAAE,GAAF,EAAE,CAAa;QACf,UAAK,GAAL,KAAK,CAAgB;QACtB,mBAAc,GAAd,cAAc,CAAgB;QAC7B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,wBAAmB,GAAnB,mBAAmB,CAA4B;QAjBlD,oBAAe,GAAkB,IAAI,CAAC;QAG/C,iBAAY,GAAc,EAAE,CAAC;QAC7B,uBAAkB,GAAU,EAAE,CAAC;QAK/B,2BAAsB,GAAG,KAAK,CAAC;QASrC,MAAM,KAAK,GAAG,IAAI,CAAC;QAEnB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEpE,IAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,gBAAgB,CAAC;QAC1F,IAAI,CAAC,4BAA4B,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,2BAA2B,CAAC;QAChH,IAAI,CAAC,6BAA6B,GAAG,IAAI,GAAG,IAAI,GAAG,mBAAmB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,4BAA4B,CAAC;QAEhI,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxC,aAAa,EAAE,CAAC,EAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;YAC5C,WAAW,EAAE,CAAC,EAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;YAC1C,UAAU,EAAE,CAAC,EAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;YACzC,kBAAkB,EAAE,CAAC,EAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;YACjD,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,SAAS;YACjB,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,SAAS;YACd,WAAW,EAAE,SAAS;YACtB,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,KAAK,CAAC,CAAC;YAC/B,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,EAAE;YACf,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,CAAC,kDAAK,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE;YAChD,qDAAqD;YACrD,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrD,IAAI,CAAC,aAAa,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,EAAC,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,CAAC,kDAAK,CAAC,KAAK,CAAC,WAAW,EAAE,kDAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK;YAC1E,QAAQ,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE;gBACpC,IAAI,KAAK,CAAC,oBAAoB,EAAE;oBAC9B,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;iBACvD;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE;YACrC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClF,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,YAAY;qBACtF,IAAI,CACH,gEAAS,CAAC,EAAE,CAAC,EACb,0DAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,sDAAO,CAAC,CAAC,CAAE,KAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,EAC/E,0DAAG,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CACxG,CAAC;gBAEJ,4CAA4C;gBAC5C,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;oBACtF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;oBAClF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;oBAChF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBAEhG,IAAI,CAAC,sBAAsB,GAAG,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;wBAC7E,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;wBAC/C,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;wBAC9C,6DAAU,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;oBACzD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,KAAK,CAAC,eAAe,EAAE,EAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,EAAC,CAAC,CAAC,CAAC;oBAEjH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC;oBACjD,IAAI,CAAC,aAAa,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,EAAC,CAAC,CAAC;gBACjE,CAAC,CAAC,CAAC;YAEL,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1F,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3F,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACrF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACrG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACzF,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YACjG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC9F;QAED,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACtE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACnE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACjE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAChE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACxE,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE;gBACjC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;aAC7D;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAClE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YAClE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACzE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACxE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;YACjE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAGH,IAAI,IAAI,CAAC,eAAe,KAAK,GAAG,EAAE;YAChC,IAAI,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,CAAC;SACpD;IACH,CAAC;IAEO,cAAc,CAAC,IAAY;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAI,2BAA2B;QAC7B,OAAO,IAAI,CAAC,4BAA4B,CAAC;IAC3C,CAAC;IAEO,WAAW,CAAC,SAAiB;;QACnC,aAAO,IAAI,CAAC,kBAAkB,0CAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE;IAC1F,CAAC;IAEM,WAAW,CAAC,WAAmB;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,KAAK,WAAW,CAAC,WAAW,CAAC,CAAC;QACnG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,SAAS,CAAC,OAAgB;QACxB,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,OAAO,CAAC,WAAW,CAAC;SAC5B;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,aAAa,CAAC,CAAM;QACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,EAAE;YAC7C,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACnE,IAAI,OAAO,IAAI,SAAS,EAAE;gBACxB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEjE,qBAAqB;gBACrB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;gBACjG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC9C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpE;gBAED,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;aACnC;SACF;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAC7C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;YACrD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;YAC/C,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;SAClC;IACH,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;YACjD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,CAAC;YACtD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;SACjD;aAAM;YACL,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC;YAClD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;YAC/C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;YACjD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;SAClD;IACH,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvD,CAAC;IAEM,cAAc,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE;YAC5E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,iHAAsC,GAAG,IAAI,IAAI,CAAC,iBAAiB,EAAE,GAAG,GAAoC,CAAC,CAAC;SACtI;QAED,IAAI,QAAQ,GAAW,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,IAAI,GAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACxC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,6BAA6B,EAAE;gBAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAmB,GAAG,IAAI,IAAI,CAAC,IAAI,GAAG,GAAG,sDAA4B,GAAG,IAAI,IAAI,CAAC,6BAA6B,GAAG,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC;aAC3J;iBAAM;gBACL,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE;oBACtE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;aACF;SACF;QACD,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,0EAAc,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,0EAAc,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IAEM,gBAAgB,CAAC,UAAoB;QAC1C,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,EAAE,0EAAc,CAAC,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;;gGArSU,wBAAwB,kEAcf,wDAAQ;wGAdjB,wBAAwB;;;;;iBCnBY,kBAAM;;;;;;iBAGC,yEAAM;;;;;;iBACqC,gBAAM;;;;;;iBAKzD,2BAAe;;;;;;iBAI1B,OAAM;;;;;;kBAIR,OAAM;;;;;;kBAIP,UAAM;;;;;;kBAIF,SAAM;;;;;;kBAUuB,8DAAM;;;;;;kBAEiC,QAAM;;;;;;kBAHX,2FAAM;;;;;;kBAU1D,gBAAgB;;;;;;kBAInB,gBAAM;;;;;;kBAEY,2BAAM;;;;;;kBAMjC,OAAM;;;;;;kBAQR,OAAM;;;;;;kBAQP,UAAM;;;;;;kBAQF,SAAM;;;;;;kBAaR,OAAM;;;;;;kBAQN,4BAAM;;;;;;kBA1CqC,qBAAM;;;;;;kBAQV,qBAAM;;;;;;kBAQR,wBAAM;;;;;;kBAcM,uBAAM;;;;;;kBAOd,qBAAM;;;;;;kBACT,+BAAM;;;;;;kBAOH,0CAAM;;;;;;kBAQxC,0BAAM;;;;;;kBAEmB,KAAM;;;;;;kBACN,KAAM;;;;;;kBACgB,wBAAM;;;;;;kBASxB,QAAM;;;;;;kBAOpC,QAAM;;;;;;kBAEqB,eAAM;;;;;;kBAGgB,2BAAM;;;;;;kBAO/C,6BAAM;;;;;;kBACa,8FAAM;;;;;;kBAjBgB,qDAAM;;;;;;kBAOmE,UAAM;;;;;;kBAKjF,mCAAM;;;;;;kBAYlD,YAAW;;;;;;kBAoBS,sBACzD;;;;;;kBAf6C,6BAAM;;;;;;kBAMf,iIAAM;;QAxKlD,sEACE;QAAA,yEACE;QAAA,+HAQW;QACX,+HAkCW;QACX,gIAkEW;QACX,+HAwCW;QACX,+HAyBW;QACb,4DAAM;QACR,4DAAM;;QApLsB,0DAAiC;QAAjC,8FAAiC;QAC9C,0DAAmC;QAAnC,mGAAmC;QASnC,0DAAkC;QAAlC,kGAAkC;QAmClC,0DAAkC;QAAlC,kGAAkC;QAmElC,0DAAkC;QAAlC,kGAAkC;QAyClC,0DAAkC;QAAlC,kGAAkC;;6FDnIpC,wBAAwB;cALpC,uDAAS;eAAC;gBACT,QAAQ,EAAE,sBAAsB;gBAChC,WAAW,EAAE,mCAAmC;gBAChD,SAAS,EAAE,CAAC,kCAAkC,CAAC;aAChD;sCAeyC,QAAQ;sBAAnC,oDAAM;uBAAC,wDAAQ;;;;;;;;;;;;;;AErC9B;AAAA;AAAO,MAAM,IAAI;IAGf,YAAmB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAF/B,YAAO,GAAG,KAAK,CAAC;IAGhB,CAAC;CACF;;;;;;;;;;;;;ACHD;AAAA;AAAO,MAAM,SAAS;IAKpB,YAAY,UAAiB,EAAE,eAAwB;QACrD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;;;;;;;;;;;;;ACnBD;AAAA;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,8BAAc;IACd,+BAAe;IACf,+BAAe;AACjB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;;;;;;;;;;;;;ACJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AACc;AACe;AACH;AAC6B;AACzB;AACqB;AACf;AACgB;AACP;AACH;AACI;AAC9B;AACgB;AAC2B;;;AAElG,MAAM,MAAM,GAAW;IACrB;QACE,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,+EAAc;QACzB,qBAAqB,EAAE,QAAQ;QAC/B,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI;SACb;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,kFAAe;QAC1B,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI;SACb;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,SAAS,EAAE,4GAAqB;QAChC,WAAW,EAAE,CAAC,sEAAS,CAAC;QACxB,qBAAqB,EAAE,QAAQ;QAC/B,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,SAAS,EAAE,mFAAc;QACzB,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,wGAAqB;QAChC,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,yFAAgB;QAC3B,WAAW,EAAE,CAAC,sEAAS,CAAC;QACxB,qBAAqB,EAAE,QAAQ;QAC/B,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,yGAAoB;QAC/B,WAAW,EAAE,CAAC,sEAAS,CAAC;QACxB,qBAAqB,EAAE,QAAQ;QAC/B,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,SAAS,EAAE,kGAAmB;QAC9B,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,gGAAkB;QAC7B,WAAW,EAAE,CAAC,sEAAS,CAAC;QACxB,qBAAqB,EAAE,QAAQ;QAC/B,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,SAAS,EAAE,oGAAoB;QAC/B,WAAW,EAAE,CAAC,sEAAS,CAAC;QACxB,qBAAqB,EAAE,QAAQ;QAC/B,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,sFAAgB;QAC3B,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;IACD;QACE,IAAI,EAAE,iBAAiB;QACvB,SAAS,EAAE,iHAAuB;QAClC,IAAI,EAAE;YACJ,MAAM,EAAE,KAAK;SACd;KACF;CACF,CAAC;AASK,MAAM,gBAAgB;;+FAAhB,gBAAgB;0JAAhB,gBAAgB,kBANlB,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,EAAE;gBACrC,mBAAmB,EAAE,QAAQ;gBAC7B,OAAO,EAAE,IAAI;aACd,CAAC,CAAC,EACO,4DAAY;mIAEX,gBAAgB,uFAFjB,4DAAY;6FAEX,gBAAgB;cAP5B,sDAAQ;eAAC;gBACR,OAAO,EAAE,CAAC,4DAAY,CAAC,OAAO,CAAC,MAAM,EAAE;wBACrC,mBAAmB,EAAE,QAAQ;wBAC7B,OAAO,EAAE,IAAI;qBACd,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC,4DAAY,CAAC;aACxB;;;;;;;;;;;;;;ACxHD;AAAA;AAAA,IAAY,YAYX;AAZD,WAAY,YAAY;IACtB,iDAAiC;IACjC,6BAAa;IACb,2BAAW;IACX,2BAAW;IACX,uCAAuB;IACvB,2BAAW;IACX,+BAAe;IACf,2BAAW;IACX,2BAAW;IACX,+BAAe;IACf,2BAAW;AACb,CAAC,EAZW,YAAY,KAAZ,YAAY,QAYvB;;;;;;;;;;;;;ACZD;AAAA;AAAA,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,+CAAO;IACP,2CAAK;IACL,yCAAI;IACJ,+CAAO;AACT,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;;;;;;;;;;;;;ACLD;AAAA;AAAA;AAAA;AAAA;AAAyC;;;;AAOlC,MAAM,mBAAmB;IAE9B,YAAoB,mBAA+C,EAC/C,cAA8B;QAD9B,wBAAmB,GAAnB,mBAAmB,CAA4B;QAC/C,mBAAc,GAAd,cAAc,CAAgB;IAClD,CAAC;IAEO,SAAS;QACf,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAEM,eAAe,CAAC,SAAiB;;QACtC,OAAO,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,UAAG,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,0CAAE,MAAM,IAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;IAC9H,CAAC;;sFAZU,mBAAmB;sGAAnB,mBAAmB,WAAnB,mBAAmB,mBAFlB,MAAM;6FAEP,mBAAmB;cAH/B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACND;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyC;AACQ;AAGY;AAC1B;AAEE;AACc;;;;;AAM5C,MAAM,cAAc;IASzB,YAAoB,MAAc,EACd,IAAgB,EAChB,mBAA+C;QAF/C,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAY;QAChB,wBAAmB,GAAnB,mBAAmB,CAA4B;QAT3D,qCAAgC,GAAG,CAAC,CAAC;QAIrC,4BAAuB,GAAG,CAAC,CAAC;QAMlC,IAAI,CAAC,WAAW,GAAG,IAAI,oDAAe,CAAc,IAAI,CAAC,KAAK,CAAS,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;IAChC,CAAC;IAED,IAAI,aAAa;QACf,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,KAAK,SAAS,EAAE;YACtD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACxD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;SAC5F;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,SAAiB,EAAE,iBAA0B,IAAI;;QACrE,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,gCAAgC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE;YAC9I,IAAI,CAAC,uBAAuB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACpD,IAAI,OAAO,GAAG,IAAI,gEAAW,EAAE,CAAC,GAAG,CAAC,gEAAY,CAAC,gBAAgB,EAAE,EAAE,GAAG,cAAc,CAAC,CAAC;YACxF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,UAAG,IAAI,CAAC,WAAW,CAAC,KAAK,0CAAE,MAAM,IAAG,kBAAkB,EACvF,EAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC;iBACvC,SAAS,CAAC,GAAG,EAAE;gBACd,yFAAyF;YAC3F,CAAC,EAAE,CAAC,GAAG,EAAE;gBACP,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC,CAAC;SACP;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC;IACzC,CAAC;IAEM,QAAQ,CAAC,IAAU;QACxB,IAAI,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,IAAI,MAAM,GAAG,IAAI,gEAAW,CAAC,EAAC,gBAAgB,EAAE,WAAW,EAAC,CAAC,CAAC;YAC9D,IAAI,OAAO,GAAG,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC;YAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3G;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnG,CAAC;IAEM,KAAK,CAAC,KAAa,EAAE,QAAgB;QAC1C,OAAO,IAAI,CAAC,IAAI;aACb,IAAI,CAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,eAAe,EAAE;YACtF,KAAK;YACL,QAAQ;SACT,CAAC;aACD,IAAI,CACH,0DAAG,CAAC,IAAI,CAAC,EAAE;YACT,kGAAkG;YAClG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAE5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC;iBACpC,SAAS,CAAC,GAAG,EAAE;gBACd,QAAQ,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,kDAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YACL,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CACH,CAAC;IACN,CAAC;IAEM,MAAM;QACX,8DAA8D;QAC9D,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnC,CAAC;IAEM,gBAAgB,CAAC,MAAW;;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,UAAG,IAAI,CAAC,cAAc,EAAE,0CAAE,MAAM,GAAE,MAAM,EAAE,EAAC,YAAY,EAAE,MAAM,EAAC,CAAC,CAAC;IAC7J,CAAC;IAEM,aAAa;;QAClB,OAAO,IAAI,CAAC,qBAAqB,OAAC,IAAI,CAAC,cAAc,EAAE,0CAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAEO,qBAAqB,CAAC,MAA0B;QACtD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,GAAG,MAAM,CAAC,CAAC;QAC5G,QAAQ,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,EAAE;YAChC,IAAI,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC7D,WAAW,CAAC,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YAChD,WAAW,CAAC,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;YAC7C,WAAW,CAAC,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;YAExC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,aAAa;;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,SAAS,UAAG,IAAI,CAAC,cAAc,EAAE,0CAAE,MAAM,IAAG,SAAS,CAAC,CAAC;IACzI,CAAC;IAEM,YAAY,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC;IAC5G,CAAC;IAEM,qBAAqB,CAAC,KAAa;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,0BAA0B,GAAG,KAAK,CAAC,CAAC;IACtH,CAAC;IAEM,eAAe;;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,UAAU,UAAI,CAAC,cAAc,EAAE,0CAAE,MAAM,WAAW,CAAC,CAAC;IACjJ,CAAC;IAEM,aAAa,CAAC,KAAa;QAChC,IAAI,WAAW,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,IAAI,MAAM,GAAG,IAAI,gEAAW,CAAC,EAAC,gBAAgB,EAAE,WAAW,EAAC,CAAC,CAAC;YAC9D,IAAI,OAAO,GAAG,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC;YAChC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,wBAAwB,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;SACrI;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,wBAAwB,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7H,CAAC;IAEO,MAAM,CAAC,WAAW;QACxB,MAAM,kBAAkB,GAAG,kDAAkD,CAAC;QAC9E,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC7D,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;YAC7B,OAAO,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;SACxC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,cAAc,CAAC,GAAW,EAAE,QAAa;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,WAAW,CAAC,wBAAwB,EAAE;YACzG,GAAG,EAAE,GAAG;YACR,QAAQ,EAAE,QAAQ;SACnB,CAAC;IACJ,CAAC;;4EAnJU,cAAc;iGAAd,cAAc,WAAd,cAAc,mBAFb,MAAM;6FAEP,cAAc;cAH1B,wDAAU;eAAC;gBACV,UAAU,EAAE,MAAM;aACnB;;;;;;;;;;;;;;ACbD;AAAA;AAAA;AAA4E;;AAKrE,MAAM,uBAAuB;IAIlC;QAFU,iBAAY,GAAG,IAAI,0DAAY,EAAE,CAAC;IAG5C,CAAC;IAID,MAAM,CAAC,KAAU;QACf,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,IAAI,GAAG,CAAC,EAAE;YACZ,IAAI,GAAG,GAAG,CAAC,CAAC;YAEZ,+BAA+B;YAC/B,IAAI,aAAa,GAAG,EAAE,CAAC;YACvB,OAAO,GAAG,IAAI,KAAK,GAAG,IAAI,EAAE;gBAC1B,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,GAAG,IAAI,IAAI,CAAC;aACb;YAED,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,IAAI;gBAC/C,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;;8FA5BU,uBAAuB;uGAAvB,uBAAuB;mJAAvB,yBAAqB,2FAArB,yBAAqB;;6FAArB,uBAAuB;cAHnC,uDAAS;eAAC;gBACT,QAAQ,EAAE,qBAAqB;aAChC;sCAGW,YAAY;kBAArB,oDAAM;YAOP,MAAM;kBAFL,0DAAY;mBAAC,MAAM,EAAE,CAAC,eAAe,CAAC;;kBACtC,0DAAY;mBAAC,QAAQ,EAAE,CAAC,eAAe,CAAC;;;;;;;;;;;;;;ACb3C;AAAA;AAAA;AAAA;AAAA;AAA6C;AAIY;;;AAEzD,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,2EAAwB,gBAAgB,CAAC,0DAAU;KAChD,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;;;;;;;;;;;;ACXpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,qC","file":"main.js","sourcesContent":["\"use strict\";(function(global){global.ng=global.ng||{};global.ng.common=global.ng.common||{};global.ng.common.locales=global.ng.common.locales||{};const u=undefined;function plural(n){let i=Math.floor(Math.abs(n)),v=n.toString().replace(/^[^.]*\\.?/,\"\").length;if(i===1&&v===0)return 1;if(i===Math.floor(i)&&i>=2&&i<=4&&v===0)return 3;if(!(v===0))return 4;return 5}global.ng.common.locales[\"sk\"]=[\"sk\",[[\"AM\",\"PM\"],u,u],u,[[\"n\",\"p\",\"u\",\"s\",\"\\u0161\",\"p\",\"s\"],[\"ne\",\"po\",\"ut\",\"st\",\"\\u0161t\",\"pi\",\"so\"],[\"nede\\u013Ea\",\"pondelok\",\"utorok\",\"streda\",\"\\u0161tvrtok\",\"piatok\",\"sobota\"],[\"ne\",\"po\",\"ut\",\"st\",\"\\u0161t\",\"pi\",\"so\"]],u,[[\"j\",\"f\",\"m\",\"a\",\"m\",\"j\",\"j\",\"a\",\"s\",\"o\",\"n\",\"d\"],[\"jan\",\"feb\",\"mar\",\"apr\",\"m\\xE1j\",\"j\\xFAn\",\"j\\xFAl\",\"aug\",\"sep\",\"okt\",\"nov\",\"dec\"],[\"janu\\xE1ra\",\"febru\\xE1ra\",\"marca\",\"apr\\xEDla\",\"m\\xE1ja\",\"j\\xFAna\",\"j\\xFAla\",\"augusta\",\"septembra\",\"okt\\xF3bra\",\"novembra\",\"decembra\"]],[[\"j\",\"f\",\"m\",\"a\",\"m\",\"j\",\"j\",\"a\",\"s\",\"o\",\"n\",\"d\"],[\"jan\",\"feb\",\"mar\",\"apr\",\"m\\xE1j\",\"j\\xFAn\",\"j\\xFAl\",\"aug\",\"sep\",\"okt\",\"nov\",\"dec\"],[\"janu\\xE1r\",\"febru\\xE1r\",\"marec\",\"apr\\xEDl\",\"m\\xE1j\",\"j\\xFAn\",\"j\\xFAl\",\"august\",\"september\",\"okt\\xF3ber\",\"november\",\"december\"]],[[\"pred Kr.\",\"po Kr.\"],u,[\"pred Kristom\",\"po Kristovi\"]],1,[6,0],[\"d. M. y\",u,\"d. MMMM y\",\"EEEE d. MMMM y\"],[\"H:mm\",\"H:mm:ss\",\"H:mm:ss z\",\"H:mm:ss zzzz\"],[\"{1} {0}\",\"{1}, {0}\",u,u],[\",\",\"\\xA0\",\";\",\"%\",\"+\",\"-\",\"e\",\"\\xD7\",\"\\u2030\",\"\\u221E\",\"NaN\",\":\"],[\"#,##0.###\",\"#,##0\\xA0%\",\"#,##0.00\\xA0\\xA4\",\"#E0\"],\"EUR\",\"\\u20AC\",\"euro\",{\"AUD\":[u,\"$\"],\"BRL\":[u,\"R$\"],\"CAD\":[u,\"$\"],\"CNY\":[u,\"\\xA5\"],\"GBP\":[u,\"\\xA3\"],\"HKD\":[u,\"$\"],\"ILS\":[\"NIS\",\"\\u20AA\"],\"INR\":[u,\"\\u20B9\"],\"JPY\":[u,\"\\xA5\"],\"KRW\":[u,\"\\u20A9\"],\"NZD\":[u,\"$\"],\"TWD\":[u,\"NT$\"],\"USD\":[u,\"$\"],\"VND\":[u,\"\\u20AB\"],\"XXX\":[]},\"ltr\",plural,[[[\"o poln.\",\"nap.\",\"r\\xE1no\",\"dop.\",\"pop.\",\"ve\\u010D.\",\"v n.\"],[\"o poln.\",\"napol.\",\"r\\xE1no\",\"dopol.\",\"popol.\",\"ve\\u010Der\",\"v noci\"],[\"o polnoci\",\"napoludnie\",\"r\\xE1no\",\"dopoludnia\",\"popoludn\\xED\",\"ve\\u010Der\",\"v noci\"]],[[\"poln.\",\"pol.\",\"r\\xE1no\",\"dop.\",\"pop.\",\"ve\\u010D.\",\"noc\"],[\"poln.\",\"pol.\",\"r\\xE1no\",\"dopol.\",\"popol.\",\"ve\\u010Der\",\"noc\"],[\"polnoc\",\"poludnie\",\"r\\xE1no\",\"dopoludnie\",\"popoludnie\",\"ve\\u010Der\",\"noc\"]],[\"00:00\",\"12:00\",[\"04:00\",\"09:00\"],[\"09:00\",\"12:00\"],[\"12:00\",\"18:00\"],[\"18:00\",\"22:00\"],[\"22:00\",\"04:00\"]]]]})(typeof globalThis!==\"undefined\"&&globalThis||typeof global!==\"undefined\"&&global||typeof window!==\"undefined\"&&window);","module.exports = __webpack_public_path__ + \"0.worker.js\"","import {Color, stringInputToObject} from \"@angular-material-components/color-picker\";\nimport {DesignName} from \"../model/enum/design-name\";\nimport {Category} from \"../model/enum/category\";\nimport {Order} from \"../model/order/order\";\nimport {Product} from \"../model/order/product\";\nimport {OrderProduct} from \"../model/order/order-product\";\nimport {MaterialName} from \"../model/enum/material-name\";\nimport {PrintedLabelColors} from \"../model/enum/printed-label-colors\";\n\nexport class Converter {\n\n /**\n * Convert string color to object Color\n * @param inputColor\n */\n static toPickerColor(inputColor: any): Color {\n if (typeof inputColor == 'string') {\n const {r, g, b, a} = stringInputToObject(inputColor);\n return new Color(r, g, b, a);\n }\n if (inputColor.constructor === Array) {\n return new Color(inputColor[0], inputColor[1], inputColor[2]);\n }\n return inputColor;\n }\n\n /**\n * Convert base64/URLEncoded data component to raw binary data held in a string\n * @param dataURI - base64/URLEncoded data component\n */\n static dataURItoBlob(dataURI: any) {\n let byteString;\n if (dataURI.split(',')[0].indexOf('base64') >= 0)\n byteString = atob(dataURI.split(',')[1]);\n else\n byteString = unescape(dataURI.split(',')[1]);\n\n // separate out the mime component\n let mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];\n\n // write the bytes of the string to a typed array\n let ia = new Uint8Array(byteString.length);\n for (let i = 0; i < byteString.length; i++) {\n ia[i] = byteString.charCodeAt(i);\n }\n\n return new Blob([ia], {type: mimeString});\n }\n\n static toSendOrder(order: Order): any {\n const convertedOrder = JSON.parse(JSON.stringify(order.toJSON()));\n convertedOrder.orderProducts = convertedOrder.orderProducts[0];\n convertedOrder.orderProducts.forEach((orderProduct) => {\n let product = orderProduct.product\n if (product.processing == DesignName.STRIP && product.cut) {\n product.processing = DesignName.CUTTED;\n } else if (product.processing == DesignName.PRINTED_WIDTH || product.processing == DesignName.PRINTED_HEIGHT) {\n if (product.cut) {\n product.processing = DesignName.CUTTED;\n } else {\n product.processing = DesignName.STRIP;\n }\n }\n });\n return convertedOrder;\n }\n\n static toReceivedOrder(order: any): Order {\n let convertedOrder = new Order(order.orderProducts[0].quantity);\n order.orderProducts.forEach((op, i) => {\n Object.assign(convertedOrder, order);\n let product = new Product();\n Object.assign(product, op.product);\n let orderProduct = new OrderProduct(op.quantity);\n Object.assign(orderProduct, op);\n orderProduct.product = product;\n convertedOrder.setOrderProduct(orderProduct);\n\n product.cut = false;\n if (product.kind == Category.PRINTED && product.processing == DesignName.STRIP) {\n product.processing = DesignName.PRINTED_WIDTH;\n } else if (product.processing == DesignName.CUTTED) {\n product.cut = true;\n if (product.kind == Category.WEAVE) {\n product.processing = DesignName.STRIP;\n } else if (product.kind == Category.PRINTED) {\n product.processing = DesignName.PRINTED_WIDTH;\n }\n }\n if (order.orderProducts[i + 1] !== undefined) {\n convertedOrder.addNewProduct();\n }\n });\n return convertedOrder;\n }\n\n static hex2color(hex, alpha = 1) {\n const [r, g, b] = hex.match(/\\w\\w/g).map(x => parseInt(x, 16));\n return new Color(r, g, b, alpha);\n }\n\n static material(materialName: string): string {\n if (materialName === MaterialName.NYLON) {\n return 'Nylon';\n } else if (materialName === MaterialName.SATIN) {\n return 'Saten';\n }\n return MaterialName.NONE;\n }\n\n static materialColor(printedLabelColor: string): string {\n switch (printedLabelColor) {\n case '#8b7656':\n return 'Gold';\n case '#756560':\n return 'Bronze';\n case '#0077c8':\n return 'Cyan';\n case '#002f6c':\n return 'Blue';\n case '#009775':\n return 'Green';\n case '#fedd00':\n return 'Yellow';\n case '#f57eb6':\n return 'Purple';\n case '#898d8d':\n return 'Gray';\n case '#6a7980':\n return 'Silver';\n case '#ffffff':\n return 'White';\n case '#000000':\n return 'Black';\n case '#ee2737':\n return 'Red';\n case '#fffdd0':\n return ' Cream';\n }\n\n return PrintedLabelColors.NONE;\n }\n}\n","import {LabelDesign} from \"../model/label/design\";\nimport {Category} from \"../model/enum/category\";\nimport {LabelDesigns} from \"../../assets/data/label-designs\";\nimport {DesignName} from \"../model/enum/design-name\";\n\nexport class DesignUtil {\n\n static recognize(category: string | null, processing: string | null, width: number | null = 0, height: number | null = 0): LabelDesign | undefined {\n if (category === Category.WEAVE) {\n return LabelDesigns.filter(d => {\n return d.name === processing\n })[0];\n } else if (category === Category.PRINTED) {\n if (width > height) {\n return LabelDesigns.filter(d => {\n return d.name === DesignName.PRINTED_WIDTH\n })[0];\n } else {\n return LabelDesigns.filter(d => {\n return d.name === DesignName.PRINTED_HEIGHT\n })[0];\n }\n }\n return undefined;\n }\n\n}\n","export class Dimension {\n constructor(min: number, max: number, step: number, defaultSize: number) {\n this._min = min;\n this._max = max;\n this._step = step;\n this._defaultSize = defaultSize;\n }\n\n private _min: number;\n private _max: number;\n private _step: number;\n private _defaultSize: number;\n\n get min(): number {\n return this._min;\n }\n\n set min(value: number) {\n this._min = value;\n }\n\n get max(): number {\n return this._max;\n }\n\n set max(value: number) {\n this._max = value;\n }\n\n get step(): number {\n return this._step;\n }\n\n set step(value: number) {\n this._step = value;\n }\n\n get defaultSize(): number {\n return this._defaultSize;\n }\n\n set defaultSize(value: number) {\n this._defaultSize = value;\n }\n\n}\n","export class Country {\n\n private _countryCode: string;\n private _countryName: string;\n\n constructor(countryCode: string, countryName: string) {\n this._countryCode = countryCode;\n this._countryName = countryName;\n }\n\n get countryCode(): string {\n return this._countryCode;\n }\n\n set countryCode(value: string) {\n this._countryCode = value;\n }\n\n get countryName(): string {\n return this._countryName;\n }\n\n set countryName(value: string) {\n this._countryName = value;\n }\n\n}\n","import {Component, Inject} from '@angular/core';\nimport {LabelTypes} from '../../../assets/data/label-types';\nimport {event} from \"../../model/event\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {OrderService} from \"../../service/order.service\";\nimport {LabelType} from \"../../model/label/type\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {Dialog} from \"../../utils/dialog\";\n\n@Component({\n selector: 'app-label-type',\n templateUrl: './label-type.component.html',\n styleUrls: ['./label-type.component.css']\n})\nexport class LabelTypeComponent {\n\n private _labelTypes: LabelType[] = LabelTypes;\n private _dialog: Dialog;\n private document: Document;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private orderService: OrderService,\n private matDialog: MatDialog) {\n this.document = document;\n this._dialog = new Dialog(matDialog);\n }\n\n async changeLabelType(e: any) {\n if (this.orderService.order.getOrderProduct().product.processing == null) {\n this.orderService.changeLabelType(e.target.id);\n this.document.dispatchEvent(new CustomEvent(event.label.CHANGE_TYPE));\n } else {\n if (this.orderService.order.getOrderProduct().product.kind == e.target.id && !this.orderService.order.getOrderProduct().locked) {\n this.document.dispatchEvent(new CustomEvent(event.editor.OPEN_DESIGN));\n } else {\n const message = $localize`:@@labelTypeChangeAlert:`;\n let selectedOption = await this._dialog.questionDialog(message, [{title: $localize`:@@addAnotherProduct:`}, {title: $localize`:@@replaceProduct:`}, {title: $localize`:@@cancel:`}]);\n if (selectedOption == 0) {\n this.orderService.addNewProduct();\n }\n if (selectedOption == 1) {\n // don't do anything\n }\n // added new product, now continue\n if (selectedOption < 2) {\n this.orderService.changeLabelType(e.target.id);\n this.document.dispatchEvent(new CustomEvent(event.label.CHANGE_TYPE));\n }\n }\n }\n }\n\n get labelTypes() {\n return this._labelTypes;\n }\n\n}\n","
\n
\n \n \n
\n
\n","import {PrintedLabelColors} from \"../../app/model/enum/printed-label-colors\";\n\nexport const PantoneColorNames = new Map([\n [PrintedLabelColors.CYAN, 'Pantone 3005 C'],\n [PrintedLabelColors.BLUE, 'Pantone 294 C'],\n [PrintedLabelColors.PURPLE, 'Pantone 211 C'],\n [PrintedLabelColors.RED, 'Pantone 1788 C'],\n [PrintedLabelColors.GREEN, 'Pantone 334 C'],\n [PrintedLabelColors.YELLOW, 'Pantone Yellow C'],\n [PrintedLabelColors.GRAY, 'Pantone 423 C'],\n [PrintedLabelColors.WHITE, ''],\n [PrintedLabelColors.BLACK, ''],\n [PrintedLabelColors.GOLD, ''],\n [PrintedLabelColors.BRONZE, ''],\n [PrintedLabelColors.SILVER, '']\n]);\n","import {Component, ElementRef, EventEmitter, Inject, Output, ViewChild} from '@angular/core';\nimport {DOCUMENT} from \"@angular/common\";\nimport {event} from \"../../model/event\";\nimport {MatDialog} from '@angular/material/dialog';\nimport {Dialog} from \"../../utils/dialog\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {OrderService} from \"../../service/order.service\";\nimport {AttachmentType} from \"../../model/enum/attachment-type\";\nimport {AjaxLoaderService} from \"../../service/ajax-loader.service\";\n\n@Component({\n selector: 'app-graphics',\n templateUrl: './graphics.component.html',\n styleUrls: ['./graphics.component.css']\n})\nexport class GraphicsComponent {\n\n public maxNumberOfFiles: number = 2;\n\n @Output()\n public addGraphicEvent = new EventEmitter();\n\n @Output()\n public removeImageEvent = new EventEmitter();\n\n private dialog: Dialog;\n private _rejectedFiles: [] = [];\n private _images: HTMLImageElement[] = [];\n\n @ViewChild('imageList')\n private imageList: ElementRef;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private matDialog: MatDialog,\n private orderService: OrderService,\n private configLoaderService: RuntimeConfigLoaderService,\n private ajaxLoaderService: AjaxLoaderService) {\n this.dialog = new Dialog(matDialog);\n document.addEventListener(event.label.REMOVE_IMAGE, (e: any) => {\n this.removeImage(e.detail.componentId);\n });\n\n document.addEventListener(event.label.REMOVE_ALL_IMAGES, () => {\n this.removeAllImages();\n });\n\n document.addEventListener(event.order.SELECT_PRODUCT, () => {\n this._images = [];\n // load images here\n let ids = this.orderService.order.getOrderProduct().imageIds;\n this.orderService.getAttachments(AttachmentType.GRAPHIC).forEach((attachment) => {\n if (ids.indexOf(attachment.id) !== -1) {\n const image = new Image();\n image.id = attachment.id;\n image.title = attachment.file.name\n const reader = new FileReader();\n reader.onload = () => {\n image.src = reader.result as string;\n }\n reader.readAsDataURL(attachment.file);\n this._images.push(image);\n }\n });\n });\n\n this.dialog = new Dialog(matDialog);\n }\n\n async onSelect(event: any) {\n this.rejectedFiles = [];\n if (event.rejectedFiles.length > 0) {\n this.rejectedFiles = event.rejectedFiles;\n return;\n }\n if (event.addedFiles.length > 0) {\n let isJpeg = event.addedFiles[0].name.match(/.(jpg|jpeg)$/i);\n if (isJpeg && await this.dialog.confirmDialog($localize`:@@jpegDetected:`) || !isJpeg) {\n this.ajaxLoaderService.show(() => {\n // canvas generates another ID, they DO NOT FIT each other, so removal of image is not possible\n let id = this.orderService.addAttachment(event.addedFiles[0], AttachmentType.GRAPHIC);\n\n const image = new Image();\n image.title = event.addedFiles[0].name;\n image.id = id;\n image.onload = (e) => {\n this.addGraphicEvent.emit(e.target);\n }\n\n const reader = new FileReader();\n reader.onload = () => {\n image.src = reader.result as string;\n }\n reader.readAsDataURL(event.addedFiles[0]);\n\n this._images.push(image);\n this.ajaxLoaderService.hide();\n });\n }\n }\n }\n\n /**\n * Remove uploaded image\n * @param id - image id\n */\n removeImage(id: string): void {\n this.imageList.nativeElement.children[id].remove();\n this._images = this._images.filter(item => item.id !== id);\n this.orderService.removeAttachment(id, AttachmentType.GRAPHIC);\n }\n\n removeAllImages(): void {\n this._images.forEach(item => this.orderService.removeAttachment(item.id, AttachmentType.GRAPHIC));\n this._images = [];\n }\n\n get maxFileSize(): number {\n return this.configLoaderService.getConfig().image.maxFileSize;\n }\n\n get maxFileSizeInMb(): number {\n return this.configLoaderService.getConfig().image.maxFileSize / 1000000;\n }\n\n get availableFileTypes(): string {\n return this.configLoaderService.getConfig().image.availableFileTypes;\n }\n\n set rejectedFiles(value: []) {\n this._rejectedFiles = value;\n }\n\n get rejectedFiles(): [] {\n return this._rejectedFiles;\n }\n\n get images(): HTMLImageElement[] {\n return this._images;\n }\n}\n","
\n = this.maxNumberOfFiles\"\n [accept]=\"this.availableFileTypes\"\n [maxFileSize]=\"this.maxFileSize\">\n  \n \n
\n
\n
Available file types: {{availableFileTypes}}
\n
Available file size: {{maxFileSizeInMb}} MB
\n
\n
\n  \n  \n
\n

 

\n
\n
\n
\n \n
\n
\n
 
\n
\n
\n","export class Palette {\n visible = false;\n disabled = true;\n\n constructor(public name: string) {\n }\n}\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\n\n@Component({\n selector: 'app-question-dialog',\n templateUrl: './question-dialog.component.html',\n styleUrls: ['./question-dialog.component.css']\n})\nexport class QuestionDialogComponent implements OnInit {\n\n constructor(private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) private data: any) {\n }\n\n ngOnInit() {\n }\n\n get message(): string {\n return this.data.message;\n }\n\n get options(): any {\n return this.data.options;\n }\n\n public chooseOption(selectedOption: number) {\n this.dialogRef.close(selectedOption);\n }\n\n}\n","{{message}}\n\n \n\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","import {Category} from \"../../app/model/enum/category\";\nimport {LabelType} from \"../../app/model/label/type\";\n\nexport const LabelTypes: LabelType[] = [\n new LabelType(Category.WEAVE,\n 'Tkaná etiketa',\n 'Tkaná etiketa môže obsahovať až 8 farieb.',\n '',\n 'weave.png'),\n new LabelType(Category.PRINTED,\n 'Tlačená etiketa',\n 'Tlačená etiketa môže obsahovať maximálne 2 farby z jednej strany a zo zadnej strany až 1 farbu.',\n 'Tlačené etikety s logom a ošetrovacími symbolmi. \\n\\n' +\n 'Tlačené etikety na bielizeň s potlačou sú dokonalou kombináciou formy a funkcie. \\n\\n' +\n 'Podľa platných zákonov na výrobku musí byť 5 symbolov údržby a materiálové zloženie.' +\n ' Náš online návrhový nástroj vás krok za krokom prevedie vytvorením dokonalého štítku na bielizeň ' +\n 's pokynmi na starostlivosť pre vašu značku. \\n\\n' +\n 'Etiketu môžete doplniť logom a inými textami. \\n\\n' +\n 'Pošlite nám obrázok a my vám dizajn upravíme a sformátujeme.',\n 'printed.png'\n )\n ]\n;\n","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\n\nimport {AccountService} from '../../../service/account.service';\nimport {AlertService} from \"../../../service/alert.service\";\nimport {first} from \"rxjs/operators\";\nimport {SubjectType} from \"../../../model/enum/subject-type\";\nimport {MatSelectChange} from \"@angular/material/select\";\nimport {StringUtil} from \"../../../utils/string-util\";\n\n@Component({\n selector: 'app-registration',\n templateUrl: './registration.component.html',\n styleUrls: ['./registration.component.css']\n})\nexport class RegistrationComponent implements OnInit {\n\n form: FormGroup;\n subjectTypeEnum = SubjectType;\n subjectTypes: SubjectType[];\n\n constructor(\n private formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n private accountService: AccountService,\n private alertService: AlertService,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n // redirect to home if already logged in\n if (this.accountService.authenticated) {\n this.router.navigate(['/']);\n }\n }\n\n ngOnInit() {\n this.form = this.formBuilder.group({\n email: ['', Validators.required],\n password: ['', [Validators.required, Validators.minLength(7)]],\n confirmPassword: [''],\n subjectType: ['', Validators.required],\n firstName: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(100)]],\n lastName: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(100)]],\n phone: ['', [Validators.required, Validators.maxLength(20)]],\n ico: [''],\n icdph: ['']\n }, {validators: this.passwordsMatchValidate()});\n this.subjectTypes = Object.values(SubjectType);\n }\n\n get email() {\n return this.form.get('email');\n }\n\n get subjectType() {\n return this.form.get('subjectType');\n }\n\n get password() {\n return this.form.get('password');\n }\n\n get confirmPassword() {\n return this.form.get('confirmPassword');\n }\n\n get firstName() {\n return this.form.get('firstName');\n }\n\n get lastName() {\n return this.form.get('lastName');\n }\n\n get phone() {\n return this.form.get('phone');\n }\n\n get ico() {\n return this.form.get('ico');\n }\n\n get icdph() {\n return this.form.get('icdph');\n }\n\n onSubmit() {\n // stop here if form is invalid\n if (this.form.invalid) {\n return;\n }\n\n this.accountService.register(this.form.value)\n .pipe(first())\n .subscribe(\n data => {\n this.accountService.login(this.email?.value, this.password?.value)\n .pipe(first())\n .subscribe(\n data => {\n this.router.navigate(['activation'], {\n queryParams: {\n \"registration\": \"true\"\n }\n });\n this.alertService.success($localize`:@@registrationSuccessfulAlert:`);\n this.changeDetectorRef.detectChanges()\n },\n errorResponse => {\n this.alertService.error(errorResponse.error.code);\n });\n },\n errorResponse => {\n if (StringUtil.isNotEmpty(errorResponse.error.field)) {\n let field = errorResponse.error.field[0].toLowerCase() + errorResponse.error.field.substr(1);\n this.form.get(field)?.setErrors({'incorrect': true});\n }\n this.changeDetectorRef.detectChanges();\n this.alertService.error(errorResponse.error.code);\n });\n }\n\n subjectTypeChange(e: MatSelectChange) {\n if (e.value == this.subjectTypeEnum.COMPANY) {\n this.ico?.setValidators([Validators.required, Validators.maxLength(8)]);\n this.ico?.updateValueAndValidity();\n this.icdph?.setValidators([Validators.required, Validators.maxLength(16)]);\n this.icdph?.updateValueAndValidity();\n } else {\n this.ico?.reset();\n this.ico?.clearValidators();\n this.ico?.updateValueAndValidity();\n this.icdph?.reset();\n this.icdph?.clearValidators();\n this.icdph?.updateValueAndValidity();\n }\n }\n\n passwordsMatchValidate() {\n return (form: FormGroup) => {\n const error = form.get('password')?.value! != form.get('confirmPassword')?.value ? {notMatch: true} : null;\n form.get('confirmPassword')?.setErrors(error);\n return error;\n }\n }\n}\n","
\n
\n \n \n \n \n \n
\n \n  \n \n \n  \n Minimum length\n is {{firstName.errors?.minlength.requiredLength}}\n Maximum length\n is {{firstName.errors?.maxlength.requiredLength}}\n \n \n \n  \n \n \n  \n Minimum length\n is {{lastName.errors?.minlength.requiredLength}}\n Maximum length\n is {{lastName.errors?.maxlength.requiredLength}}\n \n \n \n  \n \n \n  \n \n \n \n  \n \n \n  \n Minimum length\n is {{password.errors?.minlength.requiredLength}}\n \n \n \n  \n \n \n  \n \n \n \n  \n \n {subjectType, select, COMPANY{Company} INDIVIDUAL{Individual}}\n \n \n  \n \n \n \n  \n \n \n  \n Maximum length\n is {{phone.errors?.maxlength.requiredLength}}\n \n \n \n  \n \n \n  \n Maximum length\n is {{ico.errors?.maxlength.requiredLength}}\n \n \n \n  \n \n \n  \n Maximum length\n is {{icdph.errors?.maxlength.requiredLength}}\n \n \n \n
\n
\n
\n
\n
\n","import {AttachmentType} from \"./enum/attachment-type\";\n\nexport class UserFile {\n private _id: string;\n private _file: File;\n private _type: AttachmentType;\n\n constructor(id: string, file: File, type: AttachmentType) {\n this._id = id;\n this._file = file;\n this._type = type;\n }\n\n get id() {\n return this._id;\n }\n\n get file() {\n return this._file;\n }\n\n get name() {\n return this._file.name;\n }\n\n get type(): AttachmentType {\n return this._type;\n }\n\n set type(value: AttachmentType) {\n this._type = value;\n }\n}\n","import {Color} from '@angular-material-components/color-picker';\nimport {DesignName} from './enum/design-name';\nimport {fabric} from \"fabric\";\nimport {Converter} from \"../utils/converter\";\nimport RgbQuant from '../../assets/scripts/rgbquant';\nimport {event} from './event';\nimport {CanvasObjectType} from \"./enum/canvas-object-type\";\n\nexport class CanvasElement {\n private _content: any;\n private _isColorsReductionEnabled: boolean = false;\n private _reducedColorsPalette: Color[] = [];\n private _originalImage: any;\n private _reducedImage: any;\n private _initReductionPerformed: boolean = false;\n private readonly _isPreview: boolean = false;\n\n constructor(content: any, original = null, isPreview = false) {\n this._content = content;\n this._originalImage = original;\n this._isPreview = isPreview;\n }\n\n get content(): any {\n return this._content;\n }\n\n get id(): string {\n return this._content.get('id');\n }\n\n set id(value: string) {\n this._content.set('id', value);\n }\n\n get objectType(): string {\n return this._content.get('objectType');\n }\n\n set objectType(type: string) {\n this._content.set('objectType', type);\n }\n\n get fill(): Color {\n if (this._content.objectType === CanvasObjectType.LABEL) {\n switch (this._content.labelDesign) {\n case DesignName.STRIP:\n case DesignName.PRINTED_WIDTH:\n case DesignName.PRINTED_HEIGHT:\n case DesignName.CUT_INTO_SHAPE: {\n return this._content.get('fill');\n }\n case DesignName.BENT_ON_EDGE:\n case DesignName.BENT_ON_END:\n case DesignName.BENT_ON_HALF:\n case DesignName.BENT_ON_HALF_HEIGHT:\n case DesignName.SIZE_SIMPLE:\n case DesignName.SIZE_BENT: {\n return this._content._objects[0].get('fill');\n }\n case DesignName.ZIPPED: {\n return this._content._objects[0]._objects[0].get('fill');\n }\n }\n }\n return this._content.get('fill');\n }\n\n set fill(value: Color) {\n if (this._content.objectType === CanvasObjectType.LABEL) {\n switch (this._content.labelDesign) {\n case DesignName.STRIP:\n case DesignName.PRINTED_WIDTH:\n case DesignName.PRINTED_HEIGHT:\n case DesignName.CUT_INTO_SHAPE: {\n this._content.set('fill', value);\n break;\n }\n case DesignName.BENT_ON_EDGE:\n case DesignName.BENT_ON_END:\n case DesignName.SIZE_SIMPLE:\n case DesignName.SIZE_BENT: {\n this._content._objects[0].set('fill', value);\n break;\n }\n case DesignName.BENT_ON_HALF:\n case DesignName.BENT_ON_HALF_HEIGHT: {\n this._content._objects[0].set('fill', value);\n this._content._objects[1].set('fill', value);\n break;\n }\n case DesignName.ZIPPED: {\n this._content._objects[0]._objects[0].set('fill', value);\n this._content._objects[1]._objects[0].set('fill', value);\n break;\n }\n }\n } else {\n this._content.set('fill', value);\n }\n }\n\n get size(): number {\n return this._content.get('size');\n }\n\n set size(value: number) {\n this._content.set('size', value);\n }\n\n get text(): string {\n return this._content.get('text');\n }\n\n set text(value: string) {\n this._content.set('text', value);\n }\n\n get opacity(): number {\n return this._content.get('opacity');\n }\n\n set opacity(value: number) {\n this._content.set('opacity', value);\n }\n\n get fontSize(): number {\n return this._content.get('fontSize');\n }\n\n set fontSize(value: number) {\n this._content.set('fontSize', value);\n }\n\n get fontFamily(): string {\n return this._content.get('fontFamily');\n }\n\n set fontFamily(value: string) {\n this._content.set('fontFamily', value);\n }\n\n get angle(): number {\n return Math.floor(this._content.get('angle'));\n }\n\n set angle(value: number) {\n this._content.set('angle', value);\n }\n\n get fontWeight(): string {\n return this._content.get('fontWeight');\n }\n\n set fontWeight(value: string) {\n this._content.set('fontWeight', value);\n }\n\n get fontStyle(): string {\n return this._content.get('fontStyle');\n }\n\n set fontStyle(value: string) {\n this._content.set('fontStyle', value);\n }\n\n get underline(): boolean {\n return this._content.get('underline');\n }\n\n set underline(value: boolean) {\n this._content.set('underline', value);\n }\n\n get left(): number {\n return this._content.get('left');\n }\n\n set left(value: number) {\n this._content.set('left', value);\n }\n\n get top(): number {\n return this._content.get('top');\n }\n\n set top(value: number) {\n this._content.set('top', value);\n }\n\n get width(): number {\n if (this._content.objectType === CanvasObjectType.LABEL) {\n if (!this._isPreview && (this._content.labelDesign === DesignName.BENT_ON_EDGE || this._content.labelDesign === DesignName.BENT_ON_END)) {\n return Math.floor(this._content._objects[0].width / this._content.scaleFactor);\n } else if (!this._isPreview && this._content.labelDesign === DesignName.BENT_ON_HALF_HEIGHT) {\n return Math.floor(this._content._objects[0].width * 2 / this._content.scaleFactor);\n } else {\n return Math.floor(this._content.width / this._content.scaleFactor);\n }\n }\n return this._content.get('width');\n }\n\n set width(value: number) {\n const v = value * this._content.scaleFactor;\n if (this._content.objectType === CanvasObjectType.LABEL) {\n let diff = (v - this._content.width) / 2;\n if (this._content.labelDesign === DesignName.STRIP || this._content.labelDesign === DesignName.PRINTED_WIDTH\n || this._content.labelDesign === DesignName.PRINTED_HEIGHT || this._content.labelDesign === DesignName.CUT_INTO_SHAPE) {\n this._content.left = this._content.left - diff;\n this._content.width = v;\n } else if (this._content.labelDesign === DesignName.BENT_ON_EDGE) {\n diff = (v - this._content._objects[0].width) / 2;\n // set new value to label body\n this._content._objects[0].width = v;\n // move label body (left,right depends on diff value)\n this._content._objects[0].left = this._content._objects[0].left - diff;\n // calculate label left,right marks\n this._content._objects[1].left = this._content._objects[1].left - diff;\n this._content._objects[2].left = this._content._objects[2].left + diff;\n // set group width as last step (sum of left + center + right part)\n this._content.width = this._content._objects[1].width + this._content._objects[0].width + this._content._objects[2].width;\n } else if (this._content.labelDesign === DesignName.BENT_ON_HALF) {\n this._content._objects[0].width = v;\n this._content._objects[0].left = this._content._objects[0].left - diff;\n this._content._objects[1].width = v;\n this._content._objects[1].left = this._content._objects[1].left - diff;\n this._content.width = v;\n } else if (this._content.labelDesign === DesignName.ZIPPED) {\n this._content._objects[0].width = v;\n this._content._objects[0]._objects[0].width = v;\n this._content._objects[0].left = this._content._objects[0].left - diff;\n this._content._objects[0]._objects[0].left = this._content._objects[0]._objects[0].left - diff;\n this._content._objects[0]._objects[1].left = this._content._objects[0]._objects[1].left - diff;\n this._content._objects[1].width = v;\n this._content._objects[1]._objects[0].width = v;\n this._content._objects[1].left = this._content._objects[1].left - diff;\n this._content._objects[1]._objects[0].left = this._content._objects[1]._objects[0].left - diff;\n this._content._objects[1]._objects[1].left = this._content._objects[1]._objects[1].left - diff;\n this._content.width = v;\n } else if (this._content.labelDesign === DesignName.BENT_ON_HALF_HEIGHT) {\n this._content._objects[0].width = v / 2;\n this._content._objects[0].width = v / 2;\n this._content._objects[0].left = this._content._objects[0].left - diff;\n this._content._objects[1].width = v / 2;\n this._content._objects[1].width = v / 2;\n this._content.width = v;\n } else if (this._content.labelDesign === DesignName.BENT_ON_END) {\n this._content._objects[0].width = v;\n this._content._objects[0].left = this._content._objects[0].left - diff;\n this._content._objects[1].width = v;\n this._content._objects[1].left = this._content._objects[1].left - diff;\n this._content._objects[2].width = v;\n this._content._objects[2].left = this._content._objects[2].left - diff;\n this._content.width = v;\n }\n } else {\n this._content.width = value;\n }\n }\n\n get height(): number {\n if (this._content.objectType === CanvasObjectType.LABEL) {\n if (!this._isPreview && this._content.labelDesign === DesignName.BENT_ON_HALF) {\n return Math.floor(this._content._objects[0].height * 2 / this._content.scaleFactor);\n } else if (!this._isPreview && (this._content.labelDesign === DesignName.SIZE_SIMPLE || this._content.labelDesign === DesignName.SIZE_BENT\n || this._content.labelDesign === DesignName.BENT_ON_HALF_HEIGHT || this._content.labelDesign === DesignName.BENT_ON_END)) {\n return Math.floor(this._content._objects[0].height / this._content.scaleFactor);\n } else {\n return Math.floor(this._content.height / this._content.scaleFactor);\n }\n }\n return this._content.get('height');\n }\n\n set height(value: number) {\n const v = value * this._content.scaleFactor;\n if (this._content.objectType === CanvasObjectType.LABEL) {\n let diff = (v - this._content.height) / 2;\n if (this._content.labelDesign === DesignName.STRIP || this._content.labelDesign === DesignName.PRINTED_WIDTH\n || this._content.labelDesign === DesignName.PRINTED_HEIGHT || this._content.labelDesign === DesignName.CUT_INTO_SHAPE) {\n this._content.height = v;\n this._content.top = this._content.top - diff;\n this._content.height = v;\n } else if (this._content.labelDesign === DesignName.BENT_ON_EDGE) {\n this._content._objects[0].height = v;\n this._content._objects[0].top = this._content._objects[0].top - diff;\n this._content._objects[1].height = v;\n this._content._objects[1].top = this._content._objects[1].top - diff;\n this._content._objects[2].height = v;\n this._content._objects[2].top = this._content._objects[2].top - diff;\n this._content.height = v;\n } else if (this._content.labelDesign === DesignName.BENT_ON_HALF) {\n this._content._objects[0].height = v / 2;\n this._content._objects[0].top = this._content._objects[0].top - diff;\n this._content._objects[1].height = v / 2;\n this._content.height = v;\n } else if (this._content.labelDesign === DesignName.BENT_ON_HALF_HEIGHT) {\n this._content._objects[0].height = v;\n this._content._objects[0].top = this._content._objects[0].top - diff;\n this._content._objects[1].height = v;\n this._content._objects[1].top = this._content._objects[1].top - diff;\n this._content.height = v;\n } else if (this._content.labelDesign === DesignName.BENT_ON_END) {\n diff = (v - this._content._objects[0].height) / 2;\n this._content._objects[0].height = v;\n this._content._objects[0].top = this._content._objects[0].top - diff;\n this._content._objects[1].top = this._content._objects[1].top - diff;\n this._content._objects[2].top = this._content._objects[2].top + diff;\n this._content.height = this._content._objects[1].height + this._content._objects[0].height + this._content._objects[2].height;\n } else if (this._content.labelDesign === DesignName.ZIPPED) {\n this._content._objects[0]._objects[0].height = v / 2;\n this._content._objects[0]._objects[0].top = this._content._objects[0]._objects[0].top - diff;\n this._content._objects[0]._objects[1].top = this._content._objects[0]._objects[1].top - diff / 2;\n this._content._objects[1]._objects[0].height = v / 2;\n this._content._objects[1]._objects[1].top = this._content._objects[1]._objects[1].top + diff / 2;\n this._content.height = v;\n }\n } else {\n this._content.set('height', value);\n }\n }\n\n get scaleX(): number {\n return this._content.get('scaleX');\n }\n\n set scaleX(value: number) {\n this._content.set('scaleX', value);\n }\n\n get scaleY(): number {\n return this._content.get('scaleY');\n }\n\n set scaleY(value: number) {\n this._content.set('scaleY', value);\n }\n\n get labelType(): string {\n return this._content.get('labelType');\n }\n\n set labelType(value: string) {\n this._content.set('labelType', value);\n }\n\n get labelDesign(): string {\n return this._content.get('labelDesign');\n }\n\n set labelDesign(value: string) {\n this._content.set('labelDesign', value);\n }\n\n public center(): void {\n this._content.center();\n }\n\n public rotate(angle: number): void {\n this._content.rotate(angle);\n }\n\n sendToBack() {\n this._content.sendToBack();\n }\n\n sendBackwards() {\n this._content.sendBackwards();\n }\n\n bringForward() {\n this._content.bringForward();\n }\n\n bringToFront() {\n this._content.bringToFront();\n }\n\n public get hasReducedColors() {\n return this._reducedColorsPalette.length > 0;\n }\n\n public get isColorsReductionEnabled(): boolean {\n return this._isColorsReductionEnabled;\n }\n\n public set isColorsReductionEnabled(enabled) {\n this._isColorsReductionEnabled = enabled;\n }\n\n public get reducedColorsPalette(): any[] {\n return this._reducedColorsPalette;\n }\n\n private setReducedImage(urlImageData: any) {\n const content = this.content;\n return new Promise(resolve => {\n fabric.Image.fromURL(urlImageData, function (newImage) {\n newImage.set({\n width: content.width,\n height: content.height,\n left: content.left,\n top: content.top,\n });\n newImage.getElement().id = content._element.id;\n content.setElement(newImage.getElement());\n document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n resolve(newImage);\n });\n })\n }\n\n /**\n * returns true if success, false otherwise\n * @param numberOfRequestedColors\n */\n public reduceColors(numberOfRequestedColors: number): Promise<[]> {\n return new Promise((resolve, reject) => {\n const worker = new Worker('src/app/color-reduction.worker', {\n type: 'module'\n });\n worker.onmessage = ({data}) => {\n this._reducedColorsPalette = data.histogram.map(el => el[0]).map(el => Converter.toPickerColor(el));\n\n const tempCanvas: HTMLCanvasElement = document.createElement('canvas');\n tempCanvas.width = this.content.width;\n tempCanvas.height = this.content.height;\n const tempCtx: CanvasRenderingContext2D | null = tempCanvas.getContext('2d');\n\n if (tempCtx != null) {\n const imageData = new ImageData(new Uint8ClampedArray(data.image.buffer), this.content.width, this.content.height);\n tempCtx.putImageData(imageData, 0, 0);\n this.setReducedImage(tempCanvas.toDataURL()).then(newImage => {\n this._reducedImage = newImage;\n resolve(data.histogram);\n });\n }\n };\n\n worker.onerror = (e: ErrorEvent) => {\n reject(\"External processing of image failed\");\n }\n\n let can = document.createElement(\"canvas\");\n can.width = this._originalImage.naturalWidth;\n can.height = this._originalImage.naturalHeight;\n let ctx: CanvasRenderingContext2D | null = can.getContext(\"2d\");\n if (ctx != null) {\n ctx.drawImage(this._originalImage, 0, 0);\n const imageData = ctx.getImageData(0, 0, this._originalImage.naturalWidth, this._originalImage.naturalHeight);\n worker.postMessage({\n image: imageData,\n numberOfAvailableColors: numberOfRequestedColors\n });\n }\n });\n }\n\n public toggleImage(): void {\n const content = this.content;\n if (this.isColorsReductionEnabled) {\n content.setElement(this._reducedImage.getElement());\n } else {\n content.setElement(new fabric.Image(this._originalImage, {}).getElement());\n }\n }\n\n /**\n * true if success, false otherwise\n * @param sourceColor\n * @param destinationColor\n */\n public replaceColor(sourceColor: any, destinationColor: any): boolean {\n const sourceImageTempCanvas: HTMLCanvasElement = document.createElement('canvas');\n sourceImageTempCanvas.width = this._reducedImage.width;\n sourceImageTempCanvas.height = this._reducedImage.height;\n const sourceImageTempCtx: CanvasRenderingContext2D | null = sourceImageTempCanvas.getContext('2d');\n if (sourceImageTempCtx != null) {\n sourceImageTempCtx.drawImage(this._reducedImage.getElement(), 0, 0);\n let array = sourceImageTempCtx.getImageData(0, 0, this._reducedImage.width, this._reducedImage.height).data;\n let i;\n const len = array.length;\n for (i = 0; i < len; i += 4) {\n if (array[i] === sourceColor['r'] && array[i + 1] === sourceColor['g'] && array[i + 2] === sourceColor['b']) {\n array[i] = destinationColor['r'];\n array[i + 1] = destinationColor['g'];\n array[i + 2] = destinationColor['b'];\n }\n }\n\n const colorPalette = this.reducedColorsPalette;\n colorPalette.forEach((color, index) => {\n if (color['r'] === sourceColor['r'] && color['g'] === sourceColor['g'] && color['b'] === sourceColor['b']) {\n colorPalette[index] = destinationColor;\n }\n });\n this._reducedColorsPalette = colorPalette;\n\n var newImage = new ImageData(array, this._reducedImage.width, this._reducedImage.height);\n const tempCanvas: HTMLCanvasElement = document.createElement('canvas');\n tempCanvas.width = this.width;\n tempCanvas.height = this.height;\n const tempCtx: CanvasRenderingContext2D | null = tempCanvas.getContext('2d');\n if (tempCtx != null) {\n tempCtx.putImageData(newImage, 0, 0);\n }\n this.setReducedImage(tempCanvas.toDataURL()).then((replaceColorImage) => this._reducedImage = replaceColorImage);\n\n return true;\n }\n return false;\n }\n\n public set originalImage(image: any) {\n this._originalImage = image;\n }\n\n public get isSymbol(): boolean {\n return this._content.isSymbol;\n }\n\n /**\n * be advised not to use this method anywhere outside of post processing of JSON load\n * @param clazz\n */\n public updateContentFromJson(clazz: any) {\n this._content = clazz;\n }\n\n get initReductionPerformed(): boolean {\n return this._initReductionPerformed;\n }\n\n set initReductionPerformed(value: boolean) {\n this._initReductionPerformed = value;\n }\n\n isPreview() {\n return this._isPreview;\n }\n}\n","import {Injectable} from \"@angular/core\";\nimport {OrderStatus} from \"../model/orderStatus\";\nimport {ErrorMessage} from \"../model/errorMessage\";\nimport {DeliveryType} from \"../model/deliveryType\";\nimport {PaymentType} from \"../model/paymentType\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LocaleService {\n\n public orderStatus(status: string): string {\n switch (status) {\n case OrderStatus.Incomplete:\n return $localize`:@@order.status.incomplete:`;\n case OrderStatus.Unconfirmed:\n return $localize`:@@order.status.unconfirmed:`;\n case OrderStatus.Quotation:\n return $localize`:@@order.status.quotation:`;\n case OrderStatus.Patterning:\n return $localize`:@@order.status.patterning:`;\n case OrderStatus.PatternProduction:\n return $localize`:@@order.status.patternProduction:`;\n case OrderStatus.PatternExpedition:\n return $localize`:@@order.status.patternExpedition:`;\n case OrderStatus.ProposalSent:\n return $localize`:@@order.status.proposalSent:`;\n case OrderStatus.Production:\n return $localize`:@@order.status.production:`;\n case OrderStatus.Expedition:\n return $localize`:@@order.status.expedition:`;\n case OrderStatus.WFP:\n return $localize`:@@order.status.wfp:`;\n case OrderStatus.Completed:\n return $localize`:@@order.status.completed:`;\n case OrderStatus.Cancelled:\n return $localize`:@@order.status.cancelled:`;\n }\n return status;\n }\n\n\n public deliveryType(deliveryMethod: string): string {\n switch (deliveryMethod) {\n case DeliveryType.PersonalPickup:\n return $localize`:@@order.deliveryType.personalPickup:`;\n case DeliveryType.Post:\n return $localize`:@@order.deliveryType.post:`;\n case DeliveryType.GLS:\n return $localize`:@@order.deliveryType.gls:`;\n case DeliveryType.DPD:\n return $localize`:@@order.deliveryType.dpd:`;\n default:\n return $localize`:@@order.deliveryType.other:`;\n }\n return deliveryMethod;\n }\n\n public paymentType(paymentType: string): string {\n switch (paymentType) {\n case PaymentType.Cash:\n return $localize`:@@order.paymentType.cash:`;\n case PaymentType.CashOnDelivery:\n return $localize`:@@order.paymentType.cashOnDelivery:`;\n case PaymentType.Invoice:\n return $localize`:@@order.paymentType.invoice:`;\n case PaymentType.AdvanceInvoice:\n return $localize`:@@order.paymentType.invoiceInAdvance:`;\n }\n return paymentType;\n }\n\n public error(message: string): string {\n switch (message) {\n case ErrorMessage.EmailAlreadyUsed:\n return $localize`:@@emailAlreadyUsed:`;\n case ErrorMessage.ServerError:\n return $localize`:@@serverError:`;\n case ErrorMessage.EmailAlreadyActivated:\n return $localize`:@@emailAlreadyActivated:`;\n case ErrorMessage.InvalidAddressId:\n return $localize`:@@invalidAddressId:`;\n case ErrorMessage.ExpiredKey:\n return $localize`:@@expiredKey:`;\n case ErrorMessage.ProductHasNoImage:\n return $localize`:@@productHasNoImage:`;\n case ErrorMessage.UserWithSpecifiedEmailNotFound:\n return $localize`:@@userWithSpecifiedEmailNotFound:`;\n case ErrorMessage.InvalidClientUrl:\n return $localize`:@@invalidClientUrl:`;\n case ErrorMessage.InvalidInputValue:\n return $localize`:@@invalidInputValue:`;\n case ErrorMessage.Unauthorized:\n return $localize`:@@unauthorized:`;\n case ErrorMessage.InvalidLoginInfo:\n return $localize`:@@invalidLoginInfo:`;\n }\n return message;\n }\n}\n","export enum SubjectType {\n COMPANY = 'COMPANY',\n INDIVIDUAL = 'INDIVIDUAL'\n}\n","export enum DesignName {\n STRIP = 'PAS_CVK',\n PRINTED_WIDTH = 'PRINTED_WIDTH',\n PRINTED_HEIGHT = 'PRINTED_HEIGHT',\n BENT_ON_EDGE = 'NAR_KS_ZAL_KR',\n BENT_ON_END = 'NAR_KS_KR_ZVAR_KON',\n BENT_ON_HALF = 'NAR_KS_ZAL_12_ZVAR_BOK',\n BENT_ON_HALF_HEIGHT = 'NAR_KS_ZAL_12',\n CUT_INTO_SHAPE = 'NAR_KS_TVAR',\n ZIPPED = 'NAR_KS_ZIP',\n SIZE_SIMPLE = 'PAS_BEZCVK',\n SIZE_BENT = 'VYS_TEXT',\n CUTTED = 'NAR_KS'\n}\n","import {Converter} from \"../../utils/converter\";\n\nexport class Product {\n\n private _productId: number = 0;\n private _kind: string | null = null;\n private _pattern: string = 'label';\n private _width: number | null = null;\n private _height: number | null = null;\n private _processing: string | null = null;\n private _colors: string[] = [];\n private _materialType: string = 'Other';\n private _materialColor: string = 'Other';\n private _cut: boolean = false;\n private _price: number;\n\n get kind(): string | null {\n return this._kind;\n }\n\n set kind(value: string | null) {\n this._kind = value;\n }\n\n get pattern(): string {\n return this._pattern;\n }\n\n set pattern(value: string) {\n this._pattern = value;\n }\n\n get width(): number | null {\n return this._width;\n }\n\n set width(value: number | null) {\n this._width = value;\n }\n\n get height(): number | null {\n return this._height;\n }\n\n set height(value: number | null) {\n this._height = value;\n }\n\n get processing(): string | null {\n return this._processing;\n }\n\n set processing(value: string | null) {\n this._processing = value;\n }\n\n get colors(): string[] {\n return this._colors;\n }\n\n set colors(value: string[]) {\n this._colors = value;\n }\n\n get materialType(): string {\n return this._materialType;\n }\n\n set materialType(value: string) {\n this._materialType = value;\n }\n\n get materialColor(): string {\n return this._materialColor;\n }\n\n set materialColor(value: string) {\n this._materialColor = value;\n }\n\n get cut(): boolean {\n return this._cut;\n }\n\n set cut(value: boolean) {\n this._cut = value;\n }\n\n get productId(): number {\n return this._productId;\n }\n\n set productId(value: number) {\n this._productId = value;\n }\n\n get price(): number {\n return this._price;\n }\n\n set price(value: number) {\n this._price = value;\n }\n\n public toJSON() {\n return {\n productId: this._productId,\n kind: this.kind,\n pattern: this.pattern,\n width: this.width,\n height: this.height,\n processing: this.processing,\n colors: this.colors,\n materialType: Converter.material(this.materialType),\n materialColor: Converter.materialColor(this.materialColor),\n cut: this.cut\n }\n }\n}\n","import {Component, ElementRef, Inject, ViewChild} from '@angular/core';\nimport {LabelDesigns} from \"../../../assets/data/label-designs\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {event} from \"../../model/event\";\nimport {OrderService} from \"../../service/order.service\";\nimport {Dialog} from \"../../utils/dialog\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {DesignName} from \"../../model/enum/design-name\";\n\n@Component({\n selector: 'app-design',\n templateUrl: './design.component.html',\n styleUrls: ['./design.component.css']\n})\nexport class DesignComponent {\n\n labelDesigns = LabelDesigns;\n private _document: Document;\n private _dialog: Dialog;\n\n @ViewChild('designList')\n private designList: ElementRef;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private orderService: OrderService,\n private matDialog: MatDialog) {\n this._document = document;\n this._dialog = new Dialog(matDialog);\n }\n\n public async changeLabelDesign(name: DesignName) {\n if (this.orderService.order.getOrderProduct().product.processing == null) {\n this.orderService.changeDesign(name);\n this._document.dispatchEvent(new CustomEvent(event.label.CHANGE_DESIGN));\n this._document.dispatchEvent(new CustomEvent(event.label.REMOVE_ALL_IMAGES));\n } else {\n const message = $localize`:@@labelDesignChangeAlert:`;\n let selectedOption = await this._dialog.questionDialog(message, [{title: $localize`:@@addAnotherProduct:`}, {title: $localize`:@@replaceProduct:`}, {title: $localize`:@@cancel:`}]);\n // user wants add another label\n if (selectedOption == 0) {\n let labelType = this.orderService.order.getOrderProduct().product.kind;\n this.orderService.addNewProduct();\n if (labelType) {\n this.orderService.changeLabelType(labelType);\n }\n }\n\n // we added product, now we can continue\n if (selectedOption < 2) {\n this.orderService.changeDesign(name);\n this._document.dispatchEvent(new CustomEvent(event.label.CHANGE_DESIGN));\n this._document.dispatchEvent(new CustomEvent(event.label.REMOVE_ALL_IMAGES));\n }\n }\n this._document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n\n public getSelectedType(): string | null {\n return this.orderService.order.getOrderProduct().product.kind;\n }\n}\n","
\n \n
\n \n \n
\n
\n
\n","export class StringUtil {\n\n public static isEmpty(value: string) {\n return value == null || value == '' || !value.length;\n }\n\n public static isNotEmpty(value: string | undefined) {\n return value !== undefined && value != null && value.length > 0;\n }\n}\n","import {AlertType} from \"./enum/alert-type\";\n\nexport class Alert {\n type: AlertType;\n message: string;\n autoClose: boolean = true;\n fade: boolean;\n\n constructor(init?: Partial) {\n Object.assign(this, init);\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false,\n debug: true\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","export enum ErrorMessage {\n Undefined = 'Undefined',\n ServerError = 'ServerError',\n InvalidAddressId = 'InvalidAddressId',\n InvalidClientUrl = 'InvalidClientUrl',\n InvalidInputValue = 'InvalidInputValue',\n EmailAlreadyUsed = 'EmailAlreadyUsed',\n EmailAlreadyActivated = 'EmailAlreadyActivated',\n UserWithSpecifiedEmailNotFound = 'UserWithSpecifiedEmailNotFound',\n ExpiredKey = 'ExpiredKey',\n Unauthorized = 'Unauthorized',\n InvalidLoginInfo = 'InvalidLoginInfo',\n ProductHasNoImage = 'ProductHasNoImage'\n}\n","import {fabric} from 'fabric';\nimport {event} from './event';\nimport {CanvasElement} from \"./canvas-element\";\nimport {environment} from \"../../environments/environment\";\nimport {DesignName} from \"./enum/design-name\";\nimport {Converter} from \"../utils/converter\";\nimport {Color} from \"@angular-material-components/color-picker\";\nimport {CanvasObjectType} from \"./enum/canvas-object-type\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {LabelDesign} from \"./label/design\";\nimport {AjaxLoaderService} from \"../service/ajax-loader.service\";\nimport {Generator} from \"../utils/generator\";\n\nexport class Canvas {\n\n private _canvas: any;\n private _selected: any;\n private _document: Document;\n private _shadow: any;\n private readonly _minFontSize;\n private readonly _maxFontSize;\n\n private _labelPlaceholder: any;\n private _canvasElements: CanvasElement[] = [];\n\n constructor(document: Document,\n private configLoaderService: RuntimeConfigLoaderService,\n private ajaxLoaderService: AjaxLoaderService) {\n this._document = document;\n this._minFontSize = configLoaderService.getConfig().canvas.minFontSize * 1;\n this._maxFontSize = configLoaderService.getConfig().canvas.maxFontSize * 1;\n\n fabric.Object.prototype.toObject = (function (toObject) {\n return function (this, propertiesToInclude) {\n propertiesToInclude = (propertiesToInclude || []).concat(\n ['id', 'objectType', 'labelType', 'labelDesign', 'scaleFactor', 'isSymbol', 'currentFontSize', 'currentScaleX', 'currentScaleY']\n );\n let o = toObject.apply(this, [propertiesToInclude]);\n if (o.fill instanceof Color) {\n o.fill = '#' + o.fill.hex;\n }\n return o;\n };\n })(fabric.Object.prototype.toObject);\n }\n\n get canvasElements() {\n return this._canvasElements;\n }\n\n public init(json: string | null): void {\n let drawingContainer: HTMLElement | null = document.getElementById('drawing-container');\n let center = document.getElementById('center');\n if (drawingContainer != null && center != null) {\n drawingContainer.scrollTop = center.clientHeight / 3;\n drawingContainer.scrollLeft = center.clientWidth / 3;\n }\n\n this._canvas = new fabric.Canvas('canvas', {\n selection: true,\n selectionKey: ['ctrlKey', 'metaKey'],\n preserveObjectStacking: true,\n backgroundColor: 'rgba(227, 229, 232,1)'\n });\n this._canvas.setWidth(center?.clientWidth);\n this._canvas.setHeight(center?.clientHeight);\n\n this._canvas.hoverCursor = 'default';\n this._canvas.on({\n 'selection:created': ({selected, target}) => {\n this.createSelection(selected, target);\n },\n 'selection:updated': ({selected, target}) => {\n this.createSelection(selected, target);\n },\n 'selection:cleared': () => {\n this._selected = null;\n this._document.dispatchEvent(new Event(event.canvas.ELEMENT_CLEARED));\n },\n 'object:scaled': (e: any) => {\n Canvas.preventMovingOutOfCanvas(e.target);\n this._selected = e.target;\n this._document.dispatchEvent(new CustomEvent(event.canvas.ELEMENT_SCALED, {detail: this.findCanvasElement(e.target.id)}));\n },\n 'object:scaling': (e: any) => {\n if (e.target.objectType == CanvasObjectType.GROUP) {\n e.target._objects.forEach((elm, i) => {\n this.scaleObject(elm, e.target);\n });\n } else {\n this.scaleObject(e.target, e.target);\n }\n },\n 'object:modified': (e: any) => {\n if (e.target.objectType == CanvasObjectType.TEXT) {\n let scaled = false;\n if (e.target.scaleX != 1) {\n e.target.fontSize *= e.target.scaleX;\n scaled = true;\n } else if (e.target.scaleY != 1) {\n e.target.fontSize *= e.target.scaleY;\n scaled = true;\n }\n if (scaled) {\n e.target.fontSize = e.target.fontSize.toFixed(0);\n e.target.scaleX = 1;\n e.target.scaleY = 1;\n e.target._clearCache();\n }\n }\n },\n 'object:moving': (e: any) => {\n Canvas.preventMovingOutOfCanvas(e.target);\n }\n });\n\n this._shadow = {\n color: \"rgb(150,150,150)\",\n blur: 20,\n offsetX: 10,\n offsetY: 10\n }\n\n this.loadFromJSON(json, this._canvasElements);\n\n this._document.addEventListener(event.canvas.UPDATE, () => {\n // mark all objects as dirty so they will be redrawn\n this._canvas._objects.forEach(o => o.dirty = true);\n // redraw all objects on canvas\n this._canvas.requestRenderAll();\n this._canvas.renderAll();\n });\n\n this._document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n public loadFromJSON(json: string | null, canvasElements: CanvasElement[]) {\n if (json != null) {\n let vThis = this;\n let images: CanvasElement[] = [];\n for (let i = 0; i < canvasElements.length; i++) {\n if (canvasElements[i].objectType === CanvasObjectType.IMAGE) {\n images.push(canvasElements[i]);\n }\n }\n this._canvasElements = [];\n\n this._canvas.loadFromJSON(json, () => {\n }, function (e, clazz) {\n let canvasElement = new CanvasElement(clazz);\n\n if (clazz.objectType == CanvasObjectType.LABEL) {\n vThis.setLabelDefaults(clazz);\n vThis._labelPlaceholder = clazz;\n }\n if (clazz.objectType == CanvasObjectType.TEXT) {\n vThis.setTextDefaults(clazz);\n }\n if (clazz.objectType == CanvasObjectType.IMAGE) {\n vThis.setImageDefaults(clazz);\n let original = images.find(x => x.content.id == clazz.id);\n original.updateContentFromJson(clazz);\n canvasElement = original;\n }\n\n vThis._canvasElements.push(canvasElement);\n });\n }\n }\n\n private createSelection(selected, target) {\n let label = target._objects?.find(obj => obj.objectType === CanvasObjectType.LABEL);\n let element;\n\n // if there are more elements, and label being added, remove it (we don't allow group selection of label with other elements)\n if (target?._objects?.length > 1 && label !== undefined) {\n target.removeWithUpdate(label);\n this._document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n // more elements are selected, its a group\n if (this._canvas.getActiveObjects().length > 1) {\n element = new CanvasElement(target);\n element.objectType = CanvasObjectType.GROUP;\n element.currentScaleX = 1;\n element.currentScaleY = 1;\n target.lockScalingFlip = true;\n target.lockScalingX = true;\n target.lockScalingY = true;\n // single element is active, its and object\n } else if (this._canvas.getActiveObjects().length == 1) {\n element = this.findCanvasElement(this._canvas.getActiveObjects()[0].id);\n this._canvas.setActiveObject(this._canvas.getActiveObjects()[0]);\n }\n\n if (this._canvas.getActiveObjects().some(obj => obj.lockMovementX)) {\n target.lockMovementX = true;\n }\n if (this._canvas.getActiveObjects().some(obj => obj.lockMovementY)) {\n target.lockMovementY = true;\n }\n\n // in case nothing is selected, dont send event\n if (element != undefined) {\n this._document.dispatchEvent(new CustomEvent(event.canvas.ELEMENT_SELECTED, {detail: element}))\n this._selected = element;\n }\n }\n\n public toJSON(): string {\n return JSON.stringify(this._canvas);\n }\n\n private findCanvasElement(id: string): CanvasElement {\n return this._canvasElements.find(x => x.content.id == id);\n }\n\n private removeCanvasElement(obj: any): void {\n this._canvasElements = this._canvasElements.filter(x => x.content.id != obj.id);\n }\n\n private scalingText(obj: any, group: any) {\n let size = obj.fontSize\n let diffX = group.scaleX;\n let diffY = group.scaleY;\n if (group.objectType == CanvasObjectType.GROUP) {\n diffX = 1 + (group.scaleX - group.currentScaleX);\n diffY = 1 + (group.scaleY - group.currentScaleY);\n }\n if (diffX != 1) {\n size = (size * diffX).toFixed(0);\n } else if (diffY != 1) {\n size = (size * diffY).toFixed(0);\n }\n if (!(size > this._minFontSize && size < this._maxFontSize)) {\n size = obj.currentFontSize;\n }\n obj.currentFontSize = size;\n // this must go outside in case of group due to multiple objects in it\n group.currentScaleX = group.scaleX;\n group.currentScaleY = group.scaleY;\n this._document.dispatchEvent(new CustomEvent(event.canvas.FONT_RESIZE, {\n detail: {\n id: obj.id,\n objectType: group.objectType,\n size: size\n }\n }));\n this._canvas.getActiveObject().dirty = true;\n this._document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n private resetTextScale(obj: any) {\n obj.scaleX = 1;\n obj.scaleY = 1;\n obj.currentScaleX = 1;\n obj.currentScaleY = 1;\n }\n\n public addText(color: Color): void {\n let text: any;\n text = new fabric.Text('Text', {\n fontSize: 30,\n fill: color.hex,\n lockScalingFlip: true,\n lockUniScaling: true,\n });\n text.currentFontSize = 30;\n text.currentScaleX = 1;\n text.currentScaleY = 1;\n text.id = Generator.ID();\n text.objectType = CanvasObjectType.TEXT;\n this.setTextDefaults(text);\n this._canvasElements.push(new CanvasElement(text));\n this._canvas.add(text);\n text.center();\n this._canvas.setActiveObject(text);\n this._document.dispatchEvent(new CustomEvent(event.editor.COLOR_ADD, {\n detail: {\n color: Converter.toPickerColor(text.fill),\n componentId: text.id\n }\n }));\n }\n\n public addSymbol(e: any): void {\n let symbol: any;\n symbol = new fabric.Text(e.symbol, {\n fontSize: 72,\n fill: e.color.hex,\n fontFamily: 'Wash Care Symbols M54',\n lockScalingFlip: true,\n lockUniScaling: true\n });\n symbol.currentFontSize = 72;\n symbol.currentScaleX = 1;\n symbol.currentScaleY = 1;\n symbol.isSymbol = true;\n symbol.id = Generator.ID();\n symbol.objectType = CanvasObjectType.TEXT;\n this.setTextDefaults(symbol);\n this._canvasElements.push(new CanvasElement(symbol));\n this._canvas.add(symbol);\n symbol.center();\n this._canvas.setActiveObject(symbol);\n this._document.dispatchEvent(new CustomEvent(event.editor.COLOR_ADD, {\n detail: {\n color: Converter.toPickerColor(symbol.fill),\n componentId: symbol.id\n }\n }));\n }\n\n public addImage(e: any): void {\n let img = new fabric.Image(e, {});\n\n img = fabric.util.object.extend(img, {id: e.id, objectType: CanvasObjectType.IMAGE})\n\n const labelWidth = this.getBodyWidth();\n const labelHeight = this.getBodyHeight();\n if (labelHeight != null) {\n img.scaleToHeight(labelHeight, false);\n if (img.scaleY != null && img.width != null && img.scaleY * img.width > labelWidth) {\n img.scaleToWidth(labelWidth);\n }\n }\n let canvasElement = new CanvasElement(img, e);\n this._canvasElements.push(canvasElement);\n this._canvas.add(img);\n this._canvas.setActiveObject(img);\n img.center();\n }\n\n /**\n * Remove uploaded image from canvas\n * @param id - unique identifier of image\n */\n public removeImage(id: string): void {\n this._canvas.getObjects().forEach((obj: any) => {\n if (obj.hasOwnProperty('_element')) {\n if (obj._element.className == 'canvas-img') {\n if (obj.id == id) {\n this._document.dispatchEvent(new CustomEvent(event.label.REMOVE_IMAGE, {\n detail: {\n componentId: obj.id\n }\n }));\n this.removeCanvasElement(obj);\n this._canvas.remove(obj);\n }\n }\n }\n })\n }\n\n public clearCanvas(): void {\n this._canvas.remove(...this._canvas.getObjects());\n this._labelPlaceholder = null\n this._canvasElements = [];\n }\n\n /**\n * Draw placeholder label for different designs\n * @param labelDesign - label design\n */\n public addLabelPlaceholder(labelDesign: any, isProductPreview = false): string {\n this.clearCanvas();\n\n const design = labelDesign.name;\n const scale = labelDesign.scale;\n const width = labelDesign.width.defaultSize;\n const height = labelDesign.height.defaultSize;\n\n const label = new fabric.Rect({\n width: width * scale,\n height: height * scale,\n fill: 'rgba(255,255,255, 1)'\n });\n const markerTop = new fabric.Rect({\n width: width * scale,\n height: 7 * scale,\n fill: 'rgba(194,196,195,1)',\n strokeWidth: 0.2,\n strokeDashArray: [1, 1],\n stroke: 'black'\n });\n\n if (environment.debug) {\n console.debug('Selected design: ', design);\n }\n\n switch (design) {\n case DesignName.STRIP:\n case DesignName.PRINTED_WIDTH:\n case DesignName.PRINTED_HEIGHT: {\n this._labelPlaceholder = label;\n this._labelPlaceholder.set('shadow', this._shadow);\n break;\n }\n case DesignName.BENT_ON_EDGE: {\n const markerLeft = new fabric.Rect({\n width: 7 * scale,\n height: height * scale,\n fill: 'rgba(194,196,195,1)',\n strokeWidth: 0.2,\n strokeDashArray: [1, 1],\n stroke: 'black'\n });\n const markerRight = fabric.util.object.clone(markerLeft);\n label.left = markerLeft.width;\n markerRight.left = label.left + label.width;\n\n this._labelPlaceholder = new fabric.Group([label, markerLeft, markerRight], {\n width: width * scale + markerLeft.width * 2,\n height: height * scale,\n shadow: this._shadow\n });\n break;\n }\n case DesignName.BENT_ON_END: {\n const markerBottom = fabric.util.object.clone(markerTop);\n label.top = markerTop.height;\n markerBottom.top = label.top + label.height;\n\n this._labelPlaceholder = new fabric.Group([label, markerTop, markerBottom], {\n width: width * scale,\n height: height * scale + markerTop.height * 2,\n shadow: this._shadow\n });\n break;\n }\n case DesignName.BENT_ON_HALF: {\n label.set('height', height * scale / 2);\n const labelBack = fabric.util.object.clone(label);\n labelBack.top = label.top + label.height + 0.5;\n\n this._labelPlaceholder = new fabric.Group([label, labelBack], {\n width: width * scale,\n height: height * scale,\n shadow: this._shadow\n });\n break;\n }\n case DesignName.BENT_ON_HALF_HEIGHT: {\n label.set('width', width * scale / 2);\n const labelBack = fabric.util.object.clone(label);\n labelBack.left = label.left + label.width + 0.5;\n\n this._labelPlaceholder = new fabric.Group([label, labelBack], {\n width: width * scale,\n height: height * scale,\n shadow: this._shadow\n });\n break;\n }\n case DesignName.CUT_INTO_SHAPE: {\n label.set('stroke', 'rgba(194,196,195,1)');\n label.set('strokeWidth', 7 * scale);\n\n this._labelPlaceholder = label;\n this._labelPlaceholder.set('shadow', this._shadow);\n break;\n }\n case DesignName.ZIPPED: {\n label.set('height', height * scale / 2);\n const holeFrontSide = new fabric.Rect({\n originX: 'right',\n originY: 'center',\n left: 15 * scale,\n top: 5 * scale,\n width: 10 * scale,\n height: 1 * scale,\n fill: 'rgba(227, 229, 232,1)'\n });\n const labelBack = fabric.util.object.clone(label);\n const holeBackSide = fabric.util.object.clone(holeFrontSide);\n\n const subGroup1 = new fabric.Group([label, holeFrontSide], {\n top: 0\n });\n const subGroup2 = new fabric.Group([labelBack, holeBackSide], {\n top: subGroup1.top + label.height + 0.5\n });\n\n this._labelPlaceholder = new fabric.Group([subGroup1, subGroup2], {\n width: width * scale,\n height: height * scale,\n shadow: this._shadow\n });\n break;\n }\n case DesignName.SIZE_SIMPLE: {\n label.top = markerTop.top + markerTop.height;\n const text = new fabric.Text('38', {\n fontSize: 64,\n fill: 'rgba(194,196,195,1)',\n fontWeight: 'bold',\n top: markerTop.height + 20\n });\n text.left = label.width / 2 - text.width / 2;\n\n this._labelPlaceholder = new fabric.Group([label, markerTop, text], {\n width: width * scale,\n height: height * scale + markerTop.height,\n shadow: this._shadow\n });\n break;\n }\n case DesignName.SIZE_BENT: {\n const markerBottom = fabric.util.object.clone(markerTop);\n label.top = markerTop.top + markerTop.height;\n markerBottom.top = label.top + label.height;\n const textTop = new fabric.Text('38', {\n fontSize: 64,\n fill: 'rgba(194,196,195,1)',\n fontWeight: 'bold',\n top: markerTop.height + 20\n });\n textTop.left = label.width / 2 - textTop.width / 2;\n const textBottom = fabric.util.object.clone(textTop);\n textBottom.top = markerBottom.top - textBottom.height - 20;\n\n this._labelPlaceholder = new fabric.Group([label, markerTop, markerBottom, textTop, textBottom], {\n width: width * scale,\n height: height * scale + markerTop.height * 2,\n shadow: this._shadow\n });\n break;\n }\n }\n\n this._labelPlaceholder.id = Generator.ID();\n this._labelPlaceholder.objectType = CanvasObjectType.LABEL;\n this._labelPlaceholder.scaleFactor = scale;\n this._labelPlaceholder.labelType = labelDesign.category;\n this._labelPlaceholder.labelDesign = design;\n this.setLabelDefaults(this._labelPlaceholder);\n this._canvasElements.push(new CanvasElement(this._labelPlaceholder));\n this._canvas.add(this._labelPlaceholder);\n this._labelPlaceholder.center().setCoords();\n this._canvas.setActiveObject(this._labelPlaceholder);\n if (!isProductPreview) {\n this._document.dispatchEvent(new CustomEvent(event.editor.COLOR_ADD, {\n detail: {\n color: new Color(255, 255, 255, 1),\n componentId: this._labelPlaceholder.id\n }\n }));\n }\n return this._labelPlaceholder.id;\n }\n\n /**\n * Prevent moving an object off the canvas, in part for the placeholder label and for other objects in whole\n * @param e\n */\n private static preventMovingOutOfCanvas(e: any): void {\n let obj = e;\n\n // if object is too big ignore\n if (obj.currentHeight > obj.canvas.height || obj.currentWidth > obj.canvas.width) {\n return;\n }\n\n obj.setCoords();\n\n // prevent for label placeholder\n if (e.objectType === CanvasObjectType.LABEL) {\n // top-left corner\n if (obj.getBoundingRect().top < 0 || obj.getBoundingRect().left < 0) {\n obj.top = Math.max(obj.top, obj.top - obj.getBoundingRect().top);\n obj.left = Math.max(obj.left, obj.left - obj.getBoundingRect().left);\n }\n // bot-right corner\n if (obj.getBoundingRect().top + obj.getBoundingRect().height > obj.canvas.height || obj.getBoundingRect().left + obj.getBoundingRect().width > obj.canvas.width) {\n obj.top = Math.min(obj.top, obj.canvas.height - obj.getBoundingRect().height + obj.top - obj.getBoundingRect().top);\n obj.left = Math.min(obj.left, obj.canvas.width - obj.getBoundingRect().width + obj.left - obj.getBoundingRect().left);\n }\n // prevent for other objects\n } else {\n // top-left corner\n if (obj.getBoundingRect().top > obj.canvas.height - 10 || obj.getBoundingRect().left > obj.canvas.width - 10) {\n obj.top = Math.min(obj.getBoundingRect().top, obj.canvas.height - 10);\n obj.left = Math.min(obj.getBoundingRect().left, obj.canvas.width - 10);\n }\n // bot-right corner\n if (obj.getBoundingRect().top + obj.getBoundingRect().height < 10 || obj.getBoundingRect().left + obj.getBoundingRect().width < 10) {\n obj.top = Math.max(obj.getBoundingRect().top, obj.getBoundingRect().height * -1 + 10);\n obj.left = Math.max(obj.getBoundingRect().left, obj.getBoundingRect().width * -1 + 10);\n }\n }\n }\n\n /**\n * Deleting active objects\n */\n public deleteActiveObjects() {\n const objects = this._canvas.getActiveObjects();\n let isClear = false;\n\n // find label placeholder in active objects\n for (let obj of objects) {\n if (obj.objectType === CanvasObjectType.LABEL) {\n isClear = true;\n break;\n }\n }\n // if label placeholder is active then clear all objects in canvas, otherwise only active objects\n if (isClear) {\n this._document.dispatchEvent(new CustomEvent(event.order.RESET_GRAPHIC));\n } else {\n objects.forEach((obj: any) => {\n this._document.dispatchEvent(new CustomEvent(event.editor.COLOR_REMOVE, {\n detail: {\n componentId: obj.id,\n color: obj.fill\n }\n }));\n\n this.removeCanvasElement(obj);\n this._canvas.remove(obj);\n\n // removing images\n if (obj.hasOwnProperty('_element')) {\n if (obj._element.className == 'canvas-img') {\n this._document.dispatchEvent(new CustomEvent(event.label.REMOVE_IMAGE, {\n detail: {\n componentId: obj.id\n }\n }));\n }\n }\n });\n this._canvas.discardActiveObject();\n this._document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n }\n\n public downloadLabel(): string {\n let dataURL = '';\n if (this._labelPlaceholder) {\n const strokeWidth = this._labelPlaceholder.strokeWidth;\n this._labelPlaceholder._shadow = null;\n this._labelPlaceholder.strokeWidth = 0;\n\n let label = new CanvasElement(this._labelPlaceholder);\n let actualLabelFill: any = label.fill;\n if (typeof label.fill == 'string') {\n actualLabelFill = Converter.toPickerColor(label.fill);\n }\n // if actual label fill is same as default then make it transparent\n if (actualLabelFill.rgba === this.configLoaderService.getConfig().canvas.labelInitBackground) {\n label.opacity = 0;\n }\n\n dataURL = this._canvas.toDataURL({\n left: this.getBodyLeft(),\n top: this.getBodyTop(),\n width: this.getBodyWidth(),\n height: this.getBodyHeight(),\n format: 'png',\n multiplier: 5\n });\n this._labelPlaceholder._shadow = this._shadow;\n this._labelPlaceholder.strokeWidth = strokeWidth;\n label.opacity = actualLabelFill.a;\n }\n return dataURL;\n }\n\n /**\n * Deselect active objects\n */\n public deselectActiveObjects(): void {\n this._canvas.discardActiveObject();\n this._document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n /**\n * Move active object with keyboard\n * @param direction - direction of movement\n */\n public moveActiveObjects(direction: string): void {\n let object = this._canvas.getActiveObject();\n\n if (!object) {\n return;\n }\n\n // if some element has locked movement then return\n for (let obj of this._canvas.getActiveObjects()) {\n if (obj.lockMovementX && (direction === 'left' || direction === 'right')) {\n return;\n }\n if (obj.lockMovementY && (direction === 'up' || direction === 'down')) {\n return;\n }\n }\n\n // moving with check for canvas border\n if (direction === 'left' && object.left >= object.width * -1 + 10) {\n object.left -= 1;\n } else if (direction === 'up' && object.top >= object.height * -1 + 10) {\n object.top -= 1;\n } else if (direction === 'right' && object.left <= this._canvas.width - 10) {\n object.left += 1;\n } else if (direction === 'down' && object.top <= this._canvas.height - 10) {\n object.top += 1;\n }\n object.setCoords();\n this._document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n private getBodyWidth(): any {\n let labelBody = this.getBody();\n if (labelBody != null) {\n return labelBody.get('width');\n }\n return 0;\n }\n\n private getBodyHeight(): any {\n let labelBody = this.getBody();\n if (labelBody != null) {\n return labelBody.get('height');\n }\n return 0;\n }\n\n private getBodyLeft(): any {\n let labelBody = this.getBody();\n if (this.findCanvasElement(this._labelPlaceholder.id).isPreview()) {\n return labelBody.left;\n }\n if (labelBody != null) {\n switch (this._labelPlaceholder.labelDesign) {\n case DesignName.CUT_INTO_SHAPE:\n case DesignName.STRIP:\n case DesignName.PRINTED_WIDTH:\n case DesignName.PRINTED_HEIGHT:\n case DesignName.BENT_ON_HALF:\n case DesignName.BENT_ON_HALF_HEIGHT:\n case DesignName.ZIPPED: {\n return labelBody.left;\n }\n case DesignName.SIZE_SIMPLE:\n case DesignName.SIZE_BENT:\n case DesignName.BENT_ON_EDGE:\n case DesignName.BENT_ON_END: {\n return this._labelPlaceholder.calcTransformMatrix()[4] + labelBody.left;\n }\n }\n }\n return 0;\n }\n\n private getBodyTop(): any {\n let labelBody = this.getBody();\n if (this.findCanvasElement(this._labelPlaceholder.id).isPreview()) {\n return labelBody.top;\n }\n if (labelBody != null) {\n switch (this._labelPlaceholder.labelDesign) {\n case DesignName.CUT_INTO_SHAPE:\n case DesignName.STRIP:\n case DesignName.PRINTED_WIDTH:\n case DesignName.PRINTED_HEIGHT:\n case DesignName.BENT_ON_HALF:\n case DesignName.BENT_ON_HALF_HEIGHT:\n case DesignName.ZIPPED: {\n return labelBody.top;\n }\n case DesignName.SIZE_SIMPLE:\n case DesignName.SIZE_BENT:\n case DesignName.BENT_ON_EDGE:\n case DesignName.BENT_ON_END: {\n return this._labelPlaceholder.calcTransformMatrix()[5] + labelBody.top;\n }\n }\n }\n return 0;\n }\n\n getBody(): any {\n if (this._labelPlaceholder != null) {\n if (this.findCanvasElement(this._labelPlaceholder.id).isPreview()) {\n return this._labelPlaceholder;\n }\n switch (this._labelPlaceholder.labelDesign) {\n case DesignName.CUT_INTO_SHAPE:\n case DesignName.STRIP:\n case DesignName.PRINTED_WIDTH:\n case DesignName.PRINTED_HEIGHT:\n case DesignName.BENT_ON_HALF:\n case DesignName.BENT_ON_HALF_HEIGHT:\n case DesignName.ZIPPED: {\n return this._labelPlaceholder;\n }\n case DesignName.SIZE_SIMPLE:\n case DesignName.SIZE_BENT:\n case DesignName.BENT_ON_EDGE:\n case DesignName.BENT_ON_END: {\n return this._labelPlaceholder._objects[0];\n }\n }\n }\n return null;\n }\n\n getLabel() {\n return this._labelPlaceholder;\n }\n\n /**\n * Get current object index on canvas\n */\n getCurrentObjectIndex(obj: CanvasElement): number {\n return this._canvas.getObjects().indexOf(obj.content);\n }\n\n /**\n * Is object behind all canvas objects except label\n */\n isObjectOnBack(obj: CanvasElement): boolean {\n return this.getCurrentObjectIndex(obj) <= 1 ? true : false;\n }\n\n /**\n * Is object front of all canvas objects\n */\n isObjectOnFront(obj: CanvasElement): boolean {\n return this.getCurrentObjectIndex(obj) == this._canvas.getObjects().length - 1 ? true : false;\n }\n\n /**\n * Send object behind all canvas objects except label\n */\n sendToBack(obj: CanvasElement): void {\n if (!this.isObjectOnBack(obj)) {\n obj.sendToBack();\n obj.bringForward();\n this._document.dispatchEvent(new Event(event.canvas.REFRESH_LAYER_CONTROLS));\n }\n }\n\n /**\n * Send object one position behind\n */\n sendBackwards(obj: CanvasElement): void {\n if (!this.isObjectOnBack(obj)) {\n obj.sendBackwards();\n this._document.dispatchEvent(new Event(event.canvas.REFRESH_LAYER_CONTROLS));\n }\n }\n\n /**\n * Bring object one position forward\n */\n bringForward(obj: CanvasElement): void {\n if (!this.isObjectOnFront(obj)) {\n obj.bringForward();\n this._document.dispatchEvent(new Event(event.canvas.REFRESH_LAYER_CONTROLS));\n }\n }\n\n /**\n * Bring object to front of all canvas objects\n */\n bringToFront(obj: CanvasElement): void {\n if (!this.isObjectOnFront(obj)) {\n obj.bringToFront();\n this._document.dispatchEvent(new Event(event.canvas.REFRESH_LAYER_CONTROLS));\n }\n }\n\n public changeLabelColor(color: Color) {\n this.getBody().fill = color;\n document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n private setLabelDefaults(clazz: any): void {\n clazz.lockMovementX = true;\n clazz.lockMovementY = true;\n clazz.lockRotation = true;\n clazz.lockUniScaling = true;\n clazz.centeredScaling = true;\n clazz.setControlsVisibility({\n 'tl': false,\n 'tr': false,\n 'bl': false,\n 'br': false,\n 'mt': false,\n 'mb': false,\n 'ml': false,\n 'mr': false,\n 'mtr': false\n });\n }\n\n private setTextDefaults(text: any): void {\n text.hoverCursor = 'move';\n }\n\n private setImageDefaults(image: any): void {\n image.hoverCursor = 'move';\n }\n\n public loadHistoryProductLabel(url: string, labelDesign: LabelDesign, width: number, height: number): string {\n this._labelPlaceholder = undefined;\n let vThis = this;\n let id = Generator.ID();\n let preview = new fabric.Text('PREVIEW', {\n fontSize: 20,\n fill: '#ffffff',\n left: 5,\n top: 5,\n fontFamily: 'Arial',\n shadow: new fabric.Shadow({\n color: \"rgb(150,150,150)\",\n blur: 0,\n offsetX: 2,\n offsetY: 2\n })\n });\n this.ajaxLoaderService.show(() => {\n let i = new Image();\n i.onload = function () {\n fabric.Image.fromURL(url, function (img) {\n if (img.width !== undefined && img.height !== undefined && img.width > 0 && img.height > 0) {\n vThis.clearCanvas();\n img.scaleToWidth(width * labelDesign.scale);\n img.scaleToHeight(height * labelDesign.scale);\n vThis._labelPlaceholder = new fabric.Group([img, preview], {\n shadow: vThis._shadow\n });\n vThis._labelPlaceholder.id = id;\n vThis._labelPlaceholder.objectType = CanvasObjectType.LABEL;\n vThis._labelPlaceholder.scaleFactor = labelDesign.scale;\n vThis._labelPlaceholder.labelType = labelDesign.category;\n vThis._labelPlaceholder.labelDesign = labelDesign.name;\n vThis.setLabelDefaults(vThis._labelPlaceholder);\n vThis._canvasElements.push(new CanvasElement(vThis._labelPlaceholder, null, true));\n\n // add new label to canvas\n vThis._canvas.add(vThis._labelPlaceholder);\n // align center/middle\n vThis._labelPlaceholder.center().setCoords();\n // set active\n vThis._canvas.setActiveObject(vThis._labelPlaceholder);\n vThis.ajaxLoaderService.hide();\n }\n }, {crossOrigin: 'anonymous'});\n }\n i.onerror = function () {\n console.warn('Unable to load image, dummy placeholder will be placed instead!');\n vThis.ajaxLoaderService.hide();\n return vThis.addLabelPlaceholder(labelDesign, true);\n }\n i.src = url;\n });\n\n return id;\n }\n\n private scaleObject(object, group) {\n if (object.objectType == CanvasObjectType.TEXT) {\n let currentFontSize = object.currentFontSize;\n //zmensovanie textu\n if (group.scaleX < group.currentScaleX || group.scaleY < group.currentScaleY) {\n if (currentFontSize >= this._minFontSize) {\n this.scalingText(object, group);\n } else {\n if (group.objectType == CanvasObjectType.TEXT) {\n this.resetTextScale(group);\n }\n object.fontSize = this._minFontSize;\n this._document.dispatchEvent(new CustomEvent(event.canvas.FONT_RESIZE, {\n detail: {\n id: object.id,\n size: this._minFontSize\n }\n }));\n }\n } else {\n //zvacsovanie textu\n if (currentFontSize <= this._maxFontSize) {\n this.scalingText(object, group);\n } else {\n if (group.objectType == CanvasObjectType.TEXT) {\n this.resetTextScale(group);\n }\n object.fontSize = this._maxFontSize;\n this._document.dispatchEvent(new CustomEvent(event.canvas.FONT_RESIZE, {\n detail: {\n id: object.id,\n size: this._maxFontSize\n }\n }));\n }\n }\n }\n }\n}\n","export class Generator {\n\n public static ID(): string {\n // Math.random should be unique because of its seeding algorithm.\n // Convert it to base 36 (numbers + letters), and grab the first 9 characters\n // after the decimal.\n return '_' + Math.random().toString(36).substr(2, 9);\n }\n\n}\n","export enum CanvasObjectType {\n LABEL = 'label',\n TEXT = 'text',\n IMAGE = 'image',\n GROUP = 'group'\n}\n","export enum PrintedLabelColors {\n GOLD = '#8b7656',\n BRONZE = '#756560',\n CYAN = '#0077c8',\n BLUE = '#002f6c',\n GREEN = '#009775',\n YELLOW = '#fedd00',\n PURPLE = '#f57eb6',\n GRAY = '#898d8d',\n SILVER = '#6a7980',\n WHITE = '#ffffff',\n BLACK = '#000000',\n RED = '#ee2737',\n CREAM = '#fffdd0',\n NONE = 'Other'\n}\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\n\n@Component({\n selector: 'confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.css']\n})\nexport class ConfirmationDialogComponent implements OnInit {\n\n constructor(private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public message: string) {\n }\n\n ngOnInit() {\n }\n\n confirm() {\n this.dialogRef.close(true);\n }\n\n close() {\n this.dialogRef.close(false);\n }\n\n}\n","{{message}}\n\n \n \n\n","import {ChangeDetectorRef, Component} from '@angular/core';\nimport {OrderService} from \"../../../service/order.service\";\nimport {LabelTypes} from \"../../../../assets/data/label-types\";\nimport {Category} from \"../../../model/enum/category\";\nimport {Converter} from \"../../../utils/converter\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {Product} from \"../../../model/order/product\";\nimport {Order} from \"../../../model/order/order\";\nimport {LocaleService} from \"../../../service/locale.service\";\nimport {DesignUtil} from \"../../../utils/design-util\";\n\n@Component({\n selector: 'app-order-detail',\n templateUrl: './order-detail.component.html',\n styleUrls: ['./order-detail.component.css']\n})\nexport class OrderDetailComponent {\n\n order: Order | null = null;\n loading: boolean = false;\n labelImage: any[] = [];\n labelTypeEnum = Category;\n isNotFound: boolean = false;\n\n constructor(\n private orderService: OrderService,\n private router: Router,\n private route: ActivatedRoute,\n private ref: ChangeDetectorRef,\n public localeService: LocaleService\n ) {\n const orderId: number = Number(this.route.snapshot.paramMap.get('id'));\n this.loading = true;\n this.orderService.getOrderDetail(orderId).then((response: any) => {\n this.order = Converter.toReceivedOrder(response);\n\n response.orderProducts.forEach((orderProduct) => {\n if (orderProduct.product.hasImage) {\n this.orderService.getOrderImage(orderProduct.product.productId).then(image => {\n let reader = new FileReader();\n reader.addEventListener(\"load\", () => {\n this.labelImage[orderProduct.product.productId] = reader.result;\n this.ref.detectChanges();\n }, false);\n if (image) {\n reader.readAsDataURL(image);\n }\n });\n }\n });\n\n this.ref.detectChanges();\n }).catch(() => {\n this.isNotFound = true;\n this.ref.detectChanges();\n }).finally(() => {\n this.loading = false;\n this.ref.detectChanges();\n });\n }\n\n public typeName(product) {\n const labelType = LabelTypes.find(i => i.name == product?.kind)?.label;\n if (labelType) {\n return labelType;\n }\n return $localize`:@@unspecified:`;\n }\n\n public designName(product: Product) {\n let labelDesign = DesignUtil.recognize(product.kind, product.processing, product.width, product.height);\n if (labelDesign != null) {\n return labelDesign.label;\n }\n return $localize`:@@unspecified:`;\n }\n\n public dimensions(product: Product) {\n return product?.processing ? product?.width + ' x ' + product?.height + ' mm' : null;\n }\n\n public cutLabel(product: Product) {\n return product?.cut ? $localize`:@@yes:` : $localize`:@@no:`;\n }\n\n public numberOfColors(product: Product) {\n return product?.colors != null ? product.colors.length : 0;\n }\n\n public colors(product: Product) {\n return product?.colors != null ? product.colors : [];\n }\n\n downloadLabel(id) {\n const data = this.labelImage[id];\n const link = document.createElement('a');\n link.download = 'moja_etiketa.png';\n link.href = data;\n link.click();\n }\n\n isCarvable(product: Product): boolean {\n const processingType = DesignUtil.recognize(product.kind, product.processing, product.width, product.height)?.proccessingType;\n return processingType === 'cut';\n }\n\n public type(product: Product) {\n return product?.kind;\n }\n\n public design(product: Product) {\n return product?.processing;\n }\n\n public goToOrderHistory(): void {\n this.router.navigate(['order-history']);\n }\n\n public isOrderFound(): boolean {\n return this.order != null;\n }\n}\n","
\n
\n \n \n  \n \n \n \n
\n
\"label\"/
\n
\n \n
\n
\n
\n
 
\n
{{typeName(orderProduct.product)}}
\n
\n
\n
 
\n
{{designName(orderProduct.product)}}
\n
\n
\n
 
\n
{{dimensions(orderProduct.product)}}
\n
\n
\n
 
\n
{{cutLabel(orderProduct.product)}}
\n
\n
\n
 
\n
{{orderProduct.quantity}}
\n
\n
\n
 
\n {{orderProduct.clientPrice | currency :\"EUR\" : 'symbol' : '1.3'}}
\n {{orderProduct.price | currency :\"EUR\" : 'symbol' : '1.3'}}
\n
\n
\n
 
\n {orderProduct.product.materialType.toUpperCase(), select, NYLON{Nylon} SATIN{Satin}}
\n \n
\n
 
\n
{{numberOfColors(orderProduct.product)}}
\n
\n
\n
 
\n
\n
\n
\n
\n
\n
 
\n
{{orderProduct.note}}
\n
\n
\n \n
\n
 
\n
{{order.note}}
\n
\n
\n
 
\n
{{localeService.deliveryType(order.deliveryMethod)}}
\n
\n
\n
 
\n
{{localeService.paymentType(order.paymentType)}}
\n
\n
\n
 
\n
{{localeService.orderStatus(order.status)}}
\n
\n
\n
 
\n
{{order.addedDate | date:'d.M.y HH:mm'}}
\n
\n
\n
 
\n {{order.completionDate | date:'d.M.y HH:mm'}}
\n
-
\n \n \n \n  \n  \n  \n \n \n \n

\n
\n \n \n\n","import {Component, EventEmitter, Inject, OnInit, Output, ViewChild} from '@angular/core';\nimport {StepperSelectionEvent} from \"@angular/cdk/stepper\";\nimport {MatStepper} from \"@angular/material/stepper\";\nimport {event} from \"../../model/event\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {OrderService} from \"../../service/order.service\";\nimport {AccountService} from \"../../service/account.service\";\n\n@Component({\n selector: 'app-status-bar',\n templateUrl: './status-bar.component.html',\n styleUrls: ['./status-bar.component.css']\n})\nexport class StatusBarComponent {\n\n @Output()\n stepEvent = new EventEmitter();\n\n @Output()\n submitEvent = new EventEmitter();\n\n @ViewChild('stepper', {static: false})\n private stepper: MatStepper;\n\n submitOrderDisabled = false;\n private isBillingAddress = false;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private orderService: OrderService,\n private accountService: AccountService) {\n document.addEventListener(event.order.SUBMIT_AVAILABLE, (e: any) => {\n this.submitOrderDisabled = !e.detail;\n });\n document.addEventListener(event.order.BILLING_ADDRESS, (e: any) => {\n this.isBillingAddress = e.detail;\n });\n }\n\n stepChange(e: StepperSelectionEvent) {\n this.orderService.saveCanvasJson();\n this.stepEvent.emit(e.selectedIndex);\n }\n\n goBack() {\n this.stepper.previous();\n }\n\n goForward() {\n this.orderService.saveCanvasJson();\n this.stepper.next();\n }\n\n submit() {\n this.submitEvent.emit();\n }\n\n reset() {\n this.stepper.reset();\n }\n\n secondStepAvailable(): boolean {\n return this.orderService.order.getOrderProduct().product.processing != null;\n }\n\n thirdStepAvailable(): boolean {\n return this.accountService.authenticated &&\n this.secondStepAvailable() &&\n this.orderService.isAddressComplete() &&\n this.orderService.order.deliveryMethod != null &&\n this.orderService.order.paymentType != null &&\n this.orderService.quantityWithinBounds() &&\n this.isBillingAddress;\n }\n}\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 {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {AccountService} from \"../../../service/account.service\";\nimport {AlertService} from \"../../../service/alert.service\";\nimport {first} from \"rxjs/operators\";\nimport {OrderService} from \"../../../service/order.service\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {PasswordResetComponent} from \"../../dialogs/password-reset/password-reset.component\";\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n\n private readonly _form: FormGroup;\n private _submitted = false;\n private _returnUrl: string = '/dashboard';\n\n constructor(\n private formBuilder: FormBuilder,\n private route: ActivatedRoute,\n private router: Router,\n public accountService: AccountService,\n private alertService: AlertService,\n private orderService: OrderService,\n private matDialog: MatDialog) {\n // redirect to home if already logged in\n if (this.accountService.authenticated) {\n this.router.navigate(['/']);\n }\n\n this._form = this.formBuilder.group({\n login: ['', Validators.required],\n password: ['', Validators.required]\n });\n }\n\n ngOnInit() {\n // get return url from route parameters or default to '/'\n this._returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/dashboard';\n }\n\n get login() {\n return this._form.get('login');\n }\n\n get password() {\n return this._form.get('password');\n }\n\n onSubmit() {\n this._submitted = true;\n\n // stop here if form is invalid\n if (this._form.invalid) {\n return;\n }\n\n this.accountService.login(this.login?.value, this.password?.value)\n .pipe(first())\n .subscribe(\n () => {\n let routeLink = 'activation';\n let currentUser = this.accountService.getCurrentUser();\n if (currentUser != null && currentUser.activated) {\n routeLink = this._returnUrl;\n if (this.orderService.isOrderChanged) {\n routeLink = '/';\n }\n }\n this.router.navigate([routeLink], {\n queryParams: {\n \"login\": \"true\"\n }\n });\n },\n errorResponse => {\n const alternateErrorText = $localize`:@@loginErrorAlternateText:`;\n this.alertService.error(errorResponse.error.code, {'alternateErrorText': alternateErrorText});\n });\n }\n\n get submitted() {\n return this._submitted;\n }\n\n get form() {\n return this._form;\n }\n\n public passwordReset(): void {\n this.matDialog.open(PasswordResetComponent, {\n width: '90%',\n maxWidth: '500pt',\n panelClass: 'homePanel'\n });\n }\n}\n","
\n
\n \n \n \n \n \n
\n \n  \n \n \n  \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, Inject, OnInit, ViewChild, AfterViewInit} from '@angular/core';\nimport {Step} from \"../../model/step\";\nimport {FormBuilder} from \"@angular/forms\";\nimport {AlertService} from \"../../service/alert.service\";\nimport {HttpClient} from \"@angular/common/http\";\nimport {Converter} from \"../../utils/converter\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {EditorComponent} from \"../editor/editor.component\";\nimport {Dialog} from \"../../utils/dialog\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {StatusBarComponent} from \"../status-bar/status-bar.component\";\nimport {event} from \"../../model/event\";\nimport {AccountService} from \"../../service/account.service\";\nimport {PriceCalculationService} from \"../../service/price-calculation.service\";\nimport {OrderService} from \"../../service/order.service\";\nimport {ColorService} from \"../../service/color.service\";\nimport {ProductImageService} from \"../../service/product-image.service\";\nimport {HomeComponent} from \"../dialogs/home/home.component\";\n\n@Component({\n selector: 'app-order',\n templateUrl: './order.component.html',\n styleUrls: ['./order.component.css']\n})\nexport class OrderComponent implements OnInit, AfterViewInit {\n\n private steps: Step[] = [];\n private dialog: Dialog;\n private document: Document;\n private _isSummaryVisible = false;\n\n @ViewChild(EditorComponent)\n editor: EditorComponent;\n\n @ViewChild(StatusBarComponent)\n statusBar: StatusBarComponent;\n\n private _preselectedTab: string | null;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private fb: FormBuilder,\n private httpClient: HttpClient,\n private alertService: AlertService,\n private router: Router,\n private route: ActivatedRoute,\n private matDialog: MatDialog,\n private accountService: AccountService,\n private priceCalculationService: PriceCalculationService,\n private orderService: OrderService,\n private colorService: ColorService) {\n const vThis = this;\n this.document = document;\n this.dialog = new Dialog(matDialog);\n\n this.steps.push(new Step('editor'));\n this.steps.push(new Step('deliveryDetails'));\n this.steps.push(new Step('summary'));\n\n this._preselectedTab = this.route.snapshot.queryParamMap.get('tab');\n this.toggleStep(0);\n\n document.addEventListener(event.editor.COLOR_ADD, (e: any) => {\n this.colorService.add(e.detail.color, e.detail.componentId);\n this.orderService.setProductColors(this.colorService.getColorsAsHex());\n document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n });\n\n document.addEventListener(event.editor.COLOR_REMOVE, (e: any) => {\n this.colorService.remove(e.detail.color, e.detail.componentId);\n this.orderService.setProductColors(this.colorService.getColorsAsHex());\n document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n });\n\n document.addEventListener(event.editor.COLOR_CHANGE, (e: any) => {\n this.colorService.updateColor(e.detail.source, e.detail.target, e.detail.componentId);\n this.orderService.setProductColors(this.colorService.getColorsAsHex());\n document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n });\n\n document.addEventListener(event.editor.OPEN_TYPE, (e: any) => {\n if (!this.step('editor')) {\n if (this.step('summary')) {\n this.statusBar.goBack();\n }\n this.statusBar.goBack();\n }\n });\n\n document.addEventListener(event.order.RESET, () => {\n this.orderService.reset();\n this.colorService.reset();\n this.priceCalculationService.reset();\n });\n\n document.addEventListener(event.editor.OPEN_HOME, (e) => {\n this.openHomeDialog();\n e.stopImmediatePropagation();\n });\n\n [event.label.CHANGE_TYPE, event.label.CHANGE_DESIGN].forEach(function (event) {\n document.addEventListener(event, () => {\n vThis.orderService.resetQuantity();\n });\n });\n }\n\n ngAfterViewInit(): void {\n if (this._preselectedTab) {\n for (let i = 0; i < Number(this._preselectedTab); i++) {\n this.statusBar.goForward();\n }\n }\n }\n\n ngOnInit(): void {\n }\n\n /**\n * Reinitialize order\n */\n async reinitialiseEditor() {\n if (this.orderService.isOrderChanged) {\n this.document.dispatchEvent(new CustomEvent(event.order.RESET));\n this.document.dispatchEvent(new CustomEvent(event.label.REMOVE_ALL_IMAGES));\n this.editor.toolbar.disableIcons();\n this.statusBar.reset();\n if (!this.step('editor')) {\n this.toggleStep(0);\n }\n this.editor.openPalette('type');\n }\n }\n\n toggleStep(e: number) {\n let url = this.router.url.substring(0, this.router.url.indexOf('?'));\n this.router.navigate([url], {\n queryParams: {\n \"tab\": e\n },\n queryParamsHandling: 'merge'\n });\n\n this.steps.forEach((value, index) => {\n if (index === e) {\n value.visible = !value.visible;\n } else {\n value.visible = false;\n }\n });\n\n this._isSummaryVisible = this.steps[this.steps.map(e => e.name).indexOf('summary')].visible;\n }\n\n get isSummaryVisible() {\n return this._isSummaryVisible;\n }\n\n public step(name: string): boolean {\n for (let i = 0; i < this.steps.length; i++) {\n if (this.steps[i].name === name) {\n return this.steps[i].visible;\n }\n }\n return false;\n }\n\n async submitOrder() {\n if (!this.orderService.termsAndConditions) {\n if (await this.dialog.confirmDialog($localize`:@@missingTermsAndConditions:`)) {\n this.orderService.termsAndConditions = true;\n document.dispatchEvent(new CustomEvent(event.order.TERMS_AND_CONDITIONS))\n } else {\n return;\n }\n }\n if (this.colorService.getColorsAsHex().length > this.colorService.numberOfAvailableColors()) {\n await this.dialog.confirmDialog($localize`:@@exceededColorLimit:`);\n return;\n }\n if (this.accountService.authenticated) {\n this.document.dispatchEvent(new CustomEvent(event.order.SUBMIT_AVAILABLE, {detail: false}));\n // dummy data, sending real data will be implemented in next tasks\n this.orderService.finalizeData();\n const convertedOrder = Converter.toSendOrder(this.orderService.order);\n const formData: any = new FormData();\n formData.append(\"orderModel\", JSON.stringify(convertedOrder));\n if (this.orderService.order.getOrderProduct().product.productId === 0) {\n this.orderService.order.getOrderProducts().forEach((op) => {\n formData.append(\"images\", Converter.dataURItoBlob(op.image));\n });\n this.orderService.getAttachments().forEach(v => {\n formData.append(\"attachments\", v.file);\n });\n }\n\n this.orderService.submitOrder(formData).subscribe(\n (response) => {\n this.document.dispatchEvent(new CustomEvent(event.order.SUBMIT_AVAILABLE, {detail: true}));\n this.alertService.success(response.message);\n // release order lock in case locked\n this.orderService.order.getOrderProduct().locked = false;\n this.reinitialiseEditor();\n this.router.navigate(['/order-history']);\n },\n (error) => {\n this.document.dispatchEvent(new CustomEvent(event.order.SUBMIT_AVAILABLE, {detail: true}));\n this.alertService.error(error.error);\n }\n )\n } else {\n if (await this.dialog.confirmDialog($localize`:@@notLoggedAlert:`)) {\n this.router.navigate(['/login']);\n }\n }\n }\n\n private openHomeDialog(): void {\n this.matDialog.open(HomeComponent, {\n width: '90%',\n maxWidth: '500pt',\n panelClass: 'homePanel',\n data: {}\n });\n }\n}\n","
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n\n
\n \n
\n","import {MaterialName} from '../../app/model/enum/material-name';\nimport {Material} from '../../app/model/label/material';\nimport {PrintedLabelColors} from \"../../app/model/enum/printed-label-colors\";\n\nexport const LabelMaterials: Material[] = [\n new Material(MaterialName.NYLON, new Map([\n [PrintedLabelColors.BLACK, 'BLACK'],\n [PrintedLabelColors.WHITE, 'WHITE']\n ])),\n new Material(MaterialName.SATIN, new Map([\n [PrintedLabelColors.BLACK, 'BLACK'],\n [PrintedLabelColors.WHITE, 'WHITE'],\n [PrintedLabelColors.RED, 'RED'],\n [PrintedLabelColors.CREAM, 'CREAM']\n ])),\n ]\n;\n","import {ChangeDetectorRef, Component, ViewContainerRef} from '@angular/core';\nimport {AjaxLoaderService} from \"../../service/ajax-loader.service\";\nimport {Overlay, OverlayConfig, OverlayRef} from \"@angular/cdk/overlay\";\nimport {ComponentPortal} from \"@angular/cdk/portal\";\n\n@Component({\n selector: 'app-ajax-loader',\n template: ''\n})\nexport class AjaxLoaderComponent {\n\n private _overlayRef: OverlayRef | null = null;\n private _overlayConfig: OverlayConfig = new OverlayConfig();\n\n constructor(private ajaxLoaderService: AjaxLoaderService,\n private changeDetectorRef: ChangeDetectorRef,\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef) {\n this._overlayConfig.positionStrategy = this.overlay.position()\n .global()\n .left(`0px`)\n .top(`0px`);\n this._overlayConfig.hasBackdrop = true;\n\n ajaxLoaderService.stateChange((isInProgress) => {\n if (isInProgress) {\n this._overlayRef = this.overlay.create(this._overlayConfig);\n this._overlayRef.attach(new ComponentPortal(AjaxLoaderOverlayComponent, this.viewContainerRef));\n } else {\n this._overlayRef?.dispose();\n }\n changeDetectorRef.detectChanges();\n });\n }\n}\n\n@Component({\n selector: 'app-alert-overlay',\n templateUrl: './ajax-loader.component.html',\n styleUrls: ['./ajax-loader.component.css']\n})\nexport class AjaxLoaderOverlayComponent {\n}\n","\"loading\"/\n","export enum AttachmentType {\n GRAPHIC,\n OTHER\n}\n","import {Component, Inject} from '@angular/core';\nimport {MAT_DIALOG_DATA, MatDialogRef} from \"@angular/material/dialog\";\nimport {Converter} from \"../../../utils/converter\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\n\n@Component({\n selector: 'app-color-density',\n templateUrl: './color-density.component.html',\n styleUrls: ['./color-density.component.css']\n})\nexport class ColorDensityComponent {\n\n private readonly _colors:[];\n\n constructor(private dialogRef: MatDialogRef,\n private configLoaderService: RuntimeConfigLoaderService,\n @Inject(MAT_DIALOG_DATA) public data) {\n this._colors = data.lowColors.map(c => Converter.toPickerColor(c[0]));\n }\n\n close() {\n this.dialogRef.close();\n }\n\n get colors() {\n return this._colors;\n }\n\n get percentage() {\n return this.configLoaderService.getConfigObjectKey('image').lowDensityWarning\n }\n\n}\n","\n
\n

 

\n  {{percentage}}\n
 
\n
\n
\n
\n\n \n\n","export enum FontFamilies {\n ARIAL = 'Arial',\n ARIAL_NARROW = 'Arial Narrow',\n BRUSH_SCRIPT_MT = 'Brush Script MT',\n CALIBRI = 'Calibri',\n CAMBRIA = 'Cambria',\n CANDARA = 'Candara',\n COURIER = 'Courier',\n GARAMOND = 'Garamond',\n HELVETICA = 'Helvetica',\n LUCIDA_BRIGHT = 'Lucida Bright',\n PERPETUA = 'Perpetua',\n TIMES_NEW_ROMAN = 'Times New Roman',\n VERDANA = 'Verdana'\n}\n","import {ChangeDetectorRef, Component} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\n\n@Component({\n selector: 'app-version',\n templateUrl: './version.component.html',\n styleUrls: ['./version.component.css']\n})\nexport class VersionComponent {\n\n private _version: string = '1.0-SNAPSHOT';\n\n constructor(private httpClient: HttpClient,\n private changeDetectorRef: ChangeDetectorRef) {\n this.httpClient.get('assets/version.manifest', {responseType: 'text'})\n .subscribe(data => {\n this._version = data\n this.changeDetectorRef.detectChanges();\n });\n }\n\n get version() {\n return this._version;\n }\n}\n","
\n
\n \n \n

{{version}}

\n
\n
\n
\n
\n","import {StringUtil} from \"../../utils/string-util\";\n\nexport class Address {\n\n private _id: number = 0;\n private _street: string;\n private _city: string;\n private _zip: string;\n private _countryCode: string;\n private _email: string;\n private _phone: string;\n\n get id(): number {\n return this._id;\n }\n\n set id(value: number) {\n this._id = value;\n }\n\n get street(): string {\n return this._street;\n }\n\n set street(value: string) {\n this._street = value;\n }\n\n get city(): string {\n return this._city;\n }\n\n set city(value: string) {\n this._city = value;\n }\n\n get zip(): string {\n return this._zip;\n }\n\n set zip(value: string) {\n this._zip = value;\n }\n\n get countryCode(): string {\n return this._countryCode;\n }\n\n set countryCode(value: string) {\n this._countryCode = value;\n }\n\n get email(): string {\n return this._email;\n }\n\n set email(value: string) {\n this._email = value;\n }\n\n get phone(): string {\n return this._phone;\n }\n\n set phone(value: string) {\n this._phone = value;\n }\n\n toJSON() {\n return {\n addressId: this.id,\n street: this.street,\n city: this.city,\n zip: this.zip,\n countryCode: this.countryCode,\n email: this.email\n };\n }\n\n public isComplete() {\n return (this.id != undefined && this.id != 0 && this.id != null) || (StringUtil.isNotEmpty(this.street) &&\n StringUtil.isNotEmpty(this.city) &&\n StringUtil.isNotEmpty(this.zip) &&\n StringUtil.isNotEmpty(this.countryCode) &&\n StringUtil.isNotEmpty(this.email) &&\n StringUtil.isNotEmpty(this.phone));\n }\n}\n","import {Address} from \"./address\";\nimport {OrderProduct} from \"./order-product\";\n\nexport class Order {\n\n private _address: Address;\n private _productionMode: string = 'WithPatterning';\n private _deliveryMethod: string = 'PersonalPickup';\n private _note: string = '';\n private _paymentType: string = 'Cash';\n private _orderProducts: OrderProduct[] = [];\n private _addedDate: string;\n private _completionDate: string;\n private _status: string;\n\n private _selectedProduct: number = -1;\n private readonly _initQuantity: number;\n\n constructor(initQuantity: number) {\n this._initQuantity = initQuantity;\n this._address = new Address();\n this.addNewProduct();\n }\n\n get address(): Address {\n return this._address;\n }\n\n set address(value: Address) {\n this._address = value;\n }\n\n get productionMode(): string {\n return this._productionMode;\n }\n\n set productionMode(value: string) {\n this._productionMode = value;\n }\n\n get deliveryMethod(): string {\n return this._deliveryMethod;\n }\n\n set deliveryMethod(value: string) {\n this._deliveryMethod = value;\n }\n\n get note(): string {\n return this._note;\n }\n\n set note(value: string) {\n this._note = value;\n }\n\n get paymentType(): string {\n return this._paymentType;\n }\n\n set paymentType(value: string) {\n this._paymentType = value;\n }\n\n public getOrderProduct(): OrderProduct {\n return this._orderProducts[this._selectedProduct];\n }\n\n public setOrderProduct(value: OrderProduct) {\n this._orderProducts[this._selectedProduct] = value;\n }\n\n get addedDate() {\n return this._addedDate;\n }\n\n get completionDate() {\n return this._completionDate;\n }\n\n set addedDate(date: string) {\n this._addedDate = date;\n }\n\n set completionDate(date: string) {\n this._completionDate = date;\n }\n\n get status(): string {\n return this._status;\n }\n\n set status(value: string) {\n this._status = value;\n }\n\n toJSON() {\n let orderProducts = [];\n this._orderProducts.forEach((orderProduct: OrderProduct) => {\n orderProducts.push(orderProduct.toJSON());\n })\n return {\n address: this.address.toJSON(),\n productionMode: this.productionMode,\n deliveryMethod: this.deliveryMethod,\n note: this.note,\n paymentType: this.paymentType,\n orderProducts: [orderProducts]\n }\n }\n\n addNewProduct() {\n this._selectedProduct++;\n this._orderProducts[this._selectedProduct] = new OrderProduct(this._initQuantity);\n }\n\n getOrderProducts(): OrderProduct[] {\n return this._orderProducts;\n }\n\n selectProduct(i: number): void {\n this._selectedProduct = i;\n }\n\n removeProduct(i: number) {\n if (this._selectedProduct >= i) {\n this._selectedProduct = this._selectedProduct - 1;\n }\n this._orderProducts = this._orderProducts.splice(i-1, 1);\n this.selectProduct(this._selectedProduct);\n }\n}\n\n","import {ColorRule} from \"../../app/model/color-rule\";\nimport {Converter} from \"../../app/utils/converter\";\nimport {PrintedLabelColors} from \"../../app/model/enum/printed-label-colors\";\n\nexport const PRINTED_WHITE_RULE = new ColorRule(Converter.toPickerColor(PrintedLabelColors.WHITE),\n [\n Converter.toPickerColor(PrintedLabelColors.GOLD),\n Converter.toPickerColor(PrintedLabelColors.BRONZE),\n Converter.toPickerColor(PrintedLabelColors.CYAN),\n Converter.toPickerColor(PrintedLabelColors.BLUE),\n Converter.toPickerColor(PrintedLabelColors.GREEN),\n Converter.toPickerColor(PrintedLabelColors.YELLOW),\n Converter.toPickerColor(PrintedLabelColors.PURPLE),\n Converter.toPickerColor(PrintedLabelColors.GRAY)\n ]);\n\nexport const PRINTED_RED_RULE = new ColorRule(Converter.toPickerColor(PrintedLabelColors.RED),\n [\n Converter.toPickerColor(PrintedLabelColors.GOLD),\n Converter.toPickerColor(PrintedLabelColors.BRONZE),\n Converter.toPickerColor(PrintedLabelColors.CYAN),\n Converter.toPickerColor(PrintedLabelColors.BLUE),\n Converter.toPickerColor(PrintedLabelColors.GREEN),\n Converter.toPickerColor(PrintedLabelColors.YELLOW),\n Converter.toPickerColor(PrintedLabelColors.PURPLE),\n Converter.toPickerColor(PrintedLabelColors.GRAY)\n ]);\n\nexport const PRINTED_CREAM_RULE = new ColorRule(Converter.toPickerColor(PrintedLabelColors.CREAM),\n [\n Converter.toPickerColor(PrintedLabelColors.GOLD),\n Converter.toPickerColor(PrintedLabelColors.BRONZE),\n Converter.toPickerColor(PrintedLabelColors.CYAN),\n Converter.toPickerColor(PrintedLabelColors.BLUE),\n Converter.toPickerColor(PrintedLabelColors.GREEN),\n Converter.toPickerColor(PrintedLabelColors.YELLOW),\n Converter.toPickerColor(PrintedLabelColors.PURPLE),\n Converter.toPickerColor(PrintedLabelColors.GRAY)\n ]);\n\nexport const PRINTED_BLACK_RULE = new ColorRule(Converter.toPickerColor(PrintedLabelColors.BLACK),\n [\n Converter.toPickerColor(PrintedLabelColors.GOLD),\n Converter.toPickerColor(PrintedLabelColors.SILVER),\n Converter.toPickerColor(PrintedLabelColors.GRAY),\n Converter.toPickerColor(PrintedLabelColors.WHITE),\n ]);\n\nexport const WEAVE_BLACK_RULE = new ColorRule(Converter.toPickerColor(PrintedLabelColors.BLACK),\n [\n Converter.toPickerColor(PrintedLabelColors.WHITE),\n Converter.toPickerColor(PrintedLabelColors.BLACK)\n ]);\n\nexport const WEAVE_WHITE_RULE = new ColorRule(Converter.toPickerColor(PrintedLabelColors.WHITE),\n [\n Converter.toPickerColor(PrintedLabelColors.WHITE),\n Converter.toPickerColor(PrintedLabelColors.BLACK)\n ]);\n","import {Injectable} from \"@angular/core\";\nimport {Observable, Subject, Subscription} from \"rxjs\";\nimport {HttpEvent} from \"@angular/common/http\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AjaxLoaderService {\n\n private _progress = new Subject();\n private _counter = 0;\n\n show(callback: any): Observable> {\n ++this._counter;\n if (this._counter == 1) {\n this._progress.next(true);\n }\n return callback();\n }\n\n hide() {\n --this._counter;\n if (this._counter == 0) {\n this._progress.next(false);\n }\n }\n\n public stateChange(callback): Subscription {\n return this._progress.asObservable().subscribe((progress) => {\n callback(progress);\n })\n }\n}\n","export class LabelType {\n private _name: string;\n private _label: string;\n private _description: string;\n private _additionalInfo: string;\n private _icon: string;\n\n constructor(name: string, label: string, description: string, additionalInfo: string, icon: string) {\n this._name = name;\n this._label = label;\n this._description = description;\n this._additionalInfo = additionalInfo;\n this._icon = icon;\n }\n\n get name(): string {\n return this._name;\n }\n\n set name(value: string) {\n this._name = value;\n }\n\n get label(): string {\n return this._label;\n }\n\n set label(value: string) {\n this._label = value;\n }\n\n get description(): string {\n return this._description;\n }\n\n set description(value: string) {\n this._description = value;\n }\n\n get additionalInfo(): string {\n return this._additionalInfo;\n }\n\n set additionalInfo(value: string) {\n this._additionalInfo = value;\n }\n\n get icon(): string {\n return this._icon;\n }\n\n set icon(value: string) {\n this._icon = value;\n }\n}\n","import {MatDialog, MatDialogConfig} from \"@angular/material/dialog\";\nimport {ConfirmationDialogComponent} from \"../component/dialogs/confirmation-dialog/confirmation-dialog.component\";\nimport {QuestionDialogComponent} from \"../component/dialogs/question-dialog/question-dialog.component\";\n\nexport class Dialog {\n\n constructor(private dialog: MatDialog) {\n }\n\n public confirmDialog(message: string): Promise {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = message;\n\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, dialogConfig);\n return dialogRef.afterClosed()\n .toPromise()\n .then(result => {\n return Promise.resolve(result);\n });\n }\n\n public questionDialog(message: string, options: any): Promise {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.disableClose = true;\n dialogConfig.autoFocus = true;\n dialogConfig.data = {message: message, options: options};\n\n const dialogRef = this.dialog.open(QuestionDialogComponent, dialogConfig);\n return dialogRef.afterClosed()\n .toPromise()\n .then(result => {\n return Promise.resolve(result);\n })\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {AccountService} from \"./account.service\";\nimport {Observable} from \"rxjs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AddressService {\n\n constructor(private http: HttpClient,\n private configLoaderService: RuntimeConfigLoaderService,\n private accountService: AccountService) {\n }\n\n public remove(addressId: number): Observable {\n const userId = this.accountService.getCurrentUser()?.userId;\n return this.http.delete(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/${userId}/addresses/${addressId}`);\n }\n\n}\n","import {Palette} from './palette';\nimport {event} from './event';\n\nexport class Toolbar {\n\n private p: Palette[] = [];\n\n constructor(document: Document) {\n document.addEventListener(event.canvas.ELEMENT_SELECTED, () => {\n this.showInspector();\n });\n\n document.addEventListener(event.canvas.ELEMENT_UPDATED, () => {\n this.showInspector();\n });\n\n document.addEventListener(event.canvas.ELEMENT_CLEARED, () => {\n this.hideAll();\n });\n\n this.p.push(new Palette('type'));\n this.p.push(new Palette('design'));\n this.p.push(new Palette('inspector'));\n this.p.push(new Palette('toolbox'));\n this.p.push(new Palette('background'));\n this.p.push(new Palette('dimensions'));\n this.p.push(new Palette('colors'));\n this.p.push(new Palette('graphics'));\n }\n\n public togglePalette(name: string): void {\n this.p.forEach((value, index) => {\n if (value.name === name) {\n value.visible = !value.visible;\n } else {\n value.visible = false;\n }\n });\n }\n\n public hideAll(): void {\n this.p.forEach(value => {\n value.visible = false;\n });\n }\n\n public isVisible(name: string): boolean {\n let palette = this.get(name);\n if (palette != null) {\n return palette.visible;\n }\n return false;\n }\n\n public isDisabled(name: string): boolean {\n let palette = this.get(name);\n if (palette != null) {\n return palette.disabled;\n }\n return false;\n }\n\n public get(name: string): Palette | null {\n for (let i = 0; i < this.p.length; i++) {\n if (this.p[i].name === name) {\n return this.p[i];\n }\n }\n return null;\n }\n\n public enableIcon(name: string): void {\n let palette = this.get(name);\n if (palette != null) {\n palette.disabled = false;\n }\n }\n\n public enableIcons(): void {\n this.p.forEach((value) => {\n value.disabled = false;\n });\n }\n\n public disableIcons(): void {\n this.p.forEach(value => {\n value.disabled = true;\n });\n }\n\n private showInspector(): void {\n this.hideAll();\n this.togglePalette('inspector');\n }\n\n}\n","import {Injectable} from \"@angular/core\";\nimport {Color} from \"@angular-material-components/color-picker\";\nimport {UsedColor} from \"../model/used-color\";\nimport {ColorRule} from \"../model/color-rule\";\nimport {PantoneColorNames} from \"../../assets/data/pantone-color-names\";\nimport {LabelDesign} from \"../model/label/design\";\nimport {Converter} from \"../utils/converter\";\nimport {UsedColorsData} from \"../model/used-colors-data\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ColorService {\n\n private _labelDesign: LabelDesign | null = null;\n private _usedColors: UsedColor[] = [];\n private _colorNames = PantoneColorNames;\n private _labelBackgroundColor = new Color(255, 255, 255, 1);\n\n public setSelectedLabelType(labelDesign: LabelDesign, componentId: string): void {\n this._labelDesign = labelDesign;\n this._usedColors = [];\n this._usedColors.push(new UsedColor(new Color(255, 255, 255), componentId));\n }\n\n /**\n * returns number of available colors\n */\n public numberOfAvailableColors(): number {\n if (this._labelDesign != null) {\n return this._labelDesign?.colorSetting.colorLimit;\n }\n return -1;\n }\n\n /**\n * true if there can be added new color to label,\n * conditions are:\n * a) numberOfAvailable label colors < all used colors\n * b) numberOfAvailable label colors == used colors && selected component is orphan (no siblings with same color)\n */\n public isNewColorAvailableForComponent(componentId: string): boolean {\n let color: Color | null = this.getComponentColor(componentId);\n if (color !== null && this.getColorComponents(color) === 1) {\n if (this.getColorsAsHex().length === this.numberOfAvailableColors()) {\n return true;\n }\n }\n return this.getColorsAsHex().length < this.numberOfAvailableColors();\n }\n\n public isNewColorAvailable(): boolean {\n return this.getColorsAsHex().length < this.numberOfAvailableColors();\n }\n\n public getColorsAsHex(): string[] {\n return this.getColors().map(value => {\n return value.hex;\n })\n }\n\n public add(color: Color, componentId: string): void {\n let index = this.getColorsAsHex().indexOf(color.hex);\n if (index === -1) {\n this._usedColors.push(new UsedColor(color, componentId));\n } else {\n let usedColor = this._usedColors[index];\n usedColor.addComponent(componentId);\n }\n }\n\n public remove(color: Color, componentId: string): void {\n let index = this.getColorsAsHex().indexOf(color.hex);\n if (index !== -1) {\n let usedColor = this._usedColors[index];\n if (usedColor.numberOfComponents() == 1) {\n this._usedColors.splice(index, 1);\n } else {\n usedColor.removeComponent(componentId);\n }\n }\n }\n\n public getColors(): Color[] {\n let colors: Color[] = [];\n this._usedColors.forEach(value => {\n colors.push(value.color);\n })\n return colors;\n }\n\n private getColorComponents(color: Color): number {\n let index = this.getColorsAsHex().indexOf(color.hex);\n if (index !== -1) {\n return this._usedColors[index].numberOfComponents();\n }\n return 0;\n }\n\n private getComponentColor(componentId: string): Color | null {\n for (let i = 0; i < this._usedColors.length; i++) {\n let usedColor: UsedColor = this._usedColors[i];\n if (usedColor.hasComponent(componentId)) {\n return usedColor.color;\n }\n }\n return null;\n }\n\n public isColorAvailable(color: Color): boolean {\n return this.getColorsAsHex().indexOf(color.hex) !== -1;\n }\n\n public getMostUsedColor(): Color {\n return this._usedColors.slice()\n .sort((a, b) => (a.numberOfComponents() < b.numberOfComponents()) ? 1 : -1)[0].color;\n }\n\n public updateColor(source: Color, target: Color, componentId: string): void {\n this.remove(source, componentId);\n this.add(target, componentId);\n }\n\n private getRulesForLabelType(): ColorRule[] {\n if (this._labelDesign != null) {\n return this._labelDesign?.colorSetting.rules;\n }\n return [];\n }\n\n public hasRules(): boolean {\n const rules = this.getRulesForLabelType();\n return (rules.length > 0);\n }\n\n public getRuledColors(componentId: string | null): Color[] {\n let availableColors: Color[] = [];\n const rules = this.getRulesForLabelType();\n for (const rule of rules) {\n if (this._labelBackgroundColor.hex === rule.background.hex) {\n availableColors = rule.availableColors;\n break;\n }\n }\n\n // when no new color available compare available colors with used colors and filter\n // background color out of this list (background color is not present in \"availableColors variable\")\n // return filtered available colors\n let colors: Color[] = [];\n if (!this.isNewColorAvailable() && (componentId === null || !this.isNewColorAvailableForComponent(componentId))) {\n const usedColors = this.getColors();\n colors = availableColors.filter(color => usedColors.includes(color));\n return colors;\n }\n return availableColors;\n }\n\n public getColorName(color: string): string {\n return this._colorNames.get(color) ? this._colorNames.get(color) as string : color;\n }\n\n get labelBackgroundColor() {\n return this._labelBackgroundColor;\n }\n\n set labelBackgroundColor(value) {\n this._labelBackgroundColor = value;\n }\n\n reset() {\n this._labelDesign = null;\n this._usedColors = [];\n this._labelBackgroundColor = new Color(255, 255, 255, 1);\n }\n\n public releaseColorsByComponentId(componentId: any): void {\n let toRemove: UsedColor[] = [];\n for (let i = 0; i < this._usedColors.length; i++) {\n let usedColor = this._usedColors[i];\n if (usedColor.hasComponent(componentId)) {\n usedColor.removeComponent(componentId);\n }\n if (!usedColor.hasComponents()) {\n toRemove.push(usedColor);\n }\n }\n const vThis = this;\n toRemove.forEach((usedColor) => {\n const index = vThis.getColorsAsHex().indexOf(usedColor.color.hex);\n vThis._usedColors.splice(index, 1);\n });\n }\n\n setSelectedProductColors(labelDesign: LabelDesign, colors: string[], id: string) {\n this._labelDesign = labelDesign;\n this._usedColors = [];\n colors.forEach(c => {\n let color: Color = Converter.hex2color(c);\n this._usedColors.push(new UsedColor(color, id));\n });\n\n }\n\n public save(): UsedColorsData {\n return new UsedColorsData(this._usedColors, this._labelBackgroundColor);\n }\n\n public load(data, labelDesign: LabelDesign): void {\n this.reset();\n this._usedColors = data.colors;\n this._labelBackgroundColor = data.background;\n this._labelDesign = labelDesign;\n }\n}\n","import {Component, Inject, Input, OnChanges, OnInit} from '@angular/core';\nimport {event} from \"../../../model/event\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {CanvasElement} from \"../../../model/canvas-element\";\nimport {LabelDesigns} from '../../../../assets/data/label-designs';\nimport {LabelDesign} from \"../../../model/label/design\";\nimport {Color} from \"@angular-material-components/color-picker\";\nimport {Converter} from \"../../../utils/converter\";\nimport {FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {Category} from \"../../../model/enum/category\";\nimport {MaterialName} from \"../../../model/enum/material-name\";\nimport {LabelMaterials} from \"../../../../assets/data/label-material\";\nimport {MatSelectChange} from \"@angular/material/select\";\nimport {ColorService} from \"../../../service/color.service\";\nimport {DesignName} from \"../../../model/enum/design-name\";\nimport {LabelTypes} from \"../../../../assets/data/label-types\";\nimport {OrderService} from \"../../../service/order.service\";\nimport {DesignUtil} from \"../../../utils/design-util\";\n\n@Component({\n selector: 'app-inspector-label',\n templateUrl: './inspector-label.component.html',\n styleUrls: ['./inspector-label.component.css']\n})\nexport class InspectorLabelComponent implements OnInit, OnChanges {\n\n @Input()\n public selected: CanvasElement;\n\n product: FormGroup | any;\n\n public design: LabelDesign | undefined;\n public materials: MaterialName[];\n public materialColors: Map;\n\n private document;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private colorService: ColorService,\n private orderService: OrderService,\n private fb: FormBuilder) {\n const vThis = this;\n this.document = document;\n this.materials = Object.values(MaterialName).filter(value => value != MaterialName.NONE);\n\n [event.label.CHANGE_TYPE, event.label.CHANGE_DESIGN].forEach(function (event) {\n document.addEventListener(event, () => {\n if (vThis.product) {\n vThis.product.get('note').patchValue('');\n vThis.product.get('materialColor').patchValue('');\n }\n });\n });\n\n document.addEventListener(event.order.SELECT_PRODUCT, () => {\n this.ngOnChanges();\n });\n\n document.addEventListener(event.order.PRICE_RECALCULATION, () => {\n this.product.get('quantity').patchValue(this.orderService.order.getOrderProduct().quantity);\n });\n }\n\n ngOnChanges(): void {\n if (this.product !== undefined && (this.product.get('materialColor').value === undefined || this.product.get('materialColor').value === '')) {\n this.product.get('materialColor').patchValue(Converter.toPickerColor(this.selected.fill));\n }\n const labelType = this.orderService.order.getOrderProduct().product.kind;\n const labelDesign = this.orderService.order.getOrderProduct().product.processing;\n this.design = LabelDesigns.find(i => i.category == labelType && i.name == labelDesign);\n }\n\n ngOnInit(): void {\n const labelType = this.orderService.order.getOrderProduct().product.kind;\n const labelDesign = this.orderService.order.getOrderProduct().product.processing;\n\n if (this.orderService.order.getOrderProduct().locked) {\n const width = this.orderService.order.getOrderProduct().product.width;\n const height = this.orderService.order.getOrderProduct().product.height;\n this.design = DesignUtil.recognize(labelType, labelDesign, width, height);\n } else {\n this.design = LabelDesigns.find(i => i.category == labelType && i.name == labelDesign);\n }\n\n this.product = this.fb.group({\n width: 0,\n height: 0,\n materialType: MaterialName.NYLON,\n materialColor: Converter.toPickerColor(this.selected.fill),\n cut: new FormControl({value: false, disable: false}),\n note: \"\",\n quantity: [100, [Validators.min(100), Validators.max(1000000)]]\n });\n\n this.product.get('materialType').valueChanges.subscribe(() => {\n this.orderService.order.getOrderProduct().product.materialType = this.product.get('materialType').value;\n });\n\n this.product.get('cut').valueChanges.subscribe(() => {\n this.orderService.order.getOrderProduct().product.cut = this.product.get('cut').value;\n });\n\n this.product.get('width').valueChanges.subscribe(() => {\n if (this.orderService.order.getOrderProduct().product.width != this.selected.width) {\n this.orderService.order.getOrderProduct().product.width = this.selected.width;\n document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n });\n this.product.get('height').valueChanges.subscribe(() => {\n if (this.orderService.order.getOrderProduct().product.height != this.selected.height) {\n this.orderService.order.getOrderProduct().product.height = this.selected.height;\n document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n });\n this.product.get('note').valueChanges.subscribe(() => {\n this.orderService.order.getOrderProduct().note = this.product.get('note').value;\n });\n this.product.get('quantity').valueChanges.subscribe(() => {\n if (this.orderService.order.getOrderProduct().quantity != this.product.get('quantity').value) {\n this.orderService.order.getOrderProduct().quantity = this.product.get('quantity').value;\n document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n })\n\n this.product.get('width').patchValue(this.selected.width);\n this.product.get('height').patchValue(this.selected.height);\n this.product.get('cut').patchValue(this.orderService.order.getOrderProduct().product.cut);\n this.product.get('note').patchValue(this.orderService.order.getOrderProduct().note);\n this.product.get('quantity').patchValue(this.orderService.order.getOrderProduct().quantity);\n if (this.isPrintedLabel()) {\n this.product.get('materialType').patchValue(this.orderService.order.getOrderProduct().product.materialType);\n this.setMaterialColors(this.product.get('materialType').value);\n this.product.get('materialColor').patchValue('#' + Converter.toPickerColor(this.selected.fill).hex);\n }\n\n if (this.product.get('materialType').value == MaterialName.SATIN) {\n this.product.get('cut').disable();\n }\n }\n\n modify(prop: string, newSize: any, min: number, max: number) {\n if (newSize >= min && newSize <= max) {\n this.setSize(prop, newSize);\n } else {\n if (newSize < min) {\n this.setSize(prop, min);\n }\n if (newSize > max) {\n this.setSize(prop, max);\n }\n }\n this.selected.center();\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n this.document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n\n private setSize(prop: string, newSize: number) {\n if (prop === 'width') {\n this.selected.width = newSize;\n this.orderService.order.getOrderProduct().product.width = newSize;\n this.product.get('width').patchValue(newSize);\n }\n if (prop === 'height') {\n this.selected.height = newSize;\n this.orderService.order.getOrderProduct().product.height = newSize;\n this.product.get('height').patchValue(newSize);\n }\n }\n\n public updateColor(e: any) {\n let source = Converter.toPickerColor(this.selected.fill);\n if (e) {\n this.selected.fill = e.value;\n } else {\n this.selected.fill = Converter.toPickerColor(this.product.get('materialColor').value);\n }\n\n if (this.isPrintedLabel()) {\n this.orderService.order.getOrderProduct().product.materialColor = '#' + Converter.toPickerColor(this.selected.fill).hex;\n }\n\n // todo matejkobza - here we should check, if there are elements of old background color and if so, update them as well\n let target = Converter.toPickerColor(this.selected.fill);\n this.colorService.updateColor(source, target, this.selected.id);\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n this.document.dispatchEvent(new CustomEvent(event.canvas.BACKGROUND_CHANGE, {\n detail: target\n }));\n this.document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n\n public isPrintedLabel() {\n return this.design?.category === Category.PRINTED;\n }\n\n setMaterialColors(material: string) {\n LabelMaterials.forEach((obj) => {\n if (obj.name == material) {\n this.materialColors = obj.colors;\n }\n });\n }\n\n changeMaterial(e: MatSelectChange) {\n this.setMaterialColors(e.value);\n if (e.value == MaterialName.SATIN) {\n this.product.get('cut').patchValue(true);\n this.orderService.order.getOrderProduct().product.cut = true;\n this.product.get('cut').disable();\n } else {\n this.product.get('cut').patchValue(false);\n this.orderService.order.getOrderProduct().product.cut = false;\n this.product.get('cut').enable();\n }\n // reset color when material is changed\n let source = this.selected.fill;\n this.selected.fill = new Color(255, 255, 255, 1);\n this.colorService.updateColor(source, this.selected.fill, this.selected.id);\n this.product.get('materialColor').patchValue('#' + Converter.toPickerColor(this.selected.fill).hex);\n this.orderService.order.getOrderProduct().product.materialColor = this.product.get('materialColor').value;\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n this.document.dispatchEvent(new CustomEvent(event.canvas.BACKGROUND_CHANGE, {\n detail: this.selected.fill\n }));\n this.document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n\n cutAvailable(): boolean {\n const processingType = LabelDesigns.find(i => i.category == this.selected.labelType && i.name == this.selected.labelDesign)?.proccessingType;\n return processingType == 'cut';\n }\n\n isNewColorAvailable(): boolean {\n return this.colorService.isNewColorAvailableForComponent(this.selected.id);\n }\n\n availableColors(): Color[] {\n return this.colorService.getColors();\n }\n\n isSizeLabel(designName: DesignName) {\n return designName == DesignName.SIZE_SIMPLE || designName == DesignName.SIZE_BENT;\n }\n\n getTechnology(): string {\n for (let i = 0; i < LabelTypes.length; i++) {\n let labelType = LabelTypes[i];\n if (labelType.name === this.design?.category) {\n return labelType.label;\n }\n }\n return \"\";\n }\n\n hasColorRules(): boolean {\n return this.colorService.hasRules();\n }\n\n getRuledColors(): Color[] {\n return this.colorService.getRuledColors(null);\n }\n\n productLocked() {\n return this.orderService.order.getOrderProduct().locked;\n }\n\n quantityChange(e: any) {\n this.orderService.order.getOrderProduct().quantity = e.target.value;\n this.document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n\n get quantity(): FormControl {\n return this.product.get('quantity');\n }\n\n}\n","\n  \n \n\n\n  \n \n\n\n  \n \n \n\n\n  \n \n \n\n\n  \n \n {material, select, NYLON{Nylon} SATIN{Satin}}\n \n\n\n\n  \n \n {materialColor.value, select, BLACK {Black} WHITE {White} RED {Red} CREAM\n {Cream}}\n \n\n\n\n  \n \n \n \n\n\n\n  \n \n {{ color.hex }}\n \n\n\n\n  \n \n {{ color.hex }}\n \n\n\n\n  \n \n \n  \n Minimum quantity\n is {{quantity.errors?.min.min}}\n Quantity limit\n is {{quantity.errors?.max.max}}\n \n\n
\n\n\n  \n \n \n\n\n
\n  \n \n \n info\n \n

\n
\n","import {Component, Output} from '@angular/core';\nimport {EventEmitter} from '@angular/core';\nimport {ColorService} from \"../../service/color.service\";\nimport {Color} from \"@angular-material-components/color-picker\";\n\n@Component({\n selector: 'app-toolbox',\n templateUrl: './toolbox.component.html',\n styleUrls: ['./toolbox.component.css']\n})\nexport class ToolboxComponent {\n\n @Output()\n addTextEvent = new EventEmitter();\n\n @Output()\n addSymbolEvent = new EventEmitter();\n\n public washCareSymbols: string[] = [];\n\n constructor(private colorService: ColorService) {\n this.washCareSymbols = this.generateWashCareSymbols();\n }\n\n public addText(): void {\n let defaultColor = this.getDefaultColor();\n\n if (this.colorService.isNewColorAvailable() || this.colorService.isColorAvailable(defaultColor)) {\n this.addTextEvent.emit(defaultColor);\n } else {\n this.addTextEvent.emit(this.colorService.getMostUsedColor());\n }\n }\n\n public addWashCareSymbol(symbol: string) {\n let defaultColor = this.getDefaultColor();\n\n if (this.colorService.isNewColorAvailable() || this.colorService.isColorAvailable(defaultColor)) {\n this.addSymbolEvent.emit({symbol: symbol, color: defaultColor});\n } else {\n this.addSymbolEvent.emit({symbol: symbol, color: this.colorService.getMostUsedColor()});\n }\n }\n\n private getDefaultColor(): Color {\n // by default black color\n let defaultColor = new Color(0, 0, 0, 1);\n\n // in case of printed label, there are rules about which colors are available\n if (this.colorService.hasRules()) {\n // find a way how to get background color of label\n const ruledColors = this.colorService.getRuledColors(null);\n if (this.colorService.labelBackgroundColor.hex == ruledColors[0].hex) {\n defaultColor = ruledColors[1];\n } else {\n defaultColor = ruledColors[0];\n }\n }\n\n return defaultColor;\n }\n\n /**\n * Generate wash care symbols\n */\n private generateWashCareSymbols(): string[] {\n let washCareList: string[] = [];\n // generate basic uppercase alphabet\n for (let i = 66; i <= 90; i++) {\n washCareList.push(String.fromCharCode(i));\n }\n // generate basic lowercase alphabet\n washCareList.forEach((i) => {\n washCareList.push(i.toLowerCase());\n })\n // generate numbers from 0 to 9\n for (let i = 0; i <= 9; i++) {\n washCareList.push(String(i));\n }\n\n return washCareList;\n }\n}\n","
\n font_download\n \n
\n\n","import {ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject, OnDestroy, OnInit} from '@angular/core';\nimport {PriceCalculationService} from \"./service/price-calculation.service\";\nimport {Subscription} from \"rxjs\";\nimport {AccountService} from \"./service/account.service\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {event} from \"./model/event\";\nimport {StringUtil} from \"./utils/string-util\";\nimport {LanguageService} from \"./service/language.service\";\nimport {ActivatedRoute, NavigationEnd, Router, RoutesRecognized} from \"@angular/router\";\nimport {MatIconRegistry} from \"@angular/material/icon\";\nimport {DomSanitizer} from \"@angular/platform-browser\";\n\n@Component({\n selector: 'app-root',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent implements OnInit, OnDestroy {\n\n title = 'Higa Label';\n\n private INIT_PAGE_URL = ['/', '/?tab=0'];\n private BACKGROUND_IMAGES: string[] = [\n 'assets/images/background/diamond_upholstery.png',\n 'assets/images/background/gplaypattern.png',\n 'assets/images/background/grey.png',\n 'assets/images/background/noisy_grid.png',\n 'assets/images/background/pinstripe.png',\n ];\n\n private _currentTotalPriceSubscription: Subscription;\n private _routerSubscription: Subscription;\n private _totalPrice: number = 0;\n private _lastVisitedPageUrl;\n private _backgroundImage: string = this.BACKGROUND_IMAGES[0];\n private _priceTagHidden: boolean = false;\n\n constructor(@Inject(DOCUMENT) document: Document,\n public accountService: AccountService,\n private priceCalculationService: PriceCalculationService,\n private languageService: LanguageService,\n private changeDetectorRef: ChangeDetectorRef,\n private router: Router,\n private route: ActivatedRoute,\n private matIconRegistry: MatIconRegistry,\n private domSanitizer: DomSanitizer) {\n this.matIconRegistry.addSvgIcon('bring_forward', this.domSanitizer.bypassSecurityTrustResourceUrl(\"./assets/images/icon/bring_forward.svg\"));\n this.matIconRegistry.addSvgIcon('bring_to_front', this.domSanitizer.bypassSecurityTrustResourceUrl(\"./assets/images/icon/bring_to_front.svg\"));\n this.matIconRegistry.addSvgIcon('send_backward', this.domSanitizer.bypassSecurityTrustResourceUrl(\"./assets/images/icon/send_backward.svg\"));\n this.matIconRegistry.addSvgIcon('send_to_back', this.domSanitizer.bypassSecurityTrustResourceUrl(\"./assets/images/icon/send_to_back.svg\"));\n\n this._currentTotalPriceSubscription = priceCalculationService.currentTotalPrice.subscribe(v => {\n this._totalPrice = v\n });\n\n this._routerSubscription = this.router.events.subscribe((e) => {\n if (e instanceof NavigationEnd) {\n if (this._lastVisitedPageUrl == undefined || this.INIT_PAGE_URL.indexOf(this._lastVisitedPageUrl) !== -1 && this.INIT_PAGE_URL.indexOf(e.url) != -1) {\n document.dispatchEvent(new CustomEvent(event.editor.OPEN_HOME));\n }\n this._lastVisitedPageUrl = e.url;\n }\n });\n\n document.addEventListener(event.order.PRICE_RECALCULATION, () => {\n priceCalculationService.update();\n });\n\n document.addEventListener(event.editor.LOGIN, () => {\n this.changeDetectorRef.markForCheck();\n this.changeDetectorRef.detectChanges();\n });\n }\n\n ngOnInit(): void {\n let ran = Math.floor((Math.random() * 100) % this.BACKGROUND_IMAGES.length);\n this._backgroundImage = this.BACKGROUND_IMAGES[ran];\n this.router.events.subscribe((data) => {\n if (data instanceof RoutesRecognized) {\n if (data.state.root.firstChild?.data) {\n this._priceTagHidden = data.state.root.firstChild.data.ptag;\n }\n }\n });\n }\n\n get backgroundImage(): string {\n return this._backgroundImage;\n }\n\n get totalPrice() {\n return this._totalPrice.toFixed(2);\n }\n\n ngOnDestroy() {\n this._currentTotalPriceSubscription.unsubscribe();\n this._routerSubscription.unsubscribe();\n }\n\n logout() {\n this.accountService.logout();\n }\n\n getName(): string | undefined {\n let firstName = this.accountService.getCurrentUser()?.firstname\n let lastName = this.accountService.getCurrentUser()?.surname;\n if (StringUtil.isNotEmpty(firstName) && StringUtil.isNotEmpty(lastName)) {\n return firstName + ' ' + lastName;\n }\n return this.accountService.getCurrentUser()?.email;\n }\n\n get language(): string {\n return this.languageService.language;\n }\n\n set language(language: string) {\n this.languageService.language = language;\n }\n\n openType() {\n document.dispatchEvent(new CustomEvent(event.editor.OPEN_TYPE));\n }\n\n public priceTagHidden(): boolean {\n return this._priceTagHidden;\n }\n}\n","
\n \n \n \n \n \n
\n
\n \n \n \n \n \n\n \n\n \n \n \n \n \n \n \n \n \n \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 {Color} from \"@angular-material-components/color-picker\";\n\nexport class UsedColor {\n private _color: Color;\n private _compontents: string[] = [];\n\n constructor(color: Color, componentId: string) {\n this._color = color;\n this._compontents.push(componentId);\n }\n\n get color(): Color {\n return this._color;\n }\n\n set color(value: Color) {\n this._color = value;\n }\n\n public addComponent(componentId: string): void {\n if (this._compontents.indexOf(componentId) === -1) {\n this._compontents.push(componentId);\n } else {\n console.info('Component already present in color', componentId, this._color);\n }\n }\n\n public removeComponent(componentId: string): void {\n let index = this._compontents.indexOf(componentId);\n if (index !== -1) {\n this._compontents.splice(index, 1);\n } else {\n console.info('Unable to remove component', componentId, this._color, this._compontents);\n }\n }\n\n public hasComponents(): boolean {\n return this._compontents.length > 0;\n }\n\n public numberOfComponents(): number {\n return this._compontents.length;\n }\n\n public hasComponent(componentId: string): boolean {\n return this._compontents.indexOf(componentId) !== -1;\n }\n}\n","import { MatPaginatorIntl } from '@angular/material/paginator';\n\nconst skRangeLabel = (page: number, pageSize: number, length: number) => {\n if (length === 0 || pageSize === 0) { return `0 van ${length}`; }\n\n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex = startIndex < length ?\n Math.min(startIndex + pageSize, length) :\n startIndex + pageSize;\n const fromTranslation = $localize`:@@from:`;\n return `${startIndex + 1} - ${endIndex} ${fromTranslation} ${length}`;\n};\n\nexport function getSkPaginatorIntl() {\n const paginatorIntl = new MatPaginatorIntl();\n\n paginatorIntl.itemsPerPageLabel = $localize`:@@itemsPerPage:`;\n paginatorIntl.nextPageLabel = $localize`:@@nextPage:`;\n paginatorIntl.previousPageLabel = $localize`:@@previousPage:`;\n paginatorIntl.getRangeLabel = skRangeLabel;\n\n return paginatorIntl;\n}\n","import {MaterialName} from \"../enum/material-name\";\n\nexport class Material {\n constructor(name: MaterialName, colors: Map) {\n this._name = name;\n this._colors = colors;\n }\n\n private _name: MaterialName;\n private _colors: Map;\n\n get name(): MaterialName {\n return this._name;\n }\n\n set name(value: MaterialName) {\n this._name = value;\n }\n\n get colors(): Map {\n return this._colors;\n }\n\n set colors(value: Map) {\n this._colors = value;\n }\n}\n","import {ChangeDetectorRef, Component, Input, ViewContainerRef} from '@angular/core';\nimport {Overlay, OverlayConfig, OverlayRef} from \"@angular/cdk/overlay\";\nimport {ComponentPortal} from \"@angular/cdk/portal\";\nimport {Subscription} from \"rxjs\";\nimport {Alert} from \"../../../model/alert\";\nimport {AlertService} from \"../../../service/alert.service\";\nimport {AlertType} from \"../../../model/enum/alert-type\";\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.css']\n})\nexport class AlertComponent {\n\n @Input()\n fade = true;\n\n private _alerts: Alert[] = [];\n private _overlayRef: OverlayRef | null = null;\n private _overlayConfig: OverlayConfig = new OverlayConfig();\n private _subscription: Subscription;\n\n constructor(private alertService: AlertService,\n private changeDetectorRef: ChangeDetectorRef,\n private overlay: Overlay,\n private viewContainerRef: ViewContainerRef) {\n\n this._overlayConfig.positionStrategy = this.overlay.position()\n .global()\n .left(`0px`)\n .top(`0px`);\n this._overlayConfig.hasBackdrop = true;\n\n // subscribe to new alert notifications\n this._subscription = this.alertService.subscribe(\"app-alert\", alert => {\n this._alerts.push(alert);\n\n this._overlayRef = this.overlay.create(this._overlayConfig);\n\n this._overlayRef.backdropClick().subscribe(() => {\n this.removeAlert(alert);\n });\n\n this._overlayRef.attach(new ComponentPortal(AlertOverlayComponent, this.viewContainerRef));\n this.changeDetectorRef.detectChanges();\n\n setTimeout(() => {\n this.removeAlert(alert);\n }, 130000);\n });\n }\n\n removeAlert(alert: Alert) {\n if (!this._alerts.includes(alert)) return;\n\n if (this.fade) {\n this._alerts.find(x => x === alert).fade = true;\n\n setTimeout(() => {\n this.destroy(alert);\n }, 250);\n } else {\n this.destroy(alert);\n }\n }\n\n private destroy(alert: Alert) {\n if (this._alerts.indexOf(alert) !== -1) {\n this._alerts.splice(this._alerts.indexOf(alert), 1);\n }\n if (this._alerts != null && this._alerts.length < 1) {\n this.dispose();\n }\n this.changeDetectorRef.detectChanges();\n }\n\n private dispose() {\n if (this._overlayRef != null) {\n this._overlayRef.dispose();\n this._overlayRef = null;\n }\n }\n\n cssClass(alert: Alert) {\n if (!alert) {\n return null;\n }\n\n const classes = ['alert'];\n\n const alertTypeClass = {\n [AlertType.Success]: 'alert-success',\n [AlertType.Error]: 'alert-danger',\n [AlertType.Info]: 'alert-info',\n [AlertType.Warning]: 'alert-warning'\n }\n\n classes.push(alertTypeClass[alert.type]);\n\n if (alert.fade) {\n classes.push('fade');\n }\n\n return classes.join(' ');\n }\n\n get alerts() {\n return this._alerts;\n }\n}\n\n@Component({\n selector: 'app-alert-overlay',\n template: '',\n})\nexport class AlertOverlayComponent {\n\n}\n","
0\">\n
\n ×\n \n
\n
\n","import {Component, OnInit} from '@angular/core';\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {AccountService} from \"../../../service/account.service\";\nimport {AlertService} from \"../../../service/alert.service\";\n\n@Component({\n selector: 'app-activation',\n templateUrl: './activation.component.html',\n styleUrls: ['./activation.component.css']\n})\nexport class ActivationComponent implements OnInit {\n\n private _isActivationUrl: boolean = false;\n\n constructor(private activatedRoute: ActivatedRoute,\n private accountService: AccountService,\n private alertService: AlertService,\n private router: Router) {\n }\n\n ngOnInit(): void {\n this.activatedRoute.queryParams.subscribe(params => {\n const currentUser = this.accountService.getCurrentUser();\n if (params.key) {\n this._isActivationUrl = true;\n //aktivacia uctu pomocou aktivacnej url\n this.accountService.activateUser(params['key']).subscribe(\n response => {\n if (this.accountService.authenticated) {\n //ak je prihlaseny, tak ho presmeruj na novu objednavku\n let user = currentUser;\n if (user != null) {\n user.activated = true;\n localStorage.setItem(\"user\", JSON.stringify(user));\n this.router.navigate(['/']);\n } else {\n this.router.navigate(['/login']);\n }\n } else {\n // ak nie je prihlaseny, tak ho presmerujem na prihlasovaciu obrazovku\n this.router.navigate(['/login']);\n }\n this.alertService.success($localize`:@@activationSuccessfulAlert:`);\n }, errorResponse => {\n this.alertService.error(errorResponse.error.code);\n });\n } else if (params.registration || params.login) {\n\n } else {\n this.alertService.error($localize`:@@invalidActivationUrl:`);\n }\n });\n }\n\n resendActivationEmail() {\n const user = this.accountService.getCurrentUser();\n if (user != null) {\n const email = user.email;\n this.accountService.resendActivationEmail(email).subscribe(\n response => {\n this.alertService.success($localize`:@@activationEmailSentAlert:`);\n }, errorResponse => {\n this.alertService.error(errorResponse.error.code);\n });\n } else {\n this.alertService.error($localize`:@@registrationEmailNotFound:`);\n }\n }\n\n get isAuthenticated() {\n return this.accountService.authenticated;\n }\n\n get isActivated() {\n const user = this.accountService.getCurrentUser();\n return user != null && user.activated;\n }\n\n get isActivationUrl() {\n return this._isActivationUrl;\n }\n\n}\n","
\n
\n \n

 

\n

 

\n
 
\n
\n \n

\n
 
\n
\n
\n
\n","import {Component, HostListener, Inject, OnDestroy, OnInit} from '@angular/core';\nimport {Toolbar} from '../../model/toolbar';\nimport {Canvas} from '../../model/canvas';\nimport {DOCUMENT} from '@angular/common';\nimport {event} from \"../../model/event\";\nimport {MatDialog} from '@angular/material/dialog';\nimport {LabelDesigns} from '../../../assets/data/label-designs';\nimport {Dialog} from \"../../utils/dialog\";\nimport {ColorService} from \"../../service/color.service\";\nimport {CanvasElement} from \"../../model/canvas-element\";\nimport {CanvasObjectType} from \"../../model/enum/canvas-object-type\";\nimport {OrderService} from \"../../service/order.service\";\nimport {ProductImageService} from \"../../service/product-image.service\";\nimport {DesignUtil} from \"../../utils/design-util\";\nimport {environment} from \"../../../environments/environment\";\n\n@Component({\n selector: 'app-editor',\n templateUrl: './editor.component.html',\n styleUrls: ['./editor.component.css']\n})\nexport class EditorComponent implements OnInit, OnDestroy {\n\n canvas: Canvas;\n selected: CanvasElement | null = null;\n document: Document;\n toolbar: Toolbar;\n\n private _mouseMove = false;\n private _lockMouseMove = false;\n\n private invalidTargets = ['INPUT', 'TEXTAREA'];\n private dialog: Dialog;\n private lastTouch = {\n x: 0,\n y: 0\n }\n\n constructor(@Inject(DOCUMENT) document: Document,\n private matDialog: MatDialog,\n private colorService: ColorService,\n private orderService: OrderService,\n private productImageService: ProductImageService) {\n this.document = document;\n this.document.body.style.overflow = 'hidden'; // zabezpecenie aby nebol scrollbar v editore\n this.toolbar = new Toolbar(document);\n this.canvas = orderService.getCanvas();\n\n this.dialog = new Dialog(matDialog);\n if (this.orderService.isOrderChanged) {\n this.toolbar.enableIcons();\n }\n\n this.togglePalette('type');\n\n document.addEventListener(event.label.CHANGE_TYPE, () => {\n this.changeType();\n });\n\n document.addEventListener(event.label.CHANGE_DESIGN, () => {\n this.changeDesign();\n });\n\n document.addEventListener(event.order.RESET_GRAPHIC, () => {\n this.resetGraphic();\n });\n\n document.addEventListener(event.canvas.BACKGROUND_CHANGE, (e: any) => {\n this.colorService.labelBackgroundColor = e.detail;\n });\n\n document.addEventListener(event.canvas.ELEMENT_SELECTED, (e: any) => {\n this.selected = e.detail;\n });\n\n document.addEventListener(event.canvas.ELEMENT_CLEARED, (e: any) => {\n this.selected = null;\n });\n\n document.addEventListener(event.canvas.ELEMENT_UPDATED, (e: any) => {\n this.selected = e.detail;\n });\n\n document.addEventListener(event.editor.OPEN_DESIGN, () => {\n this.toolbar.togglePalette('design');\n });\n\n document.addEventListener(event.editor.OPEN_TYPE, () => {\n this.toolbar.hideAll();\n this.toolbar.togglePalette('type');\n });\n\n document.addEventListener(event.label.REMOVE_IMAGE, (e: any) => {\n this.colorService.releaseColorsByComponentId(e.detail.componentId);\n });\n\n document.addEventListener('keydown', function (e) {\n if (['Space', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'].indexOf(e.code) > -1) {\n if (document.activeElement != undefined && ['input', 'textarea'].indexOf(document.activeElement.tagName.toLowerCase()) == -1) {\n e.preventDefault();\n }\n }\n }, false);\n\n document.addEventListener(event.order.SELECT_PRODUCT, () => {\n this.canvas.clearCanvas();\n this.canvas.loadFromJSON(this.orderService.getOrderProductJson(), this.orderService.getOrderProductCanvasElements());\n });\n }\n\n ngOnInit(): void {\n this.canvas.init(this.orderService.getCanvasJson());\n this.setPaletteHeight();\n\n if (this.orderService.order.getOrderProduct().product.productId !== 0) {\n this.selectProduct();\n }\n }\n\n ngOnDestroy(): void {\n document.body.style.removeProperty('overflow');\n this.orderService.saveCanvasJson();\n }\n\n public togglePalette(paletteName: string): void {\n this.toolbar.togglePalette(paletteName);\n }\n\n public openPalette(paletteName: string): void {\n this.toolbar.hideAll();\n this.toolbar.togglePalette(paletteName);\n }\n\n @HostListener('document:keydown.delete', ['$event'])\n @HostListener('document:keydown.backspace', ['$event'])\n private deleteSelectedObjects(e: KeyboardEvent) {\n const target = (e.target).nodeName;\n if (!this.invalidTargets.includes(target)) {\n e.preventDefault();\n this.canvas.deleteActiveObjects();\n }\n }\n\n @HostListener('document:keydown.escape', ['$event'])\n public deselectObjects() {\n this.canvas.deselectActiveObjects();\n }\n\n @HostListener('document:keydown.ArrowLeft', ['$event'])\n @HostListener('document:keydown.ArrowUp', ['$event'])\n @HostListener('document:keydown.ArrowRight', ['$event'])\n @HostListener('document:keydown.ArrowDown', ['$event'])\n private moveObjects(e: KeyboardEvent) {\n let direction = e.key.replace('Arrow', '').toLowerCase();\n this.canvas.moveActiveObjects(direction);\n }\n\n @HostListener('document:keydown.Control', ['$event'])\n private removeDefaultControl(e: KeyboardEvent) {\n e.preventDefault();\n }\n\n @HostListener('document:keydown.Meta', ['$event'])\n @HostListener('document:keydown.Control', ['$event'])\n private keyPress(e: KeyboardEvent) {\n this._lockMouseMove = true;\n }\n\n @HostListener('document:keyup.Meta', ['$event'])\n @HostListener('document:keyup.Control', ['$event'])\n private keyRelease(e: KeyboardEvent) {\n this._lockMouseMove = false;\n }\n\n @HostListener('document:keydown.F8', ['$event'])\n private debuger(e: KeyboardEvent) {\n if (environment.debug) {\n console.debug(this.orderService.order);\n }\n }\n\n private changeType() {\n this.canvas.clearCanvas();\n this.document.dispatchEvent(new CustomEvent(event.label.REMOVE_ALL_IMAGES));\n this.toolbar.disableIcons();\n this.toolbar.enableIcon('design');\n this.togglePalette('design');\n }\n\n // todo matejkobza - missing parameter about selected design\n private changeDesign() {\n let product = this.orderService.order.getOrderProduct().product;\n let labelDesign = LabelDesigns.find(i => i.category == product.kind && i.name == product.processing);\n if (labelDesign !== undefined) {\n product.width = labelDesign.width.defaultSize;\n product.height = labelDesign.height.defaultSize;\n }\n this.toolbar.enableIcons();\n let id = this.canvas.addLabelPlaceholder(labelDesign);\n if (labelDesign !== undefined) {\n this.colorService.setSelectedLabelType(labelDesign, id);\n }\n }\n\n private selectProduct() {\n let product = this.orderService.order.getOrderProduct().product;\n let labelDesign = DesignUtil.recognize(product.kind, product.processing, product.width, product.height);\n if (labelDesign != null) {\n let colors = Array.from(product.colors);\n let id = this.canvas.loadHistoryProductLabel(this.productImageService.productImageUrl(product.productId), labelDesign, product.width, product.height);\n this.toolbar.disableIcons();\n this.toolbar.enableIcon('inspector');\n // add colors of the original to color service\n this.colorService.setSelectedProductColors(labelDesign, colors, id);\n } else {\n console.error('Unrecognized label type')\n // todo matejkobza - add alert, this is not recognized label\n }\n }\n\n async resetGraphic() {\n const message = $localize`:@@labelDeleteAlert:`;\n if (await this.dialog.confirmDialog(message)) {\n this.orderService.reset();\n this.toolbar.disableIcons();\n this.document.dispatchEvent(new CustomEvent(event.label.REMOVE_ALL_IMAGES));\n this.togglePalette('type');\n }\n }\n\n /**\n * Set palette height for smaller displays\n */\n private setPaletteHeight(): void {\n const windowWidth = window.innerWidth;\n if (windowWidth <= 800) {\n let paletteDivs = Array.from(document.getElementsByClassName('palette') as HTMLCollectionOf);\n let diff = 600;\n if (windowWidth < 600) {\n diff = 595;\n }\n\n paletteDivs.forEach((div) => {\n if (!div.hidden) {\n div.setAttribute(\"style\", \"height:\" + (window.innerHeight - diff) + \"px\");\n }\n })\n }\n }\n\n touchMove($event: TouchEvent) {\n if (this.selected != null && this.selected.objectType !== CanvasObjectType.LABEL) {\n return;\n }\n const container = document.getElementById('drawing-container');\n\n // means single finger\n if ($event.touches.length == 1) {\n const touch = $event.touches[0];\n if (this.lastTouch.x != 0 || this.lastTouch.y != 0) {\n const moveX = touch.pageX - this.lastTouch.x;\n const moveY = touch.pageY - this.lastTouch.y;\n container.scrollTop = container.scrollTop - moveY;\n container.scrollLeft = container.scrollLeft - moveX;\n }\n this.lastTouch = {\n x: touch.pageX,\n y: touch.pageY\n }\n }\n }\n\n touchStart($event: TouchEvent) {\n if ($event.touches.length == 1) {\n const touch = $event.touches[0];\n this.lastTouch = {\n x: touch.pageX,\n y: touch.pageY\n }\n }\n }\n\n mouseMove($event: MouseEvent) {\n if (!this._mouseMove || this._lockMouseMove) {\n return\n }\n if (this.selected != null && this.selected.objectType !== CanvasObjectType.LABEL) {\n return;\n }\n const container = document.getElementById('drawing-container');\n\n if (this.lastTouch.x != 0 || this.lastTouch.y != 0) {\n const moveX = $event.pageX - this.lastTouch.x;\n const moveY = $event.pageY - this.lastTouch.y;\n container.scrollTop = container.scrollTop - moveY;\n container.scrollLeft = container.scrollLeft - moveX;\n }\n this.lastTouch = {\n x: $event.pageX,\n y: $event.pageY\n }\n }\n\n startMove($event: MouseEvent) {\n if (this._lockMouseMove) {\n return;\n }\n this._mouseMove = true;\n this.lastTouch = {\n x: $event.movementX,\n y: $event.movementY\n }\n }\n\n endMove($event: MouseEvent) {\n if (this._lockMouseMove) {\n return;\n }\n this._mouseMove = false;\n this.lastTouch = {\n x: $event.movementX,\n y: $event.movementY\n }\n }\n\n mouseLeave($event: MouseEvent) {\n this._mouseMove = false;\n }\n}\n","\n \n \n \n label\n \n \n \n perm_data_setting\n \n \n \n info\n \n \n \n font_download\n \n \n \n insert_photo\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n

 

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

 

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

 \n

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

 

\n
\n \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 {CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router, UrlSegment} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {AccountService} from \"./account.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthGuard implements CanActivate {\n\n private routeURL: string;\n\n constructor(private auth: AccountService, private router: Router) {\n this.routeURL = router.url;\n }\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\n return new Promise((resolve) => {\n if (this.auth.authenticated || this.router.url == '/login') {\n this.routeURL = this.router.url;\n return resolve(true);\n } else {\n let redirect: string = route.url[0].path;\n this.routeURL = '/login';\n this.router.navigate(['/login'], {\n queryParams: {'returnUrl': redirect}\n }).then(() => resolve(false))\n }\n });\n }\n\n}\n","import {ChangeDetectorRef, Component, Input, OnChanges, SimpleChanges} from '@angular/core';\nimport {PriceCalculationService} from \"../../service/price-calculation.service\";\nimport {LabelTypes} from \"../../../assets/data/label-types\";\nimport {LabelDesigns} from \"../../../assets/data/label-designs\";\nimport {Category} from \"../../model/enum/category\";\nimport {ColorService} from \"../../service/color.service\";\nimport {event} from \"../../model/event\";\nimport {OrderService} from \"../../service/order.service\";\nimport {environment} from \"../../../environments/environment\";\nimport {LocaleService} from \"../../service/locale.service\";\nimport {OrderProduct} from \"../../model/order/order-product\";\nimport {Dialog} from \"../../utils/dialog\";\nimport {MatDialog} from \"@angular/material/dialog\";\n\n@Component({\n selector: 'app-summary',\n templateUrl: './summary.component.html',\n styleUrls: ['./summary.component.css']\n})\nexport class SummaryComponent implements OnChanges {\n\n @Input()\n isVisible: boolean;\n\n labelTypeEnum = Category;\n postage = 3;\n termsAndConditions: boolean = false;\n private _image: string;\n private _dialog: Dialog;\n\n constructor(private priceCalculationService: PriceCalculationService,\n private colorService: ColorService,\n private orderService: OrderService,\n private ref: ChangeDetectorRef,\n private localeService: LocaleService,\n private matDialog: MatDialog) {\n document.addEventListener(event.order.TERMS_AND_CONDITIONS, () => {\n this.termsAndConditions = this.orderService.termsAndConditions;\n this.orderService.finalizeData();\n this.ref.detectChanges();\n });\n this._dialog = new Dialog(matDialog);\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this._image = '';\n this.termsAndConditions = this.orderService.termsAndConditions;\n this.orderService.finalizeData();\n }\n\n public typeName(product: OrderProduct): string {\n const labelType = LabelTypes.find(i => i.name == product.product.kind)?.label;\n if (labelType) {\n return labelType;\n }\n return $localize`:@@unspecified:`;\n }\n\n get design() {\n return this.orderService.order.getOrderProduct().product.processing;\n }\n\n public designName(product: OrderProduct): string {\n const labelDesign = LabelDesigns.find(i => i.name == product.product.processing)?.label;\n if (labelDesign) {\n return labelDesign;\n }\n return $localize`:@@unspecified:`;\n }\n\n public dimensions(product: OrderProduct): string {\n let dimension = product.product.width + ' x ' + product.product.height;\n return product.product.kind ? dimension : '';\n }\n\n public cutLabel(product: OrderProduct): string {\n return product.product.cut ? $localize`:@@yes:` : $localize`:@@no:`;\n }\n\n get quantity() {\n return this.orderService.order.getOrderProduct().quantity;\n }\n\n get material() {\n return this.orderService.order.getOrderProduct().product.materialType;\n }\n\n public numberOfColors(product: OrderProduct): number {\n if (product.product.kind === Category.PRINTED) {\n return product.product.colors.length - 1;\n }\n return product.product.colors.length;\n }\n\n // get colors() {\n // return this.colorService.getColorsAsHex();\n // }\n\n get note() {\n return this.orderService.order.note;\n }\n\n get dph() {\n return this.totalPrice * 0.2;\n }\n\n get totalPrice() {\n let price = 0;\n this.orderService.order.getOrderProducts().forEach((product) => {\n price += this.priceCalculationService.unitPrice(product) * product.quantity;\n });\n return price;\n }\n\n get totalPriceWithDPH() {\n return this.totalPrice + this.postage + this.dph;\n }\n\n get deliveryType() {\n return this.localeService.deliveryType(this.orderService.order.deliveryMethod);\n }\n\n get paymentType() {\n return this.localeService.paymentType(this.orderService.order.paymentType);\n }\n\n get products(): OrderProduct[] {\n return this.orderService.order.getOrderProducts();\n }\n\n cutAvailable(product: OrderProduct): boolean {\n const processingType = LabelDesigns.find(i => i.category == product.product.processing && i.name == product.product.kind)?.proccessingType;\n return processingType == 'cut';\n }\n\n downloadLabel(product: OrderProduct): void {\n const data = product.image;\n const link = document.createElement('a');\n link.download = 'moja_etiketa.png';\n link.href = data;\n link.click();\n }\n\n updateTermsAndConditions() {\n this.orderService.termsAndConditions = this.termsAndConditions;\n }\n\n exportJson() {\n this.orderService.finalizeData();\n alert(JSON.stringify(this.orderService.order));\n }\n\n isDebug() {\n return environment.debug;\n }\n\n public unitPrice(product: OrderProduct): number {\n return this.priceCalculationService.unitPrice(product);\n }\n\n async removeLabel(i: number) {\n if (await this._dialog.confirmDialog($localize`:@@removeProductQuestion:`)) {\n this.orderService.removeProduct(i);\n document.dispatchEvent(new CustomEvent(event.order.SELECT_PRODUCT));\n document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n }\n}\n","
\n
\n \n \n  \n \n \n \n
\n \n

\n
\n
\n \n
\n
\n
\"label\"/
\n
\n
\n \n \n
\n
\n
\n
\n
 
\n
{{typeName(product)}}
\n
\n
\n
 
\n
{{designName(product)}}
\n
\n
\n
 
\n
{{dimensions(product)}}
\n
\n
\n
 
\n
{{cutLabel(product)}}
\n
\n
\n
 
\n
{{product.quantity}}
\n
\n
\n
 
\n
{material, select, NYLON{Nylon} SATIN{Satin}}
\n
\n
\n
 
\n
{{numberOfColors(product)}}
\n
\n
\n
 
\n
\n
\n
\n
\n
\n
 
\n
{{product.note}}
\n
\n
\n
\n
\n

Doprava a platba

\n
\n
\n
 
\n
{{note}}
\n
\n
\n
 
\n
{{deliveryType}}
\n
\n
\n
 
\n
{{paymentType}}
\n
\n
\n \n *  \n \n
\n
\n  \n \n  \n
\n
\n
\n
\n
\n","import {Component, ElementRef, EventEmitter, Inject, Input, OnInit, Output, ViewChild} from '@angular/core';\nimport {DOCUMENT} from \"@angular/common\";\nimport {CanvasElement} from \"../../../model/canvas-element\";\nimport {Canvas} from \"../../../model/canvas\";\nimport {Color} from \"@angular-material-components/color-picker\";\nimport {event} from \"../../../model/event\";\nimport {ColorService} from \"../../../service/color.service\";\nimport {Converter} from \"../../../utils/converter\";\nimport {Category} from \"../../../model/enum/category\";\nimport {environment} from \"../../../../environments/environment\";\nimport {AjaxLoaderService} from \"../../../service/ajax-loader.service\";\nimport {AlertService} from \"../../../service/alert.service\";\nimport {ColorDensityComponent} from \"../../dialogs/color-density/color-density.component\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\n\n@Component({\n selector: 'app-inspector-graphics',\n templateUrl: './inspector-graphics.component.html',\n styleUrls: ['./inspector-graphics.component.css']\n})\nexport class InspectorGraphicsComponent implements OnInit {\n\n @Input()\n selected: CanvasElement;\n\n @Input()\n sendBackButtonsEnabled: boolean;\n\n @Input()\n sendForwardButtonsEnabled: boolean;\n\n @Input()\n canvas: Canvas;\n\n @Output()\n sendToBack = new EventEmitter();\n\n @Output()\n sendBackwards = new EventEmitter();\n\n @Output()\n bringForward = new EventEmitter();\n\n @Output()\n bringToFrontEvent = new EventEmitter();\n\n @ViewChild('reducedColorsPalette')\n private reducedColorsPalette: ElementRef;\n\n private document: Document;\n private _minDetectColors: number = 2;\n private originLabelBackgroundColor;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private colorService: ColorService,\n private ajaxLoaderService: AjaxLoaderService,\n private alertService: AlertService,\n private matDialog: MatDialog,\n private configLoaderService: RuntimeConfigLoaderService) {\n this.document = document;\n this.document.addEventListener(event.canvas.BACKGROUND_CHANGE, (e: any) => {\n // todo matejkobza - should replace color on the image as well\n if (environment.debug) {\n console.debug('BACKGROUND_CHANGE', e.detail);\n }\n });\n }\n\n ngOnInit() {\n if (!this.selected.isColorsReductionEnabled && !this.selected.initReductionPerformed) {\n this.toggleColorReduction();\n // perform color reduction automatically only in case the image has been just inserted\n this.selected.initReductionPerformed = true;\n }\n }\n\n public reduceColors(numberOfRequestedColors) {\n // first remove old colors\n let colors = Object.assign([], this.selected.reducedColorsPalette);\n if (this.selected.hasReducedColors) {\n for (let i = 0; i < colors.length; i++) {\n this.colorService.remove(colors[i], this.selected.id);\n }\n }\n\n this.ajaxLoaderService.show(() => {\n this.selected.reduceColors(numberOfRequestedColors).then((histogram) => {\n if (numberOfRequestedColors === this.colorService.numberOfAvailableColors() && this.canvas.getLabel().labelType == Category.PRINTED) {\n this.selected.replaceColor(this.selected.reducedColorsPalette[0], Converter.toPickerColor(this.originLabelBackgroundColor));\n } else {\n this.originLabelBackgroundColor = Converter.toPickerColor(this.canvas.getBody().fill);\n }\n this.updateProductColors(this.selected.reducedColorsPalette, this.selected.id);\n if (!this.selected.isColorsReductionEnabled) {\n this.selected.toggleImage();\n document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n this.analyzeImageHistogram(histogram);\n }).catch((reason) => {\n this.alertService.error(reason);\n }).finally(() => {\n this.ajaxLoaderService.hide();\n });\n });\n }\n\n public toggleColorReduction() {\n this.selected.isColorsReductionEnabled = !this.selected.isColorsReductionEnabled;\n if (this.selected.isColorsReductionEnabled && !this.selected.hasReducedColors) {\n let labelBackgroundColor = this.canvas.getBody().fill;\n this.ajaxLoaderService.show(() => {\n this.selected.reduceColors(this.colorService.numberOfAvailableColors()).then((histogram) => {\n if (this.canvas.getLabel().labelType === Category.PRINTED) {\n this.selected.replaceColor(this.selected.reducedColorsPalette[0], Converter.toPickerColor(labelBackgroundColor));\n }\n this.updateProductColors(this.selected.reducedColorsPalette, this.selected.id);\n this.analyzeImageHistogram(histogram);\n }).catch((reason) => {\n this.alertService.error(reason);\n }).finally(() => {\n this.ajaxLoaderService.hide();\n });\n });\n } else {\n // toggle otherwise\n this.selected.toggleImage();\n document.dispatchEvent(new CustomEvent(event.canvas.UPDATE))\n }\n }\n\n public replaceColor(source: Color, destination: Color) {\n if (source == this.selected.reducedColorsPalette[0]) {\n this.canvas.changeLabelColor(destination);\n this.colorService.updateColor(source, destination, this.canvas.getLabel().id);\n }\n this.selected.replaceColor(source, destination);\n this.colorService.updateColor(source, destination, this.selected.id);\n }\n\n public maxDetectColors(): number {\n return this.colorService.numberOfAvailableColors();\n }\n\n public minDetectColors(): number {\n return this._minDetectColors;\n }\n\n private updateProductColors(reducedColorsPalette: Color[], componentId) {\n let label = this.canvas.getLabel();\n let sourceColor = this.canvas.getBody().fill;\n this.canvas.changeLabelColor(this.selected.reducedColorsPalette[0]);\n this.colorService.updateColor(Converter.toPickerColor(sourceColor), this.selected.reducedColorsPalette[0], label.id);\n for (let i = 0; i < reducedColorsPalette.length; i++) {\n this.colorService.add(reducedColorsPalette[i], componentId);\n this.document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n }\n\n private analyzeImageHistogram(histogram: []) {\n let lowDensityColors = histogram.filter(el => el[1] < this.configLoaderService.getConfigObjectKey('image').lowDensityWarning);\n if (lowDensityColors.length) {\n this.matDialog.open(ColorDensityComponent, {\n width: '90%',\n maxWidth: '500pt',\n panelClass: 'homePanel',\n data: {\n histogram: histogram,\n lowColors: lowDensityColors\n }\n });\n }\n }\n}\n","\n  \n \n\n\n\n  \n \n\n \n
\n\n  \n \n {{ minDetectColors() + i }}\n \n\n
\n
\n \n  \n \n \n \n \n
\n
\n","export const event = {\n canvas: {\n ELEMENT_SELECTED: 'CANVAS_ELEMENT_SELECTED',\n ELEMENT_UPDATED: 'CANVAS_ELEMENT_UPDATED',\n ELEMENT_CLEARED: 'CANVAS_ELEMENT_CLEARED',\n ELEMENT_SCALED: 'CANVAS_ELEMENT_SCALED',\n UPDATE: 'CANVAS_UPDATE',\n FONT_RESIZE: \"CANVAS_FONT_RESIZE\",\n IMAGE_COLOR_DETECTION: \"IMAGE_COLOR_DETECTION\",\n REFRESH_LAYER_CONTROLS: \"REFRESH_LAYER_CONTROLS\",\n BACKGROUND_CHANGE: \"BACKGROUND_CHANGE\"\n },\n order: {\n RESET_GRAPHIC: \"RESET_GRAPHIC\",\n PRICE_RECALCULATION: \"PRICE_RECALCULATION\",\n SUBMIT_AVAILABLE: \"SUBMIT_AVAILABLE\",\n TERMS_AND_CONDITIONS: \"TERMS_AND_CONDITIONS\",\n RESET: \"RESET\",\n SELECT_PRODUCT: \"SELECT_PRODUCT\",\n BILLING_ADDRESS: \"BILLING_ADDRESS\"\n },\n label: {\n CHANGE_TYPE: \"CHANGE_TYPE\",\n CHANGE_DESIGN: \"CHANGE_DESIGN\",\n REMOVE_IMAGE: \"REMOVE_IMAGE\",\n REMOVE_ALL_IMAGES: \"REMOVE_ALL_IMAGES\"\n },\n editor: {\n COLOR_CHANGE: \"COLOR_CHANGE\",\n COLOR_ADD: \"COLOR_ADD\",\n COLOR_REMOVE: \"COLOR_REMOVE\",\n OPEN_DESIGN: \"OPEN_DESIGN\",\n OPEN_TYPE: \"OPEN_TYPE\",\n LOGIN: \"LOGIN\",\n OPEN_HOME: \"OPEN_HOME\"\n }\n}\n","export enum OrderStatus {\n Incomplete = 'Incomplete',\n Unconfirmed = 'Unconfirmed',\n Quotation = 'Quotation',\n Patterning = 'Patterning',\n PatternProduction = 'PatternProduction',\n PatternExpedition = 'PatternExpedition',\n ProposalSent = 'ProposalSent',\n Production = 'Production',\n Expedition = 'Expedition',\n WFP = 'WFP',\n Completed = 'Completed',\n Cancelled = 'Cancelled'\n}\n","export class CustomHeader {\n public static CLIENT_URL: string = 'x-client-url';\n public static SHOW_AJAX_LOADER: string = 'X-SHOW-AJAX-LOADER';\n public static TOKEN: string = 'x-token';\n}\n","import {BrowserModule} from '@angular/platform-browser';\nimport {NgModule} from '@angular/core';\nimport {AppRoutingModule} from './app-routing.module';\nimport {AppComponent} from './app.component';\nimport {MatToolbarModule} from '@angular/material/toolbar';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatMenuModule} from '@angular/material/menu';\nimport {MatTableModule} from '@angular/material/table';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatInputModule} from '@angular/material/input';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\nimport {FlexLayoutModule} from '@angular/flex-layout';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {MatDividerModule} from '@angular/material/divider';\nimport {MatProgressSpinnerModule} from '@angular/material/progress-spinner';\nimport {EditorComponent} from './component/editor/editor.component';\nimport {MatSidenavModule} from '@angular/material/sidenav';\nimport {MatListModule} from '@angular/material/list';\nimport {MatFormFieldModule} from '@angular/material/form-field';\nimport {MatSelectModule} from '@angular/material/select';\nimport {InspectorComponent} from './component/inspector/inspector.component';\nimport {ToolboxComponent} from './component/toolbox/toolbox.component';\nimport {OrderComponent} from './component/order/order.component';\nimport {LabelTypeComponent} from './component/label-type/label-type.component';\nimport {StatusBarComponent} from './component/status-bar/status-bar.component';\nimport {ScrollingModule} from '@angular/cdk/scrolling';\nimport {OnlyNumberDirective} from './utils/only-number.directive';\nimport {InspectorGraphicsComponent} from './component/inspector/inspector-graphics/inspector-graphics.component';\nimport {InspectorTextComponent} from './component/inspector/inspector-text/inspector-text.component';\nimport {GraphicsComponent} from './component/graphics/graphics.component';\nimport {\n MAT_COLOR_FORMATS,\n NGX_MAT_COLOR_FORMATS,\n NgxMatColorPickerModule\n} from '@angular-material-components/color-picker';\nimport {MatRadioModule} from \"@angular/material/radio\";\nimport {MatCardModule} from \"@angular/material/card\";\nimport {MatSliderModule} from \"@angular/material/slider\";\nimport {DesignComponent} from './component/design/design.component';\nimport {MatTooltipModule} from \"@angular/material/tooltip\";\nimport {InspectorLabelComponent} from './component/inspector/inspector-label/inspector-label.component';\nimport {MatDialogModule} from \"@angular/material/dialog\";\nimport {ConfirmationDialogComponent} from './component/dialogs/confirmation-dialog/confirmation-dialog.component';\nimport {SummaryComponent} from './component/summary/summary.component';\nimport {MatStepperModule} from '@angular/material/stepper';\nimport {DeliveryDetailsComponent} from './component/delivery-details/delivery-details.component';\nimport {InputValueStepDirective} from './utils/input-value-step.directive';\nimport {MatButtonToggleModule} from \"@angular/material/button-toggle\";\nimport {OrderHistoryComponent} from './component/order/order-history/order-history.component';\nimport {LoginComponent} from './component/uam/login/login.component';\nimport {RegistrationComponent} from './component/uam/registration/registration.component';\nimport {AccountComponent} from './component/uam/account/account.component';\nimport {MatSlideToggleModule} from \"@angular/material/slide-toggle\";\nimport {NgxDropzoneModule} from 'ngx-dropzone';\nimport {OrderProcessDetailComponent} from './component/order/order-proces-detail/order-process-detail.component';\nimport {HeaderInterceptor} from \"./interceptor/header-interceptor\";\nimport {AjaxLoaderInterceptor} from \"./interceptor/ajax-loader-interceptor.service\";\nimport {MatCheckboxModule} from '@angular/material/checkbox';\nimport {MatPaginatorIntl, MatPaginatorModule} from \"@angular/material/paginator\";\nimport {MatSortModule} from \"@angular/material/sort\";\nimport {OrderDetailComponent} from './component/order/order-detail/order-detail.component';\nimport {ActivationComponent} from './component/uam/activation/activation.component';\nimport {getSkPaginatorIntl} from './service/sk-intl.service';\nimport {RuntimeConfigLoaderModule} from \"runtime-config-loader\";\nimport {MatAutocompleteModule} from \"@angular/material/autocomplete\";\nimport {DashboardComponent} from './component/uam/dashboard/dashboard.component';\nimport {AjaxLoaderComponent, AjaxLoaderOverlayComponent} from './component/ajax-loader/ajax-loader.component';\nimport {ProductListComponent} from './component/product-list/product-list.component';\nimport {AlertComponent, AlertOverlayComponent} from \"./component/dialogs/alert/alert.component\";\nimport {LabelQuantityModalComponent} from \"./component/dialogs/label-quantity/label-quantity-modal.component\";\nimport {HomeComponent} from \"./component/dialogs/home/home.component\";\nimport { LayoutOrderComponent } from './component/layout-order/layout-order.component';\nimport { ColorDensityComponent } from './component/dialogs/color-density/color-density.component';\nimport { VersionComponent } from './component/version/version.component';\nimport {PasswordResetComponent} from \"./component/dialogs/password-reset/password-reset.component\";\nimport { UpdatePasswordComponent } from './component/uam/update-password/update-password.component';\nimport { QuestionDialogComponent } from './component/dialogs/question-dialog/question-dialog.component';\n\n@NgModule({\n declarations: [\n AppComponent,\n EditorComponent,\n HomeComponent,\n InspectorComponent,\n ToolboxComponent,\n OrderComponent,\n LabelTypeComponent,\n StatusBarComponent,\n InspectorTextComponent,\n GraphicsComponent,\n OnlyNumberDirective,\n DesignComponent,\n InspectorLabelComponent,\n ConfirmationDialogComponent,\n SummaryComponent,\n DeliveryDetailsComponent,\n InspectorGraphicsComponent,\n InputValueStepDirective,\n OrderHistoryComponent,\n LoginComponent,\n RegistrationComponent,\n AccountComponent,\n AlertComponent,\n AlertOverlayComponent,\n OrderProcessDetailComponent,\n OrderDetailComponent,\n ActivationComponent,\n DashboardComponent,\n AjaxLoaderComponent,\n AjaxLoaderOverlayComponent,\n ProductListComponent,\n LabelQuantityModalComponent,\n LayoutOrderComponent,\n ColorDensityComponent,\n VersionComponent,\n PasswordResetComponent,\n UpdatePasswordComponent,\n QuestionDialogComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n BrowserAnimationsModule,\n HttpClientModule,\n FlexLayoutModule,\n FormsModule,\n MatToolbarModule,\n MatMenuModule,\n MatIconModule,\n MatButtonModule,\n MatTableModule,\n MatDividerModule,\n MatProgressSpinnerModule,\n MatSidenavModule,\n MatListModule,\n MatInputModule,\n ReactiveFormsModule,\n ScrollingModule,\n MatFormFieldModule,\n MatSelectModule,\n NgxMatColorPickerModule,\n MatRadioModule,\n MatCardModule,\n MatSliderModule,\n MatTooltipModule,\n MatDialogModule,\n MatStepperModule,\n MatButtonToggleModule,\n MatSlideToggleModule,\n NgxDropzoneModule,\n MatCheckboxModule,\n MatPaginatorModule,\n MatSortModule,\n RuntimeConfigLoaderModule,\n MatAutocompleteModule\n ],\n providers: [\n {\n provide: MAT_COLOR_FORMATS,\n useValue: NGX_MAT_COLOR_FORMATS\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: HeaderInterceptor,\n multi: true\n },\n {\n provide: HTTP_INTERCEPTORS,\n useClass: AjaxLoaderInterceptor,\n multi: true\n },\n {\n provide: MatPaginatorIntl,\n useValue: getSkPaginatorIntl()\n }\n ],\n bootstrap: [AppComponent],\n entryComponents: [ConfirmationDialogComponent]\n})\nexport class AppModule {\n}\n","import {Dimension} from \"./dimension\";\nimport {DesignName} from \"../enum/design-name\";\nimport {Category} from \"../enum/category\";\nimport {ColorSetting} from \"../color-setting\";\n\nexport class LabelDesign {\n constructor(name: DesignName,\n label: string,\n category: Category,\n width: Dimension,\n height: Dimension,\n scale: number,\n icon: string,\n proccessingType: string | null,\n colorSetting) {\n this._name = name;\n this._label = label;\n this._category = category;\n this._width = width;\n this._height = height;\n this._scale = scale;\n this._icon = icon;\n this._proccessingType = proccessingType;\n this._colorSetting = colorSetting;\n }\n\n private _name: DesignName;\n private _label: string;\n private _category: Category;\n private _width: Dimension;\n private _height: Dimension;\n private _scale: number;\n private _icon: string;\n private _proccessingType: string | null;\n private _colorSetting: ColorSetting;\n\n\n get name(): DesignName {\n return this._name;\n }\n\n get label(): string {\n return this._label;\n }\n\n get category(): Category {\n return this._category;\n }\n\n get width(): Dimension {\n return this._width;\n }\n\n get height(): Dimension {\n return this._height;\n }\n\n get scale(): number {\n return this._scale;\n }\n\n get icon(): string {\n return this._icon;\n }\n\n get proccessingType(): string | null {\n return this._proccessingType;\n }\n\n get colorSetting(): ColorSetting {\n return this._colorSetting;\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {HttpEvent, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {Observable, throwError} from \"rxjs\";\nimport {AccountService} from \"../service/account.service\";\nimport {catchError} from \"rxjs/operators\";\nimport {LanguageService} from \"../service/language.service\";\nimport {CustomHeader} from \"../model/customHeader\";\n\n@Injectable()\nexport class HeaderInterceptor implements HttpInterceptor {\n\n constructor(private accountService: AccountService,\n private languageService: LanguageService) {\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n request = this.addHeader(request, CustomHeader.CLIENT_URL, window.location.hostname);\n request = this.addHeader(request, 'accept-language', this.languageService.language);\n\n if (this.accountService.authenticated) {\n request = this.addHeader(request, CustomHeader.TOKEN, this.accountService.getCurrentUser().token)\n }\n\n return next.handle(request).pipe(catchError(err => {\n if (err.status === 401) {\n this.accountService.logout();\n }\n return throwError(err);\n }));\n }\n\n private addHeader(request: HttpRequest, name: string, value: string): HttpRequest {\n return request.clone({\n headers: request.headers.set(name, value)\n });\n }\n}\n","import {ColorRule} from \"./color-rule\";\n\nexport class ColorSetting {\n\n private readonly _colorLimit: number;\n private readonly _rules: ColorRule[];\n\n constructor(colorLimit: number, rules: ColorRule[]) {\n this._colorLimit = colorLimit;\n this._rules = rules;\n }\n\n get colorLimit(): number {\n return this._colorLimit;\n }\n\n get rules(): ColorRule[] {\n return this._rules;\n }\n}\n","export enum Category {\n WEAVE = 'Weave',\n PRINTED = 'PrintedLabel'\n}\n","import {Component} from '@angular/core';\nimport {MatDialogRef} from \"@angular/material/dialog\";\nimport {AccountService} from \"../../../service/account.service\";\nimport {AlertService} from \"../../../service/alert.service\";\n\n@Component({\n selector: 'app-password-reset',\n templateUrl: './password-reset.component.html',\n styleUrls: ['./password-reset.component.css']\n})\nexport class PasswordResetComponent {\n\n private _email: string = '';\n\n constructor(private dialogRef: MatDialogRef,\n private accountService: AccountService,\n private alertService: AlertService) {\n }\n\n get email(): string {\n return this._email;\n }\n\n set email(value: string) {\n this._email = value;\n }\n\n public submit(): void {\n this.accountService.resetPassword(this._email).subscribe((data) => {\n this.alertService.success($localize`:@@resetPasswordEmailSent:`);\n }, () => {\n this.alertService.error($localize`:@@resetPasswordEmailInvalid:`);\n });\n this.dialogRef.close();\n }\n\n}\n","\n
\n

 

\n  
\n \n \n \n
\n
\n\n \n\n","import {Injectable} from '@angular/core';\nimport {\n HttpEvent,\n HttpHandler,\n HttpInterceptor,\n HttpRequest\n} from '@angular/common/http';\nimport {Observable} from \"rxjs\";\nimport {finalize} from \"rxjs/operators\";\n\nimport {AjaxLoaderService} from \"../service/ajax-loader.service\";\nimport {CustomHeader} from \"../model/customHeader\";\n\n@Injectable()\nexport class AjaxLoaderInterceptor implements HttpInterceptor {\n\n constructor(private loaderService: AjaxLoaderService) {\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (request.headers.get(CustomHeader.SHOW_AJAX_LOADER) === 'false') {\n return next.handle(request);\n } else {\n return this.loaderService.show(() => {\n return next.handle(request).pipe(finalize(() => {\n this.loaderService.hide();\n }));\n });\n }\n }\n\n}\n","import {Component, OnInit, ViewChild} from '@angular/core';\nimport {AccountService} from \"../../../service/account.service\";\nimport {MatPaginator} from \"@angular/material/paginator\";\nimport {MatTableDataSource} from \"@angular/material/table\";\nimport {MatSort, MatSortable} from \"@angular/material/sort\";\nimport {Router} from \"@angular/router\";\nimport {LocaleService} from \"../../../service/locale.service\";\n\n@Component({\n selector: 'app-order-history',\n templateUrl: './order-history.component.html',\n styleUrls: ['./order-history.component.css']\n})\nexport class OrderHistoryComponent implements OnInit {\n\n public orders: MatTableDataSource;\n displayedColumns: string[] = ['orderId', 'addedDate', 'completionDate', 'status', 'quantity'];\n pageSizeOptions: number[] = [10, 20, 50, 100];\n\n @ViewChild(MatSort) sort: MatSort;\n @ViewChild(MatPaginator) paginator: MatPaginator;\n\n constructor(private accountService: AccountService,\n private router: Router,\n public localeService: LocaleService) {\n }\n\n ngOnInit(): void {\n this.accountService.getUserOrders().subscribe(response => {\n this.orders = new MatTableDataSource(response);\n this.orders.sortingDataAccessor = (item, property) => {\n switch(property) {\n case 'quantity': return item.orderProducts[0].quantity;\n case 'price': return this.price(item.orderProducts[0]) * item.orderProducts[0].quantity;\n default: return item[property];\n }\n };\n this.orders.paginator = this.paginator;\n this.sort.sort(({id: 'orderId', start: 'desc'}) as MatSortable);\n this.orders.sort = this.sort;\n });\n }\n\n showOrderDetail(orderId: number) {\n this.router.navigate(['order-detail', orderId]);\n }\n\n price(orderProduct: any) {\n return orderProduct?.price === 0 ? orderProduct.clientPrice : orderProduct?.price;\n }\n}\n","
\n
\n \n \n  \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
 {{element.orderId}}\n   {{element.addedDate | date:'d.M.y HH:mm'}}  {{element.completionDate | date:'d.M.y HH:mm'}}\n  \n  {{localeService.orderStatus(element.status)}} {{element.orderProducts[0]?.quantity}} \n {{(element.orderProducts[0]?.quantity * price(element.orderProducts[0])).toFixed(2) | currency :\"EUR\"}}\n
\n \n
\n
\n
\n
\n\n","import {Directive, ElementRef, forwardRef, HostListener, Renderer2, StaticProvider} from '@angular/core';\nimport {NG_VALUE_ACCESSOR} from '@angular/forms';\n\nexport const CUSTOM_INPUT_VALUE_ACCESSOR: StaticProvider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => OnlyNumberDirective),\n multi: true\n};\n\n@Directive({\n selector: '[appOnlyNumber]',\n providers: [CUSTOM_INPUT_VALUE_ACCESSOR]\n})\nexport class OnlyNumberDirective {\n\n private onChange: ((val: string) => void) | undefined;\n private onTouched: (() => void) | undefined;\n private value = '';\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2\n ) {\n }\n\n @HostListener('input', ['$event.target.value'])\n onInputChange(value: string): void {\n const filteredValue: string = filterValue(value);\n this.updateTextInput(filteredValue, this.value !== filteredValue);\n }\n\n @HostListener('blur')\n onBlur(): void {\n this.onTouched?.();\n }\n\n private updateTextInput(value: string, propagateChange: boolean): void {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n if (propagateChange) {\n this.onChange?.(value);\n }\n this.value = value;\n }\n\n // ControlValueAccessor Interface\n registerOnChange(fn: any): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.renderer.setProperty(this.elementRef.nativeElement, 'disabled', isDisabled);\n }\n\n writeValue(value: any): void {\n value = value ? String(value) : '';\n this.updateTextInput(value, false);\n }\n}\n\nfunction filterValue(value: string): string {\n return value.replace(/[^0-9]*/g, '');\n}\n","import {UsedColor} from \"./used-color\";\nimport {Color} from \"@angular-material-components/color-picker\";\n\nexport class UsedColorsData {\n private _colors: UsedColor[];\n private _background: Color;\n\n constructor(colors: UsedColor[], background: Color) {\n this._colors = colors;\n this._background = background;\n }\n\n get colors(): UsedColor[] {\n return this._colors;\n }\n\n set colors(value: UsedColor[]) {\n this._colors = value;\n }\n\n get background(): Color {\n return this._background;\n }\n\n set background(value: Color) {\n this._background = value;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {Subject, Subscription} from \"rxjs\";\nimport {Alert} from \"../model/alert\";\nimport {AlertType} from \"../model/enum/alert-type\";\nimport {LocaleService} from \"./locale.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AlertService {\n\n private _subject = new Subject();\n\n constructor(private localeService: LocaleService) {\n }\n\n success(message: string, options?: any) {\n this.alert(new Alert({...options, type: AlertType.Success, message}));\n }\n\n error(message: any, options?: any) {\n let alertText = this.localeService.error(message)\n alertText = (typeof alertText === 'string') ? alertText : (options?.alternateErrorText) ? options.alternateErrorText : $localize`:@@generalError:`;\n this.alert(new Alert({...options, type: AlertType.Error, message: alertText}));\n }\n\n info(message: string, options?: any) {\n this.alert(new Alert({...options, type: AlertType.Info, message}));\n }\n\n warn(message: string, options?: any) {\n this.alert(new Alert({...options, type: AlertType.Warning, message}));\n }\n\n private alert(alert: Alert) {\n let el = document.querySelector( ':focus' );\n if( el ) (el as HTMLElement).blur();\n this._subject.next(alert);\n }\n\n subscribe(id: string, observer): Subscription {\n return this._subject.asObservable().subscribe(alert => {\n observer(alert);\n })\n }\n}\n","import {Component, Inject, Input} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {event} from '../../model/event';\nimport {Converter} from \"../../utils/converter\";\nimport {CanvasElement} from \"../../model/canvas-element\";\nimport {Canvas} from \"../../model/canvas\";\nimport {CanvasObjectType} from \"../../model/enum/canvas-object-type\";\n\n@Component({\n selector: 'app-inspector',\n templateUrl: './inspector.component.html',\n styleUrls: ['./inspector.component.css']\n})\nexport class InspectorComponent {\n\n public selected: CanvasElement | null = null;\n public label = CanvasObjectType.LABEL;\n public text = CanvasObjectType.TEXT;\n public image = CanvasObjectType.IMAGE;\n\n @Input()\n canvas: Canvas;\n\n sendBackButtonsEnabled: boolean = false;\n sendForwardButtonsEnabled: boolean = false;\n\n constructor(@Inject(DOCUMENT) document: Document) {\n document.addEventListener(event.canvas.ELEMENT_SELECTED, (e: any) => {\n this.selected = e.detail;\n this.refreshLayerControls();\n });\n\n document.addEventListener(event.canvas.ELEMENT_UPDATED, (e: any) => {\n this.selected = e.detail;\n if (this.selected != null) {\n this.selected.fill = Converter.toPickerColor(this.selected.fill);\n }\n this.refreshLayerControls();\n });\n\n document.addEventListener(event.canvas.ELEMENT_CLEARED, () => {\n this.selected = null;\n });\n\n document.addEventListener(event.canvas.REFRESH_LAYER_CONTROLS, () => {\n this.refreshLayerControls();\n });\n }\n\n /**\n * Refresh layer controls to correct state\n */\n refreshLayerControls(): void {\n if (this.selected && this.selected.objectType !== CanvasObjectType.LABEL) {\n this.sendBackButtonsEnabled = this.canvas.isObjectOnBack(this.selected);\n this.sendForwardButtonsEnabled = this.canvas.isObjectOnFront(this.selected);\n }\n }\n\n /**\n * Send object behind all canvas objects except label\n */\n sendToBack(): void {\n if (this.selected) {\n this.canvas.sendToBack(this.selected);\n }\n }\n\n /**\n * Send object one position behind\n */\n sendBackwards(): void {\n if (this.selected) {\n this.canvas.sendBackwards(this.selected);\n }\n }\n\n /**\n * Bring object one position forward\n */\n bringForward(): void {\n if (this.selected) {\n this.canvas.bringForward(this.selected);\n }\n }\n\n /**\n * Bring object to front of all canvas objects\n */\n bringToFront(): void {\n if (this.selected) {\n this.canvas.bringToFront(this.selected);\n }\n }\n}\n","
\n
\n
 
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n","import {LabelDesign} from '../../app/model/label/design';\nimport {Category} from \"../../app/model/enum/category\";\nimport {DesignName} from \"../../app/model/enum/design-name\";\nimport {Dimension} from \"../../app/model/label/dimension\";\nimport {ColorSetting} from \"../../app/model/color-setting\";\nimport {\n PRINTED_BLACK_RULE,\n PRINTED_CREAM_RULE,\n PRINTED_RED_RULE,\n PRINTED_WHITE_RULE, WEAVE_BLACK_RULE,\n WEAVE_WHITE_RULE\n} from \"./color-settings\";\n\nexport const LabelDesigns: LabelDesign[] = [\n // Weave labels\n new LabelDesign(DesignName.STRIP, 'Tkaná štandardná', Category.WEAVE, new Dimension(12, 150, 1, 100), new Dimension(10, 75, 1, 30), 6, 'weave-standard.png', 'cut', new ColorSetting( 8, [])),\n new LabelDesign(DesignName.BENT_ON_EDGE, 'Založená na konci', Category.WEAVE, new Dimension(32, 150, 1, 100), new Dimension(10, 75, 1, 30), 6, 'weave-bent-on-edge.png', null, new ColorSetting(8, [])),\n new LabelDesign(DesignName.BENT_ON_END, 'Založená na konci', Category.WEAVE, new Dimension(12, 150, 1, 30), new Dimension(25, 90, 1, 60), 6, 'weave-bent-on-end.png', null, new ColorSetting(8, [])),\n new LabelDesign(DesignName.BENT_ON_HALF, 'Založená na 1/2', Category.WEAVE, new Dimension(12, 150, 1, 50), new Dimension(20, 150, 1, 100), 3.5, 'weave-bent-on-half.png', null, new ColorSetting(8, [])),\n new LabelDesign(DesignName.BENT_ON_HALF_HEIGHT, 'Založená na 1/2', Category.WEAVE, new Dimension(40, 180, 1, 120), new Dimension(10, 75, 1, 30), 6, 'weave-bent-on-half-height.png', null, new ColorSetting(8, [])),\n new LabelDesign(DesignName.CUT_INTO_SHAPE, 'Vyrezaná do tvaru', Category.WEAVE, new Dimension(12, 150, 1, 100), new Dimension(20, 150, 1, 100), 4, 'weave-cut-into-shape.png', null, new ColorSetting(8, [])),\n new LabelDesign(DesignName.ZIPPED, 'Na zips', Category.WEAVE, new Dimension(50, 150, 1, 75), new Dimension(20, 40, 1, 20), 10, 'weave-zipped.png', null, new ColorSetting(8, [])),\n new LabelDesign(DesignName.SIZE_SIMPLE, 'Veľkostná etiketa', Category.WEAVE, new Dimension(10, 10, 0, 10), new Dimension(30, 30, 0, 30), 14, 'weave-size-simple.png', null, new ColorSetting(2, [WEAVE_WHITE_RULE, WEAVE_BLACK_RULE])),\n new LabelDesign(DesignName.SIZE_BENT, 'Veľkostná etiketa na prehnutie', Category.WEAVE, new Dimension(10, 10, 0, 10), new Dimension(40, 40, 0, 40), 14, 'weave-size-bent.png', null, new ColorSetting(2, [WEAVE_WHITE_RULE, WEAVE_BLACK_RULE])),\n // Printed labels\n new LabelDesign(DesignName.PRINTED_WIDTH, 'Etiketa na šírku', Category.PRINTED, new Dimension(10, 150, 1, 100), new Dimension(10, 80, 1, 40), 6, 'printed-standard.png', 'cut', new ColorSetting(3, [PRINTED_WHITE_RULE, PRINTED_RED_RULE, PRINTED_CREAM_RULE, PRINTED_BLACK_RULE])),\n new LabelDesign(DesignName.PRINTED_HEIGHT, 'Etiketa na výšku', Category.PRINTED, new Dimension(10, 80, 1, 40), new Dimension(10, 150, 1, 100), 6, 'printed-standard-height.png', 'cut', new ColorSetting(3, [PRINTED_WHITE_RULE, PRINTED_RED_RULE, PRINTED_CREAM_RULE, PRINTED_BLACK_RULE])),\n ];\n","import { Component, OnInit } from '@angular/core';\nimport {MatDialogRef} from \"@angular/material/dialog\";\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent implements OnInit {\n\n constructor(private dialogRef: MatDialogRef) { }\n\n ngOnInit(): void {\n }\n\n close() {\n this.dialogRef.close();\n }\n}\n","\n
\n

 

\n
\n \n \n
\n

 

\n

 

\n

 

\n\n

 

\n

 

\n\n

 

\n

 

\n\n

 

\n

 

\n\n

Postup pri návrhu vlastnej etikety za pomoci interaktívneho dizajnéra

\n
    \n
  • Vyberte si Technológiu, či chcete tkanú alebo tlačenú etiketu.
  • \n
  • Vyberiete si v Prevedení ako má byť upravená - aký bude vzhľad. Je to dôležite pre prišitie etikety na výrobok.
  • \n
  • Nastavte si v Inšpektore rozmer etikety - jej veľkosť.
  • \n
  • U tlačenej si vyberte typ pásky a jej farbu.
  • \n
  • U tkanej etikety farbu plochy etikety.
  • \n
  • V ďaľšom kroku v Nástrojoch si môžete nadesignovať texty a ošetrovacie symboly ak je to dostatočné. Zároveň nastavíte farby aké majú byť použité.
  • \n
  • V kroku Grafika môžete naimportovať akýkoľvek obrázok. Odporúčame si vzhľad etikety nakresliť v grafickom editore a tento obrázok naimportovať do systému.
  • \n
  • Následne zapnite detekciu farieb, a vyberte si koľko farieb etiketa má mať. Doporučujeme čo najmenej - etiketa bude krajšia a čistejšia. Ideálne je 2-4 farby.
  • \n
  • Môžete s paletkami farbu upraviť.
  • \n
  • Design máte hotový - preklopte návrhár na položku dodacie podmienky a vyplňte ich. Tu aj nastavte počet kusov.
  • \n
  • Následne môžete prekontrolovať cenu pre iné množstvo úpravou množstva po poklepaní na cenu v pravo hore.
  • \n
  • Po dokončení prepnite na Zhrnutie objednávky.
  • \n
  • Máte hotovo!
  • \n
  • Ak ste spokojný a etiketu chcete, prihláste sa a zašlite nám ju. Následne do 24h sa vám ozve náš obchodník a dorieši detaily na ktoré sa zabudlo.
  • \n
  • Dostanete email s finálnou cenovou ponukou, až odpoveď naň je záväznou objednávkou.
  • \n
\n
\n
\n","import {Injectable} from '@angular/core';\nimport {HttpClient} from \"@angular/common/http\";\nimport {Observable} from \"rxjs\";\nimport {AccountService} from \"./account.service\";\nimport {Order} from \"../model/order/order\";\nimport {Canvas} from \"../model/canvas\";\nimport {Category} from \"../model/enum/category\";\nimport {PrintedLabelColors} from \"../model/enum/printed-label-colors\";\nimport {MaterialName} from \"../model/enum/material-name\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {ColorService} from \"./color.service\";\nimport {AjaxLoaderService} from \"./ajax-loader.service\";\nimport {environment} from \"../../environments/environment\";\nimport {Generator} from \"../utils/generator\";\nimport {UserFile} from \"../model/userFile\";\nimport {AttachmentType} from \"../model/enum/attachment-type\";\nimport {DesignName} from \"../model/enum/design-name\";\nimport {CanvasElement} from \"../model/canvas-element\";\nimport {LabelDesigns} from \"../../assets/data/label-designs\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderService {\n\n private _order: Order;\n private _isOrderChanged: boolean = false;\n private readonly _canvas: Canvas;\n private _canvasJson: string = '';\n private _termsAndConditions: boolean = false;\n private _attachments: UserFile[] = [];\n\n constructor(private http: HttpClient,\n private accountService: AccountService,\n private configLoaderService: RuntimeConfigLoaderService,\n private colorService: ColorService,\n private ajaxLoaderService: AjaxLoaderService) {\n this._canvas = new Canvas(document, configLoaderService, ajaxLoaderService);\n this._order = new Order(this.configLoaderService.getConfigObjectKey('order').minQuantity);\n }\n\n private getCurrentUserId(): string {\n return this.accountService.getCurrentUser().userId;\n }\n\n getCountryList(): Observable {\n return this.http.get(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/api/countries`);\n }\n\n getOrderDetail(orderId: number): Promise {\n return this.http.get(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/` + this.getCurrentUserId() + '/orders/' + orderId).toPromise();\n }\n\n getOrderImage(productId: number): Promise {\n return this.http.get(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/` + this.getCurrentUserId() + '/products/' + productId + '/getImage', {responseType: 'blob'}).toPromise();\n }\n\n submitOrder(order: FormData): Observable {\n return this.http.post(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/` + this.getCurrentUserId() + '/orders', order);\n }\n\n get order(): Order {\n return this._order;\n }\n\n public changeLabelType(labelType: string) {\n this._order.getOrderProduct().locked = false;\n this._order.getOrderProduct().product.kind = labelType;\n if (environment.debug) {\n console.debug('Change label type: ', labelType);\n }\n if (labelType == Category.PRINTED) {\n this._order.getOrderProduct().product.materialColor = PrintedLabelColors.WHITE;\n this._order.getOrderProduct().product.materialType = MaterialName.NYLON;\n } else {\n this._order.getOrderProduct().product.materialType = MaterialName.NONE;\n this._order.getOrderProduct().product.materialColor = PrintedLabelColors.NONE;\n }\n this.changeDesign(null);\n this._isOrderChanged = true;\n }\n\n public changeDesign(design: string | null) {\n this._order.getOrderProduct().product.processing = design;\n this._order.getOrderProduct().product.cut = false;\n // todo for those carved by default, set cut to true otherwise design surcharge will not apply\n if (DesignName.CUT_INTO_SHAPE === design) {\n this._order.getOrderProduct().product.cut = true;\n }\n this._isOrderChanged = true;\n }\n\n get isOrderChanged(): boolean {\n return this._isOrderChanged;\n }\n\n set street(street: string) {\n this._order.address.street = street;\n this._isOrderChanged = true;\n }\n\n set city(city: string) {\n this._order.address.city = city;\n this._isOrderChanged = true;\n }\n\n set zip(zip: string) {\n this.order.address.zip = zip;\n this._isOrderChanged = true;\n }\n\n set countryCode(countryCode: string) {\n this.order.address.countryCode = countryCode;\n this._isOrderChanged = true;\n }\n\n set email(email: string) {\n this.order.address.email = email;\n this._isOrderChanged = true;\n }\n\n set phone(phone: string) {\n this.order.address.phone = phone;\n this._isOrderChanged = true;\n }\n\n public setProductColors(colors: string[]) {\n this._order.getOrderProduct().product.colors = colors;\n this._isOrderChanged = true;\n }\n\n public reset() {\n this._order = new Order(this.configLoaderService.getConfigObjectKey('order').minQuantity);\n this._termsAndConditions = false;\n this._canvas.clearCanvas();\n this._isOrderChanged = false;\n this._attachments = []\n }\n\n getCanvas() {\n return this._canvas;\n }\n\n getCanvasJson(): string {\n return this._canvasJson;\n }\n\n get canvasElements() {\n return this._order.getOrderProduct().canvasElements;\n }\n\n saveCanvasJson(): void {\n this._canvasJson = this._canvas.toJSON();\n this._order.getOrderProduct().canvasElements = this._canvas.canvasElements;\n this._order.getOrderProduct().json = this._canvasJson;\n this._order.getOrderProduct().image = this._canvas.downloadLabel();\n }\n\n get termsAndConditions() {\n return this._termsAndConditions;\n }\n\n set termsAndConditions(v) {\n this._termsAndConditions = v;\n this._isOrderChanged = true;\n }\n\n /**\n * if there are needed some data calculated for order to be prepared just before being sent to backend\n */\n public finalizeData(): void {\n this.order.getOrderProduct().product.colors = this.colorService.getColorsAsHex();\n }\n\n public isAddressComplete(): boolean {\n let address = this.order.address;\n return address.isComplete();\n }\n\n public quantityWithinBounds(): boolean {\n return this.order.getOrderProduct().quantity >= this.configLoaderService.getConfig().order.minQuantity &&\n this.order.getOrderProduct().quantity <= this.configLoaderService.getConfig().order.maxQuantity\n }\n\n public resetQuantity(): void {\n this.order.getOrderProduct().quantity = this.configLoaderService.getConfigObjectKey('order').minQuantity;\n }\n\n public addAttachments(attachments: File[], type: AttachmentType): void {\n for (let attachment of attachments) {\n this.addAttachment(attachment, type);\n }\n }\n\n public addAttachment(attachment: File, type: AttachmentType): string {\n let id = Generator.ID();\n if (AttachmentType.GRAPHIC === type) {\n this._order.getOrderProduct().addImageId(id);\n }\n let f = new UserFile(id, attachment, type);\n this._attachments.push(f);\n return f.id;\n }\n\n public removeAttachment(id: string, type: AttachmentType): void {\n let remove = true;\n if (AttachmentType.GRAPHIC === type) {\n remove = this._order.getOrderProduct().removeImageId(id);\n }\n\n if (remove) {\n let index = this._attachments.map(a => a.id).indexOf(id);\n this._attachments.splice(index, 1);\n }\n }\n\n public getAttachments(type: AttachmentType | undefined = undefined): UserFile[] {\n if (type === undefined) {\n return this._attachments;\n } else {\n return this._attachments.filter(attachment => attachment.type === type);\n }\n }\n\n addNewProduct() {\n // save canvas json (represents view on canvas)\n this.saveCanvasJson();\n // save colors data from colorsService\n this.finalizeData();\n this._order.getOrderProduct().colorData = this.colorService.save();\n this.colorService.reset();\n this._order.addNewProduct();\n }\n\n getOrderProductJson() {\n return this._order.getOrderProduct().json;\n }\n\n getOrderProductCanvasElements(): CanvasElement[] {\n return this._order.getOrderProduct().canvasElements;\n }\n\n selectProduct(i: number) {\n this.saveCanvasJson();\n this.finalizeData();\n this._order.getOrderProduct().colorData = this.colorService.save();\n this._order.selectProduct(i);\n let design = LabelDesigns.find(d => d.name === this._order.getOrderProduct().product.processing);\n this.colorService.load(this._order.getOrderProduct().colorData, design);\n }\n\n removeProduct(i: number) {\n this.finalizeData();\n this.saveCanvasJson();\n this._order.getOrderProduct().colorData = this.colorService.save();\n this._order.removeProduct(i);\n }\n}\n","import {ChangeDetectorRef, Component, Inject, OnInit} from '@angular/core';\nimport {AccountService} from \"../../service/account.service\";\nimport {Product} from \"../../model/order/product\";\nimport {LabelDesign} from \"../../model/label/design\";\nimport {OrderService} from \"../../service/order.service\";\nimport {Router} from \"@angular/router\";\nimport {ProductImageService} from \"../../service/product-image.service\";\nimport {Category} from \"../../model/enum/category\";\nimport {DesignName} from \"../../model/enum/design-name\";\nimport {Dimension} from \"../../model/label/dimension\";\nimport {DesignUtil} from \"../../utils/design-util\";\nimport {Dialog} from \"../../utils/dialog\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {LabelQuantityModalComponent} from \"../dialogs/label-quantity/label-quantity-modal.component\";\nimport {event} from '../../model/event';\nimport {DOCUMENT} from \"@angular/common\";\n\n@Component({\n selector: 'app-product-list',\n templateUrl: './product-list.component.html',\n styleUrls: ['./product-list.component.css']\n})\nexport class ProductListComponent implements OnInit {\n\n private _products: Product[] = [];\n private _dialog: Dialog;\n private _document: Document;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private accountService: AccountService,\n private changeDetectorRef: ChangeDetectorRef,\n private orderService: OrderService,\n private router: Router,\n private productImageService: ProductImageService,\n private matDialog: MatDialog,\n private configLoaderService: RuntimeConfigLoaderService) {\n this._dialog = new Dialog(matDialog);\n this._document = document;\n }\n\n\n ngOnInit(): void {\n this.accountService.getUserProducts().subscribe((response: Product[]) => {\n this._products = response;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n get products(): Product[] {\n return this._products;\n }\n\n public imageUrl(productId: number): string {\n return this.productImageService.productImageUrl(productId);\n }\n\n public design(category: string, processing: string, width: number = 0, height: number = 0): LabelDesign {\n let design = DesignUtil.recognize(category, processing, width, height);\n if (design == null) {\n return new LabelDesign(DesignName.STRIP, $localize`:@@unspecified:`, Category.WEAVE,\n new Dimension(0, 0, 0, 0),\n new Dimension(0, 0, 0, 0), 0, '', null, null);\n } else {\n return design;\n }\n }\n\n public async select(product: Product): Promise {\n const message = $localize`:@@productSelectionOrderInProgressAlert:`;\n if (this.orderService.isOrderChanged) {\n // inform user about order in process, and let him decide what he wants\n let selectedOption = await this._dialog.questionDialog(message, [{title: $localize`:@@addAnotherProduct:`}, {title: $localize`:@@replaceProduct:`}, {title: $localize`:@@cancel:`}]);\n // add second label to order\n if (selectedOption == 0) {\n this.orderService.addNewProduct();\n }\n\n // reset order and add product\n if (selectedOption == 1) {\n this.orderService.reset();\n }\n await this.selectProductInternal(product);\n } else {\n await this.selectProductInternal(product);\n }\n }\n\n private async selectProductInternal(product) {\n const quantityModal = this.matDialog.open(LabelQuantityModalComponent, {\n width: '90%',\n maxWidth: '500pt',\n panelClass: 'homePanel',\n data: {quantity: this.configLoaderService.getConfigObjectKey('order').minQuantity}\n });\n\n quantityModal.afterClosed().subscribe((result: number) => {\n if (result) {\n this.orderService.order.getOrderProduct().product = Object.assign(new Product(), product);\n this.orderService.order.getOrderProduct().locked = true;\n this.orderService.order.note = '';\n this.orderService.order.getOrderProduct().note = '';\n this.orderService.order.getOrderProduct().quantity = result;\n this.orderService.order.getOrderProduct().price = product.price;\n this.orderService.setProductColors(product.colors);\n this._document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n this.router.navigate(['/'], {queryParams: {'tab': '1'}});\n }\n });\n }\n}\n","
\n
\n \n \n  \n \n \n 0\">\n
\n
\n
\n
\n \"Product\n
\n
\n {{design(product.kind, product.processing, product.width, product.height)?.label}}\n {{product.width}} x {{product.height}}\n {{product.price}} €/ \n \n \n \n \n
\n \n
\n
\n
\n
\n \n  \n \n
\n
\n
\n
\n","import {Product} from \"./product\";\nimport {CanvasElement} from \"../canvas-element\";\nimport {UsedColorsData} from \"../used-colors-data\";\n\nexport class OrderProduct {\n\n private _product: Product;\n private _quantity: number;\n private _note: string = '';\n private _clientPrice: number = 0;\n private _price: number = 0;\n private _status: string = '';\n private _locked: boolean = false;\n private _json: string = '';\n private _canvasElements: CanvasElement[] = [];\n private _image: any;\n private _colorData: UsedColorsData;\n private _imageIds: string[] = [];\n\n constructor(quantity: number) {\n this._product = new Product();\n this._quantity = quantity;\n }\n\n get product(): Product {\n return this._product;\n }\n\n set product(value: Product) {\n this._product = value;\n }\n\n get quantity(): number {\n return this._quantity;\n }\n\n set quantity(value: number) {\n this._quantity = value;\n }\n\n get note(): string {\n return this._note;\n }\n\n set note(value: string) {\n this._note = value;\n }\n\n get clientPrice(): number {\n return this._clientPrice;\n }\n\n set clientPrice(value: number) {\n this._clientPrice = value;\n }\n\n get price(): number {\n return this._price;\n }\n\n set price(value: number) {\n this._price = value;\n }\n\n get status(): string {\n return this._status;\n }\n\n set status(status: string) {\n this._status = status;\n }\n\n get locked(): boolean {\n return this._locked;\n }\n\n set locked(value: boolean) {\n this._locked = value;\n }\n\n get json(): string {\n return this._json;\n }\n\n set json(value: string) {\n this._json = value;\n }\n\n get canvasElements(): CanvasElement[] {\n return this._canvasElements;\n }\n\n set canvasElements(value: CanvasElement[]) {\n this._canvasElements = value;\n }\n\n get image(): any {\n return this._image;\n }\n\n set image(value: any) {\n this._image = value;\n }\n\n get colorData(): UsedColorsData {\n return this._colorData;\n }\n\n set colorData(value: UsedColorsData) {\n this._colorData = value;\n }\n\n get imageIds() {\n return this._imageIds;\n }\n\n addImageId(id: string) {\n this._imageIds.push(id);\n }\n\n removeImageId(id: string): boolean {\n let index = this.imageIds.indexOf(id);\n this._imageIds.splice(index, 1);\n return index > -1;\n }\n\n toJSON() {\n return {\n product: this.product.toJSON(),\n quantity: this.quantity,\n note: this.note,\n clientPrice: this.clientPrice\n }\n }\n}\n","import {Component, OnInit} from '@angular/core';\nimport {AccountService} from \"../../../service/account.service\";\n\n@Component({\n selector: 'app-dashboard',\n templateUrl: './dashboard.component.html',\n styleUrls: ['./dashboard.component.css']\n})\nexport class DashboardComponent implements OnInit {\n\n constructor(private accountService: AccountService) {\n }\n\n ngOnInit(): void {\n }\n\n logout() {\n this.accountService.logout();\n }\n}\n","
\n
\n \n \n \n \n \n \n \n \n \n open_in_new \n  \n \n \n \n \n
\n
\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject} from \"rxjs\";\nimport {OrderService} from \"./order.service\";\nimport {Category} from \"../model/enum/category\";\nimport {DesignName} from \"../model/enum/design-name\";\nimport {MaterialName} from \"../model/enum/material-name\";\nimport {OrderProduct} from \"../model/order/order-product\";\nimport {PrintedLabelColors} from \"../model/enum/printed-label-colors\";\nimport {ColorService} from \"./color.service\";\nimport {Color} from \"@angular-material-components/color-picker\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PriceCalculationService {\n\n // Pricing list based on the color count\n COLOR_PRICE_LIST: number[] = [1, 1, 1.03, 1.06, 1.08, 1.1, 1.11, 1.12];\n\n private _totalPrice = new BehaviorSubject(0);\n currentTotalPrice = this._totalPrice.asObservable();\n\n constructor(private orderService: OrderService,\n private colorService: ColorService,\n private configLoaderService: RuntimeConfigLoaderService) {\n }\n\n update() {\n let totalPrice = 0;\n this.orderService.order.getOrderProducts().forEach(product => {\n if (product.locked && !this.configLoaderService.getConfigObjectKey('order').recalculateProductPrice) {\n // do nothing\n } else {\n product.price = this.unitPrice(product);\n }\n totalPrice += this.calculateTotalPrice(product.price, product);\n product.clientPrice = product.price;\n });\n this._totalPrice.next(totalPrice);\n }\n\n get totalPrice() {\n return this._totalPrice.getValue();\n }\n\n private calculateTotalPrice(itemPrice: number, orderProduct: OrderProduct): number {\n return Number(parseFloat(String(itemPrice * orderProduct.quantity)).toFixed(2));\n }\n\n public unitPrice(orderProduct: OrderProduct): number {\n const product = orderProduct.product;\n const width = product.width;\n const height = product.height;\n const quantity = orderProduct.quantity;\n // const colorCount = (product.colors == null || product.colors.length === 0) ? 1 : product.colors.length;\n const colorCount = this.colorService.getColorsAsHex().length;\n const type = product.kind;\n const design = product.processing;\n const material = product.materialType;\n const materialColor: Color = this.colorService.labelBackgroundColor;\n const cutLabel = product.cut;\n\n // total price\n let price = 0;\n\n if (design && width && height) {\n if (type == Category.WEAVE) {\n if (DesignName.SIZE_SIMPLE === design) {\n price = 0.02;\n } else if (DesignName.SIZE_BENT === design) {\n price = 0.03;\n } else {\n price = this.unitPriceWeave(width, height, quantity, colorCount) + this.designSurcharge(design as DesignName, cutLabel);\n }\n } else if (type == Category.PRINTED && material && materialColor) {\n price = this.unitPricePrinted(width, height, quantity, colorCount - 1, material as MaterialName, materialColor) + this.designSurcharge(design as DesignName, cutLabel);\n }\n }\n\n return parseFloat(price.toFixed(3));\n }\n\n /**\n * Price for one unit of weave label\n * @param width - width of the product in mm\n * @param height - height of the product in mm\n * @param quantity - ordered product quantity\n * @param colorCount - number of colors\n */\n private unitPriceWeave(width: number, height: number, quantity: number, colorCount: number): number {\n // total unit price\n let price = (((height * width * 0.00001)) * ((((quantity / (1150 / height)) + 4))\n * (1200 / height)) + ((((((quantity / (1200 / height)) + 3)) * (width * 11)) / 500) * 0.58) + 45) / quantity;\n\n // Adding price based on colors count\n let index = colorCount;\n // check within bounds\n if (index < 1) {\n index = 1;\n }\n if (index > this.COLOR_PRICE_LIST.length) {\n index = this.COLOR_PRICE_LIST.length;\n }\n price *= this.COLOR_PRICE_LIST[index - 1];\n\n return price;\n }\n\n /**\n * Price for one unit of printed label\n * @param width - width of the product in mm\n * @param height - height of the product in mm\n * @param quantity - ordered product quantity\n * @param colorCount - number of colors\n * @param material - material of label\n * @param materialColor - material color\n */\n private unitPricePrinted(width: number, height: number, quantity: number, colorCount: number, material: MaterialName, materialColor: Color): number {\n // total area in cm2\n let price = width * height / 100000;\n\n let color = '#' + materialColor.hex;\n\n // price for material and color count\n if (material == MaterialName.NYLON) {\n if (colorCount == 1) {\n price = price * 2;\n } else if (colorCount == 2) {\n price = price * 2.5;\n } else if (colorCount >= 3) {\n price = price * 3.0;\n }\n } else if (material == MaterialName.SATIN) {\n if (color == PrintedLabelColors.BLACK || color == PrintedLabelColors.WHITE) {\n if (colorCount == 1) {\n price = price * 2.5;\n } else if (colorCount == 2) {\n price = price * 3.2;\n } else if (colorCount >= 3) {\n price = price * 3.5;\n }\n } else if (color == PrintedLabelColors.CREAM || color == PrintedLabelColors.RED) {\n if (colorCount == 1) {\n price = price * 2.5;\n } else if (colorCount == 2) {\n price = price * 3.2;\n } else if (colorCount >= 3) {\n price = price * 3.5;\n }\n }\n }\n\n return price;\n }\n\n /**\n * Surcharge for one unit of label\n * @param design - label design\n * @param cutLabel\n */\n private designSurcharge(design: DesignName, cutLabel: boolean): number {\n // total surcharge\n let price = 0;\n\n if (!cutLabel) {\n return price;\n }\n\n // Adding price based on processing\n if (design) {\n switch (design) {\n case DesignName.STRIP:\n case DesignName.PRINTED_WIDTH:\n case DesignName.PRINTED_HEIGHT: {\n price += 0.011;\n break;\n }\n case DesignName.BENT_ON_EDGE:\n case DesignName.BENT_ON_END:\n case DesignName.BENT_ON_HALF:\n case DesignName.BENT_ON_HALF_HEIGHT: {\n price += 0.022;\n break;\n }\n case DesignName.ZIPPED: {\n price += 0.035;\n break;\n }\n case DesignName.CUT_INTO_SHAPE: {\n price += 0.8;\n break;\n }\n case DesignName.SIZE_BENT:\n case DesignName.SIZE_SIMPLE: {\n break;\n }\n\n }\n }\n return price;\n }\n\n reset() {\n this._totalPrice.next(0);\n }\n}\n","import {Component, EventEmitter, Inject, Input, OnInit, Output} from '@angular/core';\nimport {event} from '../../../model/event';\nimport {DOCUMENT} from '@angular/common';\nimport {Color, NgxMatColorPickerInputEvent} from '@angular-material-components/color-picker';\nimport {Converter} from '../../../utils/converter';\nimport {CanvasElement} from '../../../model/canvas-element';\nimport {FontFamilies} from '../../../model/enum/font-families';\nimport {ColorService} from '../../../service/color.service';\nimport {FormBuilder, FormGroup} from \"@angular/forms\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {CanvasObjectType} from \"../../../model/enum/canvas-object-type\";\n\n@Component({\n selector: 'app-inspector-text',\n templateUrl: './inspector-text.component.html',\n styleUrls: ['./inspector-text.component.css'],\n})\nexport class InspectorTextComponent implements OnInit {\n\n @Input()\n public selected: CanvasElement;\n\n @Input()\n public sendBackButtonsEnabled: boolean;\n\n @Input()\n public sendForwardButtonsEnabled: boolean;\n\n @Output()\n sendToBack = new EventEmitter();\n\n @Output()\n sendBackwards = new EventEmitter();\n\n @Output()\n bringForward = new EventEmitter();\n\n @Output()\n bringToFront = new EventEmitter();\n\n private document;\n textForm: FormGroup;\n\n constructor(\n @Inject(DOCUMENT) document: Document,\n private colorService: ColorService,\n private fb: FormBuilder,\n private configLoaderService: RuntimeConfigLoaderService\n ) {\n this.document = document;\n this.textForm = this.fb.group({\n text: '',\n size: 0,\n angle: 0,\n color: new Color(0, 0, 0, 1),\n fontFamily: FontFamilies.TIMES_NEW_ROMAN\n });\n\n this.textForm.get('color')?.valueChanges.subscribe((color) => {\n let original = Converter.toPickerColor(this.selected.fill);\n this.selected.fill = color;\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n if (original !== undefined && color !== undefined && original.hex != color.hex) {\n this.document.dispatchEvent(\n new CustomEvent(event.editor.COLOR_CHANGE, {\n detail: {\n source: original,\n target: this.textForm.get('color')?.value,\n componentId: this.selected.id,\n },\n })\n );\n }\n });\n\n this.textForm.get('size')?.valueChanges.subscribe((value) => {\n this.selected.fontSize = value;\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n });\n\n this.textForm.get('text')?.valueChanges.subscribe((text) => {\n this.selected.text = text;\n });\n\n this.textForm.get('angle')?.valueChanges.subscribe((angle) => {\n this.selected.rotate(angle);\n });\n\n this.document.addEventListener(event.canvas.FONT_RESIZE, (e) => {\n if (e.detail.id === this.selected.id && e.detail.objectType == CanvasObjectType.TEXT) {\n this.textForm.get('size')?.patchValue(e.detail.size);\n }\n });\n }\n\n ngOnInit(): void {\n this.textForm.get('text')?.patchValue(this.selected.text);\n this.textForm.get('size')?.patchValue(this.selected.fontSize);\n this.textForm.get('angle')?.patchValue(this.selected.angle);\n this.textForm.get('fontFamily')?.patchValue(this.selected.fontFamily);\n this.textForm.get('color')?.patchValue(Converter.toPickerColor(this.selected.fill));\n }\n\n ngOnChanges(): void {\n this.textForm.get('text')?.patchValue(this.selected.text);\n this.textForm.get('size')?.patchValue(this.selected.fontSize);\n this.textForm.get('angle')?.patchValue(this.selected.angle);\n this.textForm.get('fontFamily')?.patchValue(this.selected.fontFamily);\n this.textForm.get('color')?.patchValue(Converter.toPickerColor(this.selected.fill));\n }\n\n public colorComparator(o1: any, o2: any) {\n return o1.hex === o2.hex;\n }\n\n public setColor(e: NgxMatColorPickerInputEvent) {\n this.textForm.get('color')?.patchValue(e.value);\n }\n\n public updateText() {\n this.selected.content.dirty = true;\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n modify(prop: string, newSize: any, min: number, max: number) {\n if (newSize >= min && newSize <= max) {\n this.setProperty(prop, newSize);\n } else {\n if (newSize < min) {\n this.setProperty(prop, min);\n }\n if (newSize > max) {\n this.setProperty(prop, max);\n }\n }\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n private setProperty(prop: string, newValue: number) {\n if (prop === 'size') {\n this.textForm.get('size')?.patchValue(newValue);\n }\n if (prop === 'angle') {\n this.textForm.get('angle')?.patchValue(newValue);\n }\n }\n\n toggleBold() {\n this.selected.fontWeight = this.selected.fontWeight == 'normal' ? 'bold' : 'normal';\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n toggleItalic() {\n this.selected.fontStyle = this.selected.fontStyle == 'normal' ? 'italic' : 'normal';\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n toggleUnderline() {\n this.selected.underline = !this.selected.underline;\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n changeFontFamily(fontFamily: string) {\n this.selected.fontFamily = fontFamily;\n this.document.dispatchEvent(new CustomEvent(event.canvas.UPDATE));\n }\n\n public isNewColorAvailable(): boolean {\n return this.colorService.isNewColorAvailableForComponent(this.selected.id);\n }\n\n public availableColors(): Color[] {\n return this.colorService.getColors();\n }\n\n public availableRulesColors(): Color[] {\n return this.colorService.getRuledColors(this.selected.id);\n }\n\n public hasLabelColorRules(): boolean {\n return this.colorService.hasRules();\n }\n\n public getPantoneColorName(hexColor: string): string {\n return this.colorService.getColorName('#' + hexColor);\n }\n\n get minFontSize(): number {\n return this.configLoaderService.getConfig().canvas.minFontSize * 1;\n }\n\n get maxFontSize(): number {\n return this.configLoaderService.getConfig().canvas.maxFontSize * 1;\n }\n\n get minAngle(): number {\n return 0;\n }\n\n get maxAngle(): number {\n return 359;\n }\n\n get availableFontFamilies() {\n return Object.values(FontFamilies);\n }\n}\n","\n  \n \n \n\n\n\n  \n \n\n
\n \n \n \n format_bold\n \n \n \n \n \n format_italic\n \n \n \n \n \n format_underlined\n \n \n

\n\n\n  \n \n \n\n\n\n  \n \n {{fontFamily}}\n \n\n\n\n\n  \n \n \n \n\n\n  \n \n {{c.hex}}\n \n\n\n  \n \n {{getPantoneColorName(c.hex)}}\n \n\n\n  \n \n \n\n\n  \n \n\n\n  \n \n\n","export enum PaymentType {\n Cash = 'Cash',\n CashOnDelivery = 'CashOnDelivery',\n Invoice = 'Invoice',\n AdvanceInvoice = 'AdvanceInvoice'\n}\n","import {Component, Inject} from \"@angular/core\";\nimport {MAT_DIALOG_DATA, MatDialogRef, MatDialog} from \"@angular/material/dialog\";\n\nexport interface LabelQuantityModalData {\n quantity: number;\n}\n\n@Component({\n selector: 'label-quantity-modal',\n templateUrl: 'label-quantity-modal.component.html',\n styleUrls: ['./label-quantity-modal.component.css']\n})\nexport class LabelQuantityModalComponent {\n\n constructor(public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: LabelQuantityModalData) {\n }\n\n public close() {\n this.dialogRef.close(false);\n }\n\n get quantity() {\n return this.data.quantity;\n }\n\n set quantity(value) {\n this.data.quantity = value;\n }\n\n}\n","\n
\n
\n \n \n \n
\n
\n\n \n \n\n","import {Component} from '@angular/core';\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\nimport {AccountService} from \"../../../service/account.service\";\nimport {ActivatedRoute, Router} from \"@angular/router\";\nimport {AlertService} from \"../../../service/alert.service\";\n\n@Component({\n selector: 'app-update-password',\n templateUrl: './update-password.component.html',\n styleUrls: ['./update-password.component.css']\n})\nexport class UpdatePasswordComponent {\n\n private readonly _form: FormGroup;\n private _submitted: boolean = false;\n private _key: string | null = null;\n\n constructor(private formBuilder: FormBuilder,\n private accountService: AccountService,\n private router: Router,\n private route: ActivatedRoute,\n private alertService: AlertService) {\n this._key = this.route.snapshot.queryParamMap.get('key');\n this._form = this.formBuilder.group({\n password: ['', Validators.required],\n newPassword: ['', Validators.required]\n });\n }\n\n public onSubmit(e) {\n this._submitted = true;\n if (e != null) {\n e.preventDefault;\n }\n\n if (this._form.invalid) {\n return;\n }\n\n if (this._form.get('password')?.value !== this._form.get('newPassword')?.value) {\n this.alertService.error($localize`:@@enteredPasswordsDoNotMatch:`);\n return;\n }\n\n if (this._key == null) {\n this.alertService.error($localize`:@@invalidPasswordResetKey:`);\n return;\n }\n\n this.accountService.updatePassword(this._key, this._form.get('password')?.value).subscribe((result) => {\n this.alertService.success($localize`:@@passwordUpdated:`);\n this.router.navigate(['login']);\n });\n }\n\n get form() {\n return this._form;\n }\n\n get password() {\n return this._form.get('password');\n }\n\n get newPassword() {\n return this._form.get('newPassword');\n }\n\n get submitted() {\n return this._submitted;\n }\n\n}\n","
\n
\n
\n \n \n \n \n \n \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, EventEmitter, Input, OnInit, Output} from '@angular/core';\n\n@Component({\n selector: 'app-layout-order',\n templateUrl: './layout-order.component.html',\n styleUrls: ['./layout-order.component.css']\n})\nexport class LayoutOrderComponent implements OnInit {\n\n @Input()\n public sendBackEnabled: boolean;\n\n @Input()\n public sendForwardEnabled: boolean;\n\n @Output()\n sendToBack = new EventEmitter();\n\n @Output()\n sendBackwards = new EventEmitter();\n\n @Output()\n bringForward = new EventEmitter();\n\n @Output()\n bringToFront = new EventEmitter();\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n \n \n \n \n

\n","import {Component, Inject} from '@angular/core';\nimport {PriceCalculationService} from \"../../../service/price-calculation.service\";\nimport {AccountService} from \"../../../service/account.service\";\nimport {FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {event} from \"../../../model/event\";\nimport {DOCUMENT} from \"@angular/common\";\nimport {OrderService} from \"../../../service/order.service\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {OrderProduct} from \"../../../model/order/order-product\";\nimport {LabelTypes} from 'src/assets/data/label-types';\nimport {LabelDesigns} from \"../../../../assets/data/label-designs\";\nimport {Dialog} from \"../../../utils/dialog\";\nimport {MatDialog} from \"@angular/material/dialog\";\n\n@Component({\n selector: 'app-order-process-detail',\n templateUrl: './order-process-detail.component.html',\n styleUrls: ['./order-process-detail.component.css']\n})\nexport class OrderProcessDetailComponent {\n\n document: Document;\n orderDetailForm: FormGroup[] = [];\n\n private _dialog: Dialog;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private priceCalculationService: PriceCalculationService,\n public accountService: AccountService,\n private fb: FormBuilder,\n private orderService: OrderService,\n private configLoaderService: RuntimeConfigLoaderService,\n private matDialog: MatDialog) {\n this.document = document;\n this._dialog = new Dialog(matDialog);\n\n document.addEventListener(event.order.PRICE_RECALCULATION, () => {\n this.orderService.order.getOrderProducts().forEach((product, i) => {\n if (this.orderDetailForm[i] !== undefined) {\n this.orderDetailForm[i].get('quantity')?.patchValue(this.orderService.order.getOrderProducts()[i].quantity);\n }\n });\n });\n }\n\n quantityChange(e: any, product: OrderProduct) {\n product.quantity = e.target.value;\n this.document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n\n currentLabelType(type: string | undefined) {\n const labelType = LabelTypes.find(i => i.name == type)?.label;\n if (labelType) {\n return labelType;\n }\n return $localize`:@@unspecified:`;\n }\n\n currentLabelDesign(processing: string | null) {\n const labelDesign = LabelDesigns.find(i => i.name == processing)?.label;\n if (labelDesign) {\n return labelDesign;\n }\n return $localize`:@@unspecified:`;\n }\n\n get products() {\n let products = this.orderService.order.getOrderProducts();\n if (products.length !== this.orderDetailForm.length) {\n // reinitialize\n products.forEach((product, index) => {\n let quantity = product.quantity;\n if (!quantity) {\n quantity = this.configLoaderService.getConfig().order.minQuantity;\n }\n this.orderDetailForm[index] = this.fb.group({\n quantity: [quantity,\n [Validators.min(this.configLoaderService.getConfig().order.minQuantity),\n Validators.max(this.configLoaderService.getConfig().order.maxQuantity)]]\n });\n });\n }\n return products;\n }\n\n quantity(index: number): FormControl | null {\n return this.orderDetailForm[index].get('quantity') as FormControl;\n }\n\n currentProduct() {\n return this.orderService.order.getOrderProduct();\n }\n\n selectProduct(i: number) {\n this.orderService.selectProduct(i);\n document.dispatchEvent(new CustomEvent(event.order.SELECT_PRODUCT));\n }\n\n async removeProduct(i: number) {\n if (await this._dialog.confirmDialog($localize`:@@removeProductQuestion:`)) {\n this.orderService.removeProduct(i);\n document.dispatchEvent(new CustomEvent(event.order.SELECT_PRODUCT));\n document.dispatchEvent(new CustomEvent(event.order.PRICE_RECALCULATION));\n }\n }\n}\n","
\n \n
\n
\n
 
\n
{{currentLabelType(product.product.kind)}}
\n
\n
\n
 
\n
{{currentLabelDesign(product.product.processing)}}
\n
\n
\n
 
\n
\n \n \n \n  \n Minimum quantity\n is {{quantity(i).errors?.min.min}}\n Quantity limit\n is {{quantity(i).errors?.max.max}}\n \n \n
\n
\n
\n Vybrať\n
\n
1\">\n Odobrať\n
\n
\n
\n
\n","import {ChangeDetectorRef, Component, OnInit} from '@angular/core';\nimport {AbstractControl, FormArray, FormBuilder, FormControl, FormGroup, Validators} from \"@angular/forms\";\nimport {AccountService} from \"../../../service/account.service\";\nimport {SubjectType} from \"../../../model/enum/subject-type\";\nimport {Country} from \"../../../model/country\";\nimport {first, map, startWith, tap} from \"rxjs/operators\";\nimport {AlertService} from \"../../../service/alert.service\";\nimport {OrderService} from \"../../../service/order.service\";\nimport {AddressService} from \"../../../service/address.service\";\nimport {Dialog} from \"../../../utils/dialog\";\nimport {MatDialog} from \"@angular/material/dialog\";\nimport {Observable} from \"rxjs\";\n\n@Component({\n selector: 'app-account',\n templateUrl: './account.component.html',\n styleUrls: ['./account.component.css']\n})\nexport class AccountComponent implements OnInit {\n\n private _form: FormGroup | any;\n private _countryList: Country[];\n private _subjectTypeEnum = SubjectType;\n private _dialog: Dialog;\n private _billingAddressCountryCode: Observable;\n private _deliveryAddressCountryCode: Observable[] = [];\n\n constructor(\n private formBuilder: FormBuilder,\n private accountService: AccountService,\n private alertService: AlertService,\n private orderService: OrderService,\n private addressService: AddressService,\n private matDialog: MatDialog,\n private changeDetectorRef: ChangeDetectorRef\n ) {\n this._dialog = new Dialog(matDialog);\n\n this._form = this.formBuilder.group({\n email: ['', Validators.required],\n firstName: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(100)]],\n lastName: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(100)]],\n subjectType: ['',],\n phone: ['', [Validators.maxLength(20)]],\n ico: [''],\n icdph: [''],\n web: [''],\n companyName: [''],\n billingAddress: this.formBuilder.group({\n id: [0],\n street: ['', Validators.required],\n city: ['', Validators.required],\n zip: ['', Validators.required],\n countryCode: ['', Validators.required]\n }),\n deliveryAddresses: this.formBuilder.array([this.createDeliveryAddress()]) //this.formBuilder.array([this.createDeliveryAddress()])\n });\n }\n\n ngOnInit(): void {\n this.orderService.getCountryList().subscribe(response => {\n this._countryList = response.sort((a, b) => (a.countryName > b.countryName) ? 1 : -1);\n this._billingAddressCountryCode = this._form.get('billingAddress.countryCode').valueChanges\n .pipe(\n startWith(''),\n map(value => value instanceof Country ? (value as Country).countryName : value),\n map(name => typeof name === 'string' ? this._filterCountry(name as string) : this._countryList.slice()),\n tap(() => {\n let country = this._countryList.filter(c => {\n return c.countryCode == this._form.get('billingAddress.countryCode').value\n })[0];\n if (country != undefined) {\n this._form.get('billingAddress.countryCode').setValue(country);\n }\n })\n );\n this.reset();\n this._form.controls['email'].disable();\n this._form.controls['subjectType'].disable();\n });\n }\n\n createDeliveryAddress(): FormGroup {\n return this.formBuilder.group({\n addressId: [0],\n street: ['', Validators.required],\n city: ['', Validators.required],\n zip: ['', Validators.required],\n countryCode: ['', Validators.required],\n email: ['', Validators.required],\n phone: ['']\n })\n }\n\n addDeliveryAddress($event): void {\n $event.preventDefault();\n let deliveryAddresses = this._form.get('deliveryAddresses') as FormArray;\n deliveryAddresses.insert(0, this.createDeliveryAddress());\n this.initDeliveryAddressCountryCodeAutocomplate(deliveryAddresses);\n }\n\n updateUserDetail() {\n // process address autocomplete objects before send to backend\n let json = this._form.value;\n json.billingAddress.countryCode = this._form.value.billingAddress.countryCode.countryCode;\n json.deliveryAddresses.forEach(address => {\n address.countryCode = address.countryCode.countryCode;\n })\n this.accountService.updateUserDetail(json)\n .pipe(first())\n .subscribe(() => {\n // reload data\n this.reset();\n // show message to user, that his details has been updated\n this.alertService.success($localize`:@@updateSuccessfulAlert:`, {keepAfterRouteChange: true})\n },\n (error) => this.alertService.error(error));\n }\n\n get firstName() {\n return this._form.get('firstName');\n }\n\n get lastName() {\n return this._form.get('lastName');\n }\n\n get ico() {\n return this._form.get('ico');\n }\n\n get icdph() {\n return this._form.get('icdph');\n }\n\n get subjectType() {\n return this._form.get('subjectType');\n }\n\n get email() {\n return this._form.get('email');\n }\n\n get countryList() {\n return this._countryList;\n }\n\n get form() {\n return this._form;\n }\n\n get subjectTypeEnum() {\n return this._subjectTypeEnum;\n }\n\n get deliveryAddresses(): AbstractControl[] {\n return (this._form.get('deliveryAddresses') as FormArray).controls;\n }\n\n get phone() {\n return this._form.get('phone');\n }\n\n get web() {\n return this._form.get('web');\n }\n\n get billingAddressStreet() {\n return this._form.get('billingAddress.street');\n }\n\n get billingAddressCity() {\n return this._form.get('billingAddress.city');\n }\n\n get billingAddressZip() {\n return this._form.get('billingAddress.zip');\n }\n\n get billingAddressCountryCodeValue() {\n return this._form.get('billingAddress.countryCode');\n }\n\n get billingAddressCountryCode() {\n return this._billingAddressCountryCode;\n }\n\n get deliveryAddressCountryCode() {\n return this._deliveryAddressCountryCode;\n }\n\n submit(e) {\n e.preventDefault();\n if (this._form.valid) {\n this.updateUserDetail();\n } else {\n this.validateAllFormFields(this._form);\n }\n }\n\n private validateAllFormFields(formGroup: FormGroup) {\n Object.keys(formGroup.controls).forEach(field => {\n const control = formGroup.get(field);\n if (control instanceof FormControl) {\n control.markAsTouched({onlySelf: true});\n } else if (control instanceof FormGroup) {\n this.validateAllFormFields(control);\n }\n });\n }\n\n displayFn(country: Country): string {\n if (country != null) {\n return country.countryName;\n }\n return '';\n }\n\n private _filterCountry(name: string): Country[] {\n return this._countryList.filter(option => option.countryName.toLowerCase().includes(name.toLowerCase()));\n }\n\n reset(e = null) {\n if (e !== null) {\n e.preventDefault();\n }\n this.accountService.getUserDetail()\n .pipe(first())\n .subscribe((data) => {\n const addresses = this._form.get('deliveryAddresses') as FormArray;\n addresses.clear();\n data.deliveryAddresses.reverse().forEach((address) => {\n let addr = this.createDeliveryAddress();\n addr.patchValue(address);\n addresses.push(addr);\n });\n\n this._form.patchValue({\n email: data.email,\n firstName: data.firstName,\n lastName: data.lastName,\n subjectType: data.subjectType.toUpperCase(),\n phone: data.phone,\n ico: data.ico,\n icdph: data.icdph,\n web: data.web,\n companyName: data.companyName,\n billingAddress: {\n street: data.billingAddress.street,\n city: data.billingAddress.city,\n zip: data.billingAddress.zip,\n countryCode: data.billingAddress.countryCode\n }\n });\n\n // reinitialize autocomplete for delivery addresses\n this.initDeliveryAddressCountryCodeAutocomplate(addresses);\n });\n }\n\n private initDeliveryAddressCountryCodeAutocomplate(addresses: FormArray) {\n addresses.controls.forEach((v, i) => {\n this._deliveryAddressCountryCode[i] = v.valueChanges\n .pipe(\n startWith(''),\n map(value => {\n return (value instanceof Country ? (value as Country).countryName : value);\n }),\n map(name => {\n let value = name['countryCode'];\n return (typeof value === 'string' ? this._filterCountry(value as string) : this._countryList.slice());\n }),\n tap(() => {\n let country = this._countryList.filter(c => {\n return c.countryCode == addresses.controls[i].value.countryCode\n })[0];\n if (country != undefined) {\n this._form.get('deliveryAddresses').controls[i].get('countryCode').setValue(country);\n }\n })\n );\n });\n }\n\n async removeDeliveryAddress(e: any, address: FormGroup, index: number) {\n e.preventDefault();\n const addresses = this._form.get('deliveryAddresses') as FormArray;\n if (address.get('addressId')?.value !== 0) {\n const message = $localize`:@@addressRemoveAlert:`;\n if (await this._dialog.confirmDialog(message)) {\n this.addressService.remove(address.get('addressId')?.value).subscribe(() => {\n addresses.removeAt(index);\n this.changeDetectorRef.detectChanges();\n }, () => {\n this.alertService.error('API ERROR');\n });\n }\n } else {\n addresses.removeAt(index);\n }\n }\n\n public isCompany(): boolean {\n if (this.subjectType.value !== '') {\n return this.subjectType.value == 'COMPANY';\n }\n return false;\n }\n}\n","
\n
\n
\n \n \n  \n  \n \n \n \n  \n \n \n  \n Minimálna dĺžka\n je {{firstName.errors?.minlength.requiredLength}}\n Maximálna dĺžka\n je {{firstName.errors?.maxlength.requiredLength}}\n \n \n \n  \n \n \n  \n Minimálna dĺžka\n je {{lastName.errors?.minlength.requiredLength}}\n Maximálna dĺžka\n je {{lastName.errors?.maxlength.requiredLength}}\n \n \n \n  \n \n \n \n  \n \n  \n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n\n\n\n\n \n \n  \n \n \n
\n \n  \n \n \n  \n \n \n \n  \n \n \n  \n \n \n \n  \n \n \n  \n \n \n \n  \n \n \n {{country.countryName}}\n \n \n  \n \n \n
\n
\n \n  \n \n \n \n \n \n
\n
\n \n \n \n\n \n  \n \n \n  \n \n \n \n  \n \n \n  \n \n \n \n  \n \n \n  \n \n \n \n  \n \n \n {{country.countryName}}\n \n \n  \n \n \n \n  \n \n \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\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LanguageService {\n\n private _language: string = 'sk';\n\n constructor() {\n }\n\n set language(lang: string) {\n this._language = lang;\n }\n\n get language(): string {\n return this._language;\n }\n\n}\n","import {Component, Inject, OnInit} from '@angular/core';\nimport {FormBuilder, FormGroup, Validators} from \"@angular/forms\";\nimport {OrderService} from \"../../service/order.service\";\nimport {Country} from \"../../model/country\";\nimport {event} from \"../../model/event\";\nimport {DOCUMENT} from \"@angular/common\";\n\nimport {AccountService} from \"../../service/account.service\";\nimport {Address} from \"../../model/order/address\";\nimport {map, startWith} from \"rxjs/operators\";\nimport {Observable} from \"rxjs\";\nimport {UserFile} from \"../../model/userFile\";\nimport {AlertService} from \"../../service/alert.service\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {AttachmentType} from \"../../model/enum/attachment-type\";\nimport {ActivatedRoute} from \"@angular/router\";\nimport {StringUtil} from \"../../utils/string-util\";\n\n@Component({\n selector: 'app-delivery-details',\n templateUrl: './delivery-details.component.html',\n styleUrls: ['./delivery-details.component.css']\n})\nexport class DeliveryDetailsComponent implements OnInit {\n\n private readonly _formDeliveryDetails: FormGroup | any;\n private readonly _preselectedTab: string | null = null;\n\n private document: Document;\n private _countryList: Country[] = [];\n private _deliveryAddresses: any[] = [];\n private _autocompleteCountryList: Observable | undefined;\n private readonly _attachmentsAllowedFileTypes: string;\n private readonly _attachmentsFileSizeLimitInMB: number;\n private readonly _attachmentsLimit: number;\n private _isBillingAddressValid = false;\n\n constructor(@Inject(DOCUMENT) document: Document,\n private orderService: OrderService,\n private fb: FormBuilder,\n private route: ActivatedRoute,\n public accountService: AccountService,\n private alertService: AlertService,\n private configLoaderService: RuntimeConfigLoaderService) {\n const vThis = this;\n\n this._preselectedTab = this.route.snapshot.queryParamMap.get('tab');\n\n this._attachmentsLimit = configLoaderService.getConfigObjectKey('order').attachmentsLimit;\n this._attachmentsAllowedFileTypes = configLoaderService.getConfigObjectKey('order').attachmentsAllowedFileTypes;\n this._attachmentsFileSizeLimitInMB = 1024 * 1024 * configLoaderService.getConfigObjectKey('order').attachmentsFileSizeLimitInMB;\n\n this.document = document;\n this._formDeliveryDetails = this.fb.group({\n billingStreet: [{value: '', disabled: true}],\n billingCity: [{value: '', disabled: true}],\n billingZip: [{value: '', disabled: true}],\n billingCountryCode: [{value: '', disabled: true}],\n addressId: undefined,\n street: undefined,\n city: undefined,\n zip: undefined,\n countryCode: undefined,\n email: ['', [Validators.email]],\n phone: '',\n note: '',\n paymentType: '',\n deliveryType: ''\n });\n\n document.addEventListener(event.order.RESET, () => {\n // reset delivery address to default delivery address\n this.accountService.getUserDetail().subscribe((data) => {\n this.changeAddress({addressId: data.defaultDeliveryAddressId});\n });\n });\n [event.label.CHANGE_TYPE, event.label.CHANGE_DESIGN].forEach(function (event) {\n document.addEventListener(event, () => {\n if (vThis._formDeliveryDetails) {\n vThis._formDeliveryDetails.get('note').patchValue('');\n }\n });\n });\n }\n\n ngOnInit(): void {\n if (this.accountService.authenticated) {\n this.orderService.getCountryList().subscribe(resp => {\n this._countryList = resp.sort((a, b) => (a.countryName > b.countryName) ? 1 : -1);\n this._autocompleteCountryList = this._formDeliveryDetails.get('countryCode').valueChanges\n .pipe(\n startWith(''),\n map(value => value instanceof Country ? (value as Country).countryName : value),\n map(name => typeof name === 'string' ? this._filterCountry(name as string) : this._countryList.slice())\n );\n\n // after countries loaded, load user details\n this.accountService.getUserDetail().subscribe((data) => {\n this._formDeliveryDetails.get('billingStreet').patchValue(data.billingAddress.street);\n this._formDeliveryDetails.get('billingCity').patchValue(data.billingAddress.city);\n this._formDeliveryDetails.get('billingZip').patchValue(data.billingAddress.zip);\n this._formDeliveryDetails.get('billingCountryCode').patchValue(data.billingAddress.countryCode);\n\n this._isBillingAddressValid = StringUtil.isNotEmpty(data.billingAddress.street) &&\n StringUtil.isNotEmpty(data.billingAddress.city) &&\n StringUtil.isNotEmpty(data.billingAddress.zip) &&\n StringUtil.isNotEmpty(data.billingAddress.countryCode);\n this.document.dispatchEvent(new CustomEvent(event.order.BILLING_ADDRESS, {detail: this._isBillingAddressValid}));\n\n this._deliveryAddresses = data.deliveryAddresses;\n this.changeAddress({addressId: data.defaultDeliveryAddressId});\n });\n\n });\n\n this._formDeliveryDetails.get('addressId').patchValue(this.orderService.order.address.id);\n this._formDeliveryDetails.get('street').patchValue(this.orderService.order.address.street);\n this._formDeliveryDetails.get('city').patchValue(this.orderService.order.address.city);\n this._formDeliveryDetails.get('zip').patchValue(this.orderService.order.address.zip);\n this._formDeliveryDetails.get('countryCode').patchValue(this.orderService.order.address.countryCode);\n this._formDeliveryDetails.get('email').patchValue(this.orderService.order.address.email);\n this._formDeliveryDetails.get('phone').patchValue(this.orderService.order.address.phone);\n this._formDeliveryDetails.get('note').patchValue(this.orderService.order.note);\n this._formDeliveryDetails.get('deliveryType').patchValue(this.orderService.order.deliveryMethod);\n this._formDeliveryDetails.get('paymentType').patchValue(this.orderService.order.paymentType);\n }\n\n this._formDeliveryDetails.get('addressId').valueChanges.subscribe((v) => {\n this.orderService.order.address.id = v;\n });\n this._formDeliveryDetails.get('street').valueChanges.subscribe((v) => {\n this.orderService.order.address.street = v;\n });\n this._formDeliveryDetails.get('city').valueChanges.subscribe((v) => {\n this.orderService.order.address.city = v;\n });\n this._formDeliveryDetails.get('zip').valueChanges.subscribe((v) => {\n this.orderService.order.address.zip = v;\n });\n this._formDeliveryDetails.get('countryCode').valueChanges.subscribe((v) => {\n if (v !== undefined && v !== null) {\n this.orderService.order.address.countryCode = v.countryCode;\n }\n });\n this._formDeliveryDetails.get('email').valueChanges.subscribe((v) => {\n this.orderService.order.address.email = v;\n });\n this._formDeliveryDetails.get('phone').valueChanges.subscribe((v) => {\n this.orderService.order.address.phone = v;\n });\n this._formDeliveryDetails.get('deliveryType').valueChanges.subscribe((v) => {\n this.orderService.order.deliveryMethod = v;\n });\n this._formDeliveryDetails.get('paymentType').valueChanges.subscribe((v) => {\n this.orderService.order.paymentType = v;\n });\n this._formDeliveryDetails.get('note').valueChanges.subscribe((v) => {\n this.orderService.order.note = v;\n });\n\n\n if (this._preselectedTab === '1') {\n this._formDeliveryDetails.updateValueAndValidity();\n }\n }\n\n private _filterCountry(name: string): Country[] {\n return this._countryList.filter(option => option.countryName.toLowerCase().includes(name.toLowerCase()));\n }\n\n get countryList() {\n return this._countryList;\n }\n\n get formDeliveryDetails(): FormGroup {\n return this._formDeliveryDetails;\n }\n\n get deliveryAddresses(): any[] {\n return this._deliveryAddresses;\n }\n\n get attachmentsAllowedFileTypes(): string {\n return this._attachmentsAllowedFileTypes;\n }\n\n private findAddress(addressId: number): Address {\n return this._deliveryAddresses?.filter((address) => addressId === address.addressId)[0];\n }\n\n public countryName(countryCode: string): string {\n const country = this._countryList.filter((countryFind) => countryCode === countryFind.countryCode);\n return (Array.isArray(country) && country.length > 0) ? country[0].countryName : '';\n }\n\n displayFn(country: Country): string {\n if (country != null) {\n return country.countryName;\n }\n return '';\n }\n\n public changeAddress(a: any): void {\n if (a != null && a !== 0 && a.addressId !== 0) {\n let address = this.findAddress(a.addressId);\n this._formDeliveryDetails.get('addressId').patchValue(a.addressId);\n if (address != undefined) {\n this._formDeliveryDetails.get('street').patchValue(address.street);\n this._formDeliveryDetails.get('city').patchValue(address.city);\n this._formDeliveryDetails.get('zip').patchValue(address.zip);\n this._formDeliveryDetails.get('email').patchValue(address.email);\n this._formDeliveryDetails.get('phone').patchValue(address.phone);\n\n // autocomplete value\n const filter = this._countryList.filter((country) => country.countryCode == address.countryCode);\n if (Array.isArray(filter) && filter.length > 0) {\n this._formDeliveryDetails.get('countryCode').patchValue(filter[0]);\n }\n\n this.enableDeliveryAddress(false);\n }\n } else {\n this._formDeliveryDetails.get('addressId').patchValue(0);\n this._formDeliveryDetails.get('street').reset();\n this._formDeliveryDetails.get('city').reset();\n this._formDeliveryDetails.get('zip').reset();\n this._formDeliveryDetails.get('countryCode').reset();\n this._formDeliveryDetails.get('email').reset();\n this._formDeliveryDetails.get('phone').reset();\n this.enableDeliveryAddress(true);\n }\n }\n\n private enableDeliveryAddress(value: boolean): void {\n if (value) {\n this._formDeliveryDetails.get('street').enable();\n this._formDeliveryDetails.get('city').enable();\n this._formDeliveryDetails.get('zip').enable();\n this._formDeliveryDetails.get('countryCode').enable();\n this._formDeliveryDetails.get('email').enable();\n this._formDeliveryDetails.get('phone').enable();\n } else {\n this._formDeliveryDetails.get('street').disable();\n this._formDeliveryDetails.get('city').disable();\n this._formDeliveryDetails.get('zip').disable();\n this._formDeliveryDetails.get('countryCode').disable();\n this._formDeliveryDetails.get('email').disable();\n this._formDeliveryDetails.get('phone').disable();\n }\n }\n\n get street() {\n return this._formDeliveryDetails.get('street');\n }\n\n get city() {\n return this._formDeliveryDetails.get('city');\n }\n\n get zip() {\n return this._formDeliveryDetails.get('zip');\n }\n\n get countryCode() {\n return this._formDeliveryDetails.get('countryCode');\n }\n\n get email() {\n return this._formDeliveryDetails.get('email');\n }\n\n get phone() {\n return this._formDeliveryDetails.get('phone');\n }\n\n get paymentType() {\n return this._formDeliveryDetails.get('paymentType');\n }\n\n get deliveryType() {\n return this._formDeliveryDetails.get('deliveryType');\n }\n\n public onFileSelected(e): void {\n if (this.attachments.length + e.target.files.length > this._attachmentsLimit) {\n this.alertService.warn($localize`:@@attemptToUploadMoreThan:` + ` ${this._attachmentsLimit}` + $localize`:@@filesAllowedForUpload:`);\n }\n\n let toUpload: File[] = [];\n for (let i = 0; i < e.target.files.length; i++) {\n let file: File = e.target.files.item(i);\n if (file.size > this._attachmentsFileSizeLimitInMB) {\n this.alertService.warn($localize`:@@file:` + ` ${file.name} ` + $localize`:@@overSizeLimit:` + ` ${this._attachmentsFileSizeLimitInMB / 1024 / 1024} MB`);\n } else {\n if (this.attachments.length + toUpload.length < this._attachmentsLimit) {\n toUpload.push(file);\n }\n }\n }\n this.orderService.addAttachments(toUpload, AttachmentType.OTHER);\n }\n\n get attachments(): UserFile[] {\n return this.orderService.getAttachments(AttachmentType.OTHER);\n }\n\n get autocompleteCountryList() {\n return this._autocompleteCountryList;\n }\n\n public deleteAttachment(attachment: UserFile): void {\n this.orderService.removeAttachment(attachment.id, AttachmentType.OTHER);\n }\n\n get isBillingAddressValid(): boolean {\n return this._isBillingAddressValid;\n }\n}\n","
\n
\n \n \n  \n \n \n  

\n \n
\n
\n \n \n Billing address\n \n \n \n  \n \n \n \n  \n \n \n \n  \n \n \n \n  \n \n {{country.countryName}}\n \n \n
\n info\n warning\n  \n    .\n
\n
\n
\n \n \n Delivery address\n \n \n \n  \n \n  \n {{address.street}}, {{address.city}}\n , {{address.zip}}, {{countryName(address.countryCode)}}\n \n \n \n  \n \n \n  \n \n \n
\n \n  \n \n \n  \n \n \n
\n \n  \n \n \n  \n \n \n
\n \n  \n \n \n {{country.countryName}}\n \n \n  \n \n \n \n  \n \n \n  \n  \n \n \n \n  \n \n \n  \n \n \n
\n
\n \n \n \n  \n \n  \n  \n  \n \n \n \n \n \n \n \n \n  \n \n \n  \n \n \n \n  \n \n  \n  \n \n  \n \n \n  \n \n \n \n  \n \n \n \n \n \n \n Attachments\n \n \n 0\">\n
\n {{attachment.name}}
\n  : {{attachment.file.size / 1000}}KB\n \n
\n
\n
\n
\n  \n
\n \n
\n \n
\n
\n
\n
\n","export class Step {\n visible = false;\n\n constructor(public name: string) {\n }\n}\n","import {Color} from \"@angular-material-components/color-picker\";\n\nexport class ColorRule {\n\n private readonly _background: Color;\n private readonly _availableColors: Color[];\n\n constructor(background: Color, availableColors: Color[]) {\n this._background = background;\n this._availableColors = availableColors;\n }\n\n get background(): Color {\n return this._background;\n }\n\n get availableColors(): Color[] {\n return this._availableColors;\n }\n}\n","export enum MaterialName {\n NONE = 'Other',\n NYLON = 'NYLON',\n SATIN = 'SATIN'\n}\n","import {NgModule} from '@angular/core';\nimport {RouterModule, Routes} from '@angular/router';\nimport {EditorComponent} from './component/editor/editor.component';\nimport {OrderComponent} from './component/order/order.component';\nimport {OrderHistoryComponent} from \"./component/order/order-history/order-history.component\";\nimport {LoginComponent} from \"./component/uam/login/login.component\";\nimport {RegistrationComponent} from \"./component/uam/registration/registration.component\";\nimport {AccountComponent} from \"./component/uam/account/account.component\";\nimport {OrderDetailComponent} from \"./component/order/order-detail/order-detail.component\";\nimport {ActivationComponent} from \"./component/uam/activation/activation.component\";\nimport {DashboardComponent} from \"./component/uam/dashboard/dashboard.component\";\nimport {ProductListComponent} from \"./component/product-list/product-list.component\";\nimport {AuthGuard} from \"./service/auth-guard.service\";\nimport {VersionComponent} from \"./component/version/version.component\";\nimport {UpdatePasswordComponent} from \"./component/uam/update-password/update-password.component\";\n\nconst routes: Routes = [\n {\n path: '',\n component: OrderComponent,\n runGuardsAndResolvers: 'always',\n data: {\n 'ptag': true\n }\n },\n {\n path: 'editor',\n component: EditorComponent,\n data: {\n 'ptag': true\n }\n },\n {\n path: 'order-history',\n component: OrderHistoryComponent,\n canActivate: [AuthGuard],\n runGuardsAndResolvers: 'always',\n data: {\n 'ptag': false\n }\n },\n {\n path: 'login',\n component: LoginComponent,\n data: {\n 'ptag': false\n }\n },\n {\n path: 'registration',\n component: RegistrationComponent,\n data: {\n 'ptag': false\n }\n },\n {\n path: 'account',\n component: AccountComponent,\n canActivate: [AuthGuard],\n runGuardsAndResolvers: 'always',\n data: {\n 'ptag': false\n }\n },\n {\n path: 'order-detail/:id',\n component: OrderDetailComponent,\n canActivate: [AuthGuard],\n runGuardsAndResolvers: \"always\",\n data: {\n 'ptag': false\n }\n },\n {\n path: 'activation',\n component: ActivationComponent,\n data: {\n 'ptag': false\n }\n },\n {\n path: 'dashboard',\n component: DashboardComponent,\n canActivate: [AuthGuard],\n runGuardsAndResolvers: \"always\",\n data: {\n 'ptag': false\n }\n },\n {\n path: 'products',\n component: ProductListComponent,\n canActivate: [AuthGuard],\n runGuardsAndResolvers: \"always\",\n data: {\n 'ptag': false\n }\n },\n {\n path: 'version',\n component: VersionComponent,\n data: {\n 'ptag': false\n }\n },\n {\n path: 'update-password',\n component: UpdatePasswordComponent,\n data: {\n 'ptag': false\n }\n }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, {\n onSameUrlNavigation: 'reload',\n useHash: true\n })],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n}\n","export enum DeliveryType {\n PersonalPickup = 'PersonalPickup',\n Post = 'Post',\n GLS = 'GLS',\n UPS = 'UPS',\n Transport = 'Transport',\n TNT = 'TNT',\n FedEx = 'FexEx',\n DHL = 'DHL',\n SPS = 'SPS',\n Other = 'Other',\n DPD = 'DPD'\n}\n","export enum AlertType {\n Success,\n Error,\n Info,\n Warning\n}\n","import {Injectable} from '@angular/core';\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {AccountService} from \"./account.service\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ProductImageService {\n\n constructor(private configLoaderService: RuntimeConfigLoaderService,\n private accountService: AccountService) {\n }\n\n private serverUrl(): string {\n return this.configLoaderService.getConfigObjectKey('serverUrl');\n }\n\n public productImageUrl(productId: number): string {\n return this.serverUrl() + '/users/' + this.accountService.getCurrentUser()?.userId + '/products/' + productId + '/getImage';\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {BehaviorSubject, Observable} from \"rxjs\";\nimport {User} from \"../model/user\";\nimport {Router} from \"@angular/router\";\nimport {HttpClient, HttpHeaders} from \"@angular/common/http\";\nimport {map} from \"rxjs/operators\";\nimport {RuntimeConfigLoaderService} from \"runtime-config-loader\";\nimport {event} from \"../model/event\";\nimport {CustomHeader} from \"../model/customHeader\";\nimport {Product} from \"../model/order/product\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AccountService {\n\n private CHECK_AUTHENTICATED_INTERVAL_MIN = 2;\n\n private userSubject: BehaviorSubject;\n private user: Observable;\n private lastIsAuthenticatedCall = 0;\n\n\n constructor(private router: Router,\n private http: HttpClient,\n private configLoaderService: RuntimeConfigLoaderService) {\n this.userSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('user')));\n this.user = this.userSubject.asObservable();\n }\n\n public getCurrentUser(): User | null {\n return this.userSubject.value;\n }\n\n get authenticated(): boolean {\n if (this.configLoaderService.getConfig() === undefined) {\n this.configLoaderService.configSubject.subscribe(config => {\n return this.fetchUserData(config.serverUrl, false);\n });\n } else {\n return this.fetchUserData(this.configLoaderService.getConfigObjectKey('serverUrl'), false);\n }\n return false;\n }\n\n private fetchUserData(serverUrl: string, showAjaxLoader: boolean = true): boolean {\n if (this.userSubject.value !== null && this.lastIsAuthenticatedCall + this.CHECK_AUTHENTICATED_INTERVAL_MIN * 60 * 1000 < new Date().getTime()) {\n this.lastIsAuthenticatedCall = new Date().getTime();\n let headers = new HttpHeaders().set(CustomHeader.SHOW_AJAX_LOADER, \"\" + showAjaxLoader);\n this.http.get(serverUrl + '/users/' + this.userSubject.value?.userId + '/isAuthenticated',\n {observe: 'response', headers: headers})\n .subscribe(() => {\n // do nothing, user is authenticated, his session has been extended for another 15minutes\n }, (() => {\n this.logout();\n return false;\n }));\n }\n return this.userSubject.value !== null;\n }\n\n public register(user: User) {\n let contextPath = AccountService.contextPath();\n if (contextPath !== null) {\n let header = new HttpHeaders({'x-context-path': contextPath});\n let options = {headers: header};\n return this.http.post(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users`, user, options);\n }\n return this.http.post(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users`, user);\n }\n\n public login(email: string, password: string) {\n return this.http\n .post(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/authenticate`, {\n email,\n password\n })\n .pipe(\n map(user => {\n // store user details and jwt token in local storage to keep user logged in between page refreshes\n this.userSubject.next(user);\n\n this.getUserDetailInternal(user.userId)\n .subscribe(() => {\n document.dispatchEvent(new CustomEvent(event.editor.LOGIN))\n });\n return user;\n })\n );\n }\n\n public logout() {\n // remove user from local storage and set current user to null\n localStorage.removeItem(\"user\");\n this.userSubject.next(null);\n this.router.navigate([\"/login\"]);\n }\n\n public updateUserDetail(values: any) {\n return this.http.put(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/` + this.getCurrentUser()?.userId, values, {responseType: 'text'});\n }\n\n public getUserDetail(): Observable {\n return this.getUserDetailInternal(this.getCurrentUser()?.userId);\n }\n\n private getUserDetailInternal(userId: string | undefined): Observable {\n let vThis = this;\n let response = this.http.get(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/` + userId);\n response.subscribe((userDetail) => {\n let currentUser = Object.assign({}, vThis.userSubject.value);\n currentUser.firstname = userDetail['firstName'];\n currentUser.surname = userDetail['lastName'];\n currentUser.email = userDetail['email'];\n\n vThis.userSubject.next(currentUser);\n localStorage.setItem('user', JSON.stringify(currentUser));\n });\n return response;\n }\n\n public getUserOrders(): Observable {\n return this.http.get(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/` + this.getCurrentUser()?.userId + '/orders');\n }\n\n public activateUser(key: string): Observable {\n return this.http.get(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/activate/` + key);\n }\n\n public resendActivationEmail(email: string): Observable {\n return this.http.get(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/resendActivation/` + email);\n }\n\n public getUserProducts(): Observable {\n return this.http.get(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/${this.getCurrentUser()?.userId}/products`);\n }\n\n public resetPassword(email: string) {\n let contextPath = AccountService.contextPath();\n if (contextPath !== null) {\n let header = new HttpHeaders({'x-context-path': contextPath});\n let options = {headers: header};\n return this.http.post(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/resetPassword/${email}`, {}, options);\n }\n return this.http.post(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/resetPassword/${email}`, {});\n }\n\n private static contextPath() {\n const contextPathPattern = /^h[^\\/]*\\/\\/[^\\/]*\\/(?.*)\\/#.*/;\n let matcher = window.location.href.match(contextPathPattern);\n if (matcher && matcher.groups) {\n return matcher.groups.contextPathMatch;\n }\n return null;\n }\n\n public updatePassword(key: string, password: any) {\n return this.http.post(`${this.configLoaderService.getConfigObjectKey('serverUrl')}/users/updatePassword/`, {\n key: key,\n password: password\n })\n }\n}\n","import {Directive, EventEmitter, HostListener, Output} from '@angular/core';\n\n@Directive({\n selector: '[appInputValueStep]'\n})\nexport class InputValueStepDirective {\n\n @Output() onStepChange = new EventEmitter();\n\n constructor() {\n }\n\n @HostListener('blur', ['$event.target'])\n @HostListener('change', ['$event.target'])\n onBlur(input: any): void {\n const step = parseInt(input.step);\n let value = parseInt(input.value);\n\n if (step > 1) {\n let min = 0;\n\n // fill array of viable numbers\n let viableNumbers = [];\n while (min <= value + step) {\n viableNumbers.push(min);\n min += step;\n }\n\n value = viableNumbers.reduce(function (prev, curr) {\n return (Math.abs(curr - value) < Math.abs(prev - value) ? curr : prev);\n });\n }\n this.onStepChange.emit(value);\n }\n\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","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 = \"zn8P\";"],"sourceRoot":"webpack:///"}