{"version":3,"sources":["./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/components/admin/account-details/account-details.component.html","./src/app/components/admin/admin.component.html","./src/app/components/admin/approval-config/approval-config.component.html","./src/app/components/admin/distributor-mapping/distributor-mapping.component.html","./src/app/components/admin/distributor/distributor-grid/distributor-grid.component.html","./src/app/components/admin/distributor/distributor-request/distributor-request.component.html","./src/app/components/admin/distributor/distributor-view/distributor-view.component.html","./src/app/components/admin/endmarket-sales-report/endmarket-sales-report.component.html","./src/app/components/admin/price-history-revision/price-history-revision.component.html","./src/app/components/admin/product-manager/product-manager.component.html","./src/app/components/admin/sales-commerical-manager/sales-commerical-manager.component.html","./src/app/components/admin/sales-support/sales-support/sales-support.component.html","./src/app/components/admin/user/user-grid/user-grid.component.html","./src/app/components/admin/user/user-registration/user-registration.component.html","./src/app/components/cup-history/cup-history.component.html","./src/app/components/cup-request-tab/cup-request-tab.component.html","./src/app/components/cups-request-info/cups-request-info.component.html","./src/app/components/cups-request/cups-request.component.html","./src/app/components/dynamic-grid/dynamic-grid.component.html","./src/app/components/error/error.component.html","./src/app/components/footer/footer.component.html","./src/app/components/header/header.component.html","./src/app/components/home/home.component.html","./src/app/components/login-test/login-test.component.html","./src/app/components/login/login.component.html","./src/app/components/pm-cups-request/pm-cups-request.component.html","./src/app/components/rebate-shipped-form/rebate-shipped-form.component.html","./src/app/components/rebates/evem-request/evem-request.component.html","./src/app/components/rebates/pm-rebate-request/pm-rebate-request.component.html","./src/app/components/rebates/rebate-info/rebate-info.component.html","./src/app/components/rebates/rebates.component.html","./src/app/components/saml/saml.component.html","./src/app/components/support-request-grid/support-request-grid.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/_helpers/httpconfig.interceptor.ts","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/authentication.guard.ts","./src/app/components/admin/account-details/account-details.component.css","./src/app/components/admin/account-details/account-details.component.ts","./src/app/components/admin/admin.component.css","./src/app/components/admin/admin.component.ts","./src/app/components/admin/approval-config/approval-config.component.css","./src/app/components/admin/approval-config/approval-config.component.ts","./src/app/components/admin/distributor-mapping/distributor-mapping.component.css","./src/app/components/admin/distributor-mapping/distributor-mapping.component.ts","./src/app/components/admin/distributor/distributor-grid/distributor-grid.component.css","./src/app/components/admin/distributor/distributor-grid/distributor-grid.component.ts","./src/app/components/admin/distributor/distributor-request/distributor-request.component.css","./src/app/components/admin/distributor/distributor-request/distributor-request.component.ts","./src/app/components/admin/distributor/distributor-view/distributor-view.component.css","./src/app/components/admin/distributor/distributor-view/distributor-view.component.ts","./src/app/components/admin/endmarket-sales-report/endmarket-sales-report.component.css","./src/app/components/admin/endmarket-sales-report/endmarket-sales-report.component.ts","./src/app/components/admin/price-history-revision/price-history-revision.component.css","./src/app/components/admin/price-history-revision/price-history-revision.component.ts","./src/app/components/admin/product-manager/product-manager.component.css","./src/app/components/admin/product-manager/product-manager.component.ts","./src/app/components/admin/sales-commerical-manager/sales-commerical-manager.component.css","./src/app/components/admin/sales-commerical-manager/sales-commerical-manager.component.ts","./src/app/components/admin/sales-support/sales-support/sales-support.component.css","./src/app/components/admin/sales-support/sales-support/sales-support.component.ts","./src/app/components/admin/user/user-grid/user-grid.component.css","./src/app/components/admin/user/user-grid/user-grid.component.ts","./src/app/components/admin/user/user-registration/user-registration.component.css","./src/app/components/admin/user/user-registration/user-registration.component.ts","./src/app/components/cup-history/cup-history.component.css","./src/app/components/cup-history/cup-history.component.ts","./src/app/components/cup-request-tab/cup-request-tab.component.css","./src/app/components/cup-request-tab/cup-request-tab.component.ts","./src/app/components/cups-request-info/cups-request-info.component.css","./src/app/components/cups-request-info/cups-request-info.component.ts","./src/app/components/cups-request/cups-request.component.css","./src/app/components/cups-request/cups-request.component.ts","./src/app/components/dynamic-grid/dynamic-grid.component.css","./src/app/components/dynamic-grid/dynamic-grid.component.ts","./src/app/components/error/error.component.css","./src/app/components/error/error.component.ts","./src/app/components/footer/footer.component.css","./src/app/components/footer/footer.component.ts","./src/app/components/header/header.component.css","./src/app/components/header/header.component.ts","./src/app/components/home/home.component.css","./src/app/components/home/home.component.ts","./src/app/components/login-test/login-test.component.ts","./src/app/components/login/login.component.css","./src/app/components/login/login.component.ts","./src/app/components/pm-cups-request/pm-cups-request.component.css","./src/app/components/pm-cups-request/pm-cups-request.component.ts","./src/app/components/rebate-shipped-form/rebate-shipped-form.component.css","./src/app/components/rebate-shipped-form/rebate-shipped-form.component.ts","./src/app/components/rebates/evem-request/evem-request.component.css","./src/app/components/rebates/evem-request/evem-request.component.ts","./src/app/components/rebates/pm-rebate-request/pm-rebate-request.component.css","./src/app/components/rebates/pm-rebate-request/pm-rebate-request.component.ts","./src/app/components/rebates/rebate-info/rebate-info.component.css","./src/app/components/rebates/rebate-info/rebate-info.component.ts","./src/app/components/rebates/rebates.component.css","./src/app/components/rebates/rebates.component.ts","./src/app/components/saml/saml.component.ts","./src/app/components/support-request-grid/support-request-grid.component.css","./src/app/components/support-request-grid/support-request-grid.component.ts","./src/environments/environment.ts","./src/main.ts","./src/services/authguard-service.service.ts","./src/services/cups.service.ts","./src/services/directives/drag-drop.directive.ts","./src/services/directives/line-separator.directive.ts","./src/services/directives/numbers-only.directive.ts","./src/services/pipes/custom-currency.pipe.ts","./src/services/pipes/remove-comma.pipe.ts","fs (ignored)","crypto (ignored)","stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6E;;;;;;;;;;;;ACnSA;AAAe,+K;;;;;;;;;;;;ACAf;AAAe,orBAAqnB,WAAW,6BAA6B,YAAY,mRAAmR,eAAe,0lBAA0lB,oBAAoB,2gBAA2gB,qBAAqB,iCAAiC,kCAAkC,2GAA2G,gOAAgO,mtBAAmtB,msBAAmsB,svBAAsvB,8Q;;;;;;;;;;;;ACAloJ;AAAe,kHAAmD,oBAAoB,+1G;;;;;;;;;;;;ACAtF;AAAe,0nBAA2jB,6EAA6E,2BAA2B,+wBAA+wB,+EAA+E,6BAA6B,u4BAAu4B,qFAAqF,mCAAmC,q3BAAq3B,6GAA6G,wBAAwB,k4BAAk4B,+EAA+E,6BAA6B,qXAAqX,8SAA8S,kGAAkG,yDAAyD,ihBAAihB,+EAA+E,2YAA2Y,+EAA+E,mTAAmT,8FAA8F,yDAAyD,yOAAyO,gEAAgE,waAAwa,sDAAsD,0QAA0Q,kGAAkG,yDAAyD,4VAA4V,6DAA6D,oWAAoW,0IAA0I,0BAA0B,wUAAwU,2EAA2E,6RAA6R,+EAA+E,YAAY,sMAAsM,6DAA6D,uVAAuV,qHAAqH,kBAAkB,4O;;;;;;;;;;;;ACA/4U;AAAe,iJAAkF,ugBAAugB,4EAA4E,YAAY,kZAAkZ,eAAe,+CAA+C,eAAe,y9B;;;;;;;;;;;;ACA/pC;AAAe,iGAAkC,koBAAkoB,cAAc,kKAAkK,gBAAgB,spC;;;;;;;;;;;;ACAn3B;AAAe,+HAAgE,8EAA8E,kBAAkB,4dAA4d,qPAAqP,4SAA4S,qPAAqP,6WAA6W,uPAAuP,8SAA8S,mrBAAmrB,qPAAqP,oYAAoY,imBAAimB,umBAAumB,4OAA4O,iYAAiY,kFAAkF,2EAA2E,+yBAA+yB,qQAAqQ,mQAAmQ,kQAAkQ,2hBAA2hB,mNAAmN,i1BAAi1B,svBAAsvB,spBAAspB,2wBAA2wB,gBAAgB,8mBAA8mB,gBAAgB,otBAAotB,gBAAgB,onBAAonB,gBAAgB,sxBAAsxB,4BAA4B,KAAK,gBAAgB,0JAA0J,gBAAgB,8BAA8B,4BAA4B,ijBAAijB,4BAA4B,KAAK,gBAAgB,sKAAsK,gBAAgB,8BAA8B,4BAA4B,wcAAwc,0IAA0I,weAAwe,msCAAmsC,cAAc,gMAAgM,GAAG,6BAA6B,cAAc,oEAAoE,qNAAqN,GAAG,+BAA+B,2VAA2V,GAAG,6QAA6Q,GAAG,6BAA6B,cAAc,qRAAqR,GAAG,2DAA2D,iWAAiW,cAAc,gMAAgM,GAAG,KAAK,gBAAgB,oEAAoE,+LAA+L,GAAG,+BAA+B,2VAA2V,GAAG,6QAA6Q,GAAG,KAAK,gBAAgB,+PAA+P,GAAG,2DAA2D,wOAAwO,6EAA6E,gKAAgK,gBAAgB,sGAAsG,uBAAuB,2BAA2B,WAAW,8OAA8O,uBAAuB,83BAA83B,mBAAmB,wGAAwG,YAAY,qFAAqF,cAAc,2PAA2P,6EAA6E,2+BAA2+B,YAAY,kMAAkM,YAAY,+bAA+b,+CAA+C,qdAAqd,iBAAiB,sHAAsH,iFAAiF,WAAW,GAAG,UAAU,wEAAwE,oBAAoB,shDAAshD,kCAAkC,8KAA8K,mRAAmR,uFAAuF,4PAA4P,uFAAuF,4PAA4P,wJAAwJ,swB;;;;;;;;;;;;ACAv03B;AAAe,uOAAwK,iMAAiM,uBAAuB,aAAa,uKAAuK,cAAc,iGAAiG,uBAAuB,0GAA0G,oGAAoG,mMAAmM,0BAA0B,qKAAqK,iNAAiN,sBAAsB,qKAAqK,4MAA4M,+GAA+G,sKAAsK,4mBAA4mB,iBAAiB,mCAAmC,mBAAmB,gRAAgR,4UAA4U,yDAAyD,ijBAAijB,iBAAiB,mCAAmC,yEAAyE,8JAA8J,iBAAiB,mCAAmC,gBAAgB,GAAG,eAAe,8JAA8J,iBAAiB,mCAAmC,WAAW,qUAAqU,u5BAAu5B,iBAAiB,mCAAmC,kBAAkB,6LAA6L,iBAAiB,mCAAmC,uBAAuB,8JAA8J,iBAAiB,mCAAmC,2BAA2B,+SAA+S,oxBAAoxB,iBAAiB,mCAAmC,kBAAkB,8JAA8J,iBAAiB,mCAAmC,WAAW,8JAA8J,iBAAiB,mCAAmC,aAAa,gRAAgR,gyBAAgyB,iBAAiB,mCAAmC,gBAAgB,8JAA8J,iBAAiB,mCAAmC,eAAe,8JAA8J,iBAAiB,mCAAmC,WAAW,kR;;;;;;;;;;;;ACA39S;AAAe,wIAAyE,kBAAkB,6GAA6G,kBAAkB,wnBAAwnB,6ZAA6Z,kTAAkT,iBAAiB,kBAAkB,2GAA2G,UAAU,2LAA2L,qLAAqL,gFAAgF,oBAAoB,oFAAoF,qfAAqf,kjB;;;;;;;;;;;;ACAruF;AAAe,kHAAmD,oBAAoB,+N;;;;;;;;;;;;ACAtF;AAAe,iJAAkF,6YAA6Y,eAAe,gCAAgC,eAAe,sbAAsb,eAAe,gCAAgC,eAAe,2pBAA2pB,iFAAiF,mCAAmC,+aAA+a,eAAe,kCAAkC,eAAe,mjBAAmjB,eAAe,kCAAkC,eAAe,ogBAAogB,eAAe,kCAAkC,eAAe,yVAAyV,kBAAkB,iKAAiK,kBAAkB,iUAAiU,kCAAkC,wJAAwJ,mBAAmB,kXAAkX,eAAe,oCAAoC,eAAe,+gBAA+gB,eAAe,oCAAoC,eAAe,kkCAAkkC,kCAAkC,8SAA8S,0BAA0B,0XAA0X,4XAA4X,qVAAqV,2gB;;;;;;;;;;;;ACA7/P;AAAe,iJAAkF,4kBAA4kB,iFAAiF,mCAAmC,2aAA2a,eAAe,gCAAgC,eAAe,0cAA0c,eAAe,gCAAgC,eAAe,qhBAAqhB,eAAe,kCAAkC,eAAe,0fAA0f,eAAe,kCAAkC,eAAe,qUAAqU,wb;;;;;;;;;;;;ACAtuG;AAAe,iJAAkF,+ZAA+Z,eAAe,sfAAsf,eAAe,mdAAmd,eAAe,oeAAoe,eAAe,kCAAkC,eAAe,6mBAA6mB,eAAe,mBAAmB,eAAe,4ZAA4Z,md;;;;;;;;;;;;ACAplG;AAAe,8FAA+B,oBAAoB,4HAA4H,UAAU,2rCAA2rC,cAAc,oC;;;;;;;;;;;;ACAj5C;AAAe,uiBAAwe,yRAAyR,wWAAwW,6OAA6O,sWAAsW,2OAA2O,gWAAgW,oOAAoO,mXAAmX,6zBAA6zB,WAAW,skB;;;;;;;;;;;;ACArrH;AAAe,sJAAuF,oIAAoI,+mB;;;;;;;;;;;;ACA1O;AAAe,mIAAoE,oBAAoB,0DAA0D,oJAAoJ,8sBAA8sB,eAAe,uZ;;;;;;;;;;;;ACAlhC;AAAe,iIAAkE,cAAc,wBAAwB,wKAAwK,uEAAuE,sSAAsS,+aAA+a,sJAAsJ,iGAAiG,0NAA0N,kGAAkG,0DAA0D,+JAA+J,uBAAuB,kbAAkb,2BAA2B,gBAAgB,KAAK,uBAAuB,8SAA8S,uBAAuB,gRAAgR,2BAA2B,gBAAgB,KAAK,uBAAuB,4FAA4F,uBAAuB,mNAAmN,uBAAuB,kQAAkQ,2BAA2B,wMAAwM,2BAA2B,mQAAmQ,2BAA2B,gBAAgB,KAAK,uBAAuB,yRAAyR,2BAA2B,gBAAgB,KAAK,uBAAuB,sHAAsH,sBAAsB,KAAK,uBAAuB,qRAAqR,2BAA2B,gBAAgB,wSAAwS,2BAA2B,gBAAgB,+OAA+O,uEAAuE,uSAAuS,4WAA4W,sJAAsJ,iGAAiG,0NAA0N,kGAAkG,0DAA0D,mNAAmN,uBAAuB,mRAAmR,2BAA2B,wMAAwM,2BAA2B,mQAAmQ,2BAA2B,gBAAgB,KAAK,uBAAuB,yRAAyR,2BAA2B,gBAAgB,KAAK,uBAAuB,sHAAsH,sBAAsB,KAAK,uBAAuB,8SAA8S,2BAA2B,gBAAgB,+OAA+O,2BAA2B,gBAAgB,8mBAA8mB,2BAA2B,uSAAuS,2BAA2B,maAAma,wCAAwC,2BAA2B,gBAAgB,mBAAmB,60CAA60C,slBAAslB,+nBAA+nB,izBAAizB,qCAAqC,saAAsa,uBAAuB,0TAA0T,yBAAyB,+cAA+c,sCAAsC,0bAA0b,6WAA6W,maAAma,mVAAmV,iuBAAiuB,upBAAupB,giBAAgiB,2XAA2X,81BAA81B,smBAAsmB,6lBAA6lB,yXAAyX,4VAA4V,koBAAkoB,gqBAAgqB,sgBAAsgB,k0DAAk0D,eAAe,4ZAA4Z,uBAAuB,8RAA8R,yBAAyB,oaAAoa,sCAAsC,kcAAkc,sDAAsD,iVAAiV,gDAAgD,4XAA4X,8CAA8C,yXAAyX,4CAA4C,meAAme,8CAA8C,2fAA2f,+CAA+C,4WAA4W,wBAAwB,4WAA4W,wBAAwB,uZAAuZ,oDAAoD,qXAAqX,2CAA2C,8XAA8X,gDAAgD,wTAAwT,mCAAmC,+RAA+R,8CAA8C,42BAA42B,eAAe,ugCAAugC,mUAAmU,uiBAAuiB,qzBAAqzB,kCAAkC,yXAAyX,8QAA8Q,qzBAAqzB,kCAAkC,qUAAqU,ihBAAihB,kKAAkK,+BAA+B,sHAAsH,sOAAsO,8IAA8I,8CAA8C,kHAAkH,kuBAAkuB,kCAAkC,gYAAgY,cAAc,4HAA4H,SAAS,iNAAiN,cAAc,+QAA+Q,cAAc,oIAAoI,SAAS,0NAA0N,cAAc,uyBAAuyB,cAAc,oIAAoI,SAAS,+KAA+K,cAAc,ixC;;;;;;;;;;;;ACAp2zC;AAAe,yIAA0E,oBAAoB,8EAA8E,cAAc,yFAAyF,mBAAmB,iBAAiB,2FAA2F,qCAAqC,sPAAsP,waAAwa,6uBAA6uB,iwBAAiwB,46BAA46B,gRAAgR,yIAAyI,eAAe,sLAAsL,iIAAiI,gcAAgc,eAAe,2HAA2H,0gBAA0gB,ydAAyd,2UAA2U,2pBAA2pB,itBAAitB,qTAAqT,mYAAmY,6NAA6N,sdAAsd,0UAA0U,+MAA+M,+RAA+R,wGAAwG,0BAA0B,4TAA4T,0nBAA0nB,ygBAAygB,ulBAAulB,gqCAAgqC,khBAAkhB,uWAAuW,qtBAAqtB,qnBAAqnB,q6BAAq6B,00BAA00B,qoBAAqoB,mBAAmB,2BAA2B,ogBAAogB,yHAAyH,eAAe,iaAAia,0lBAA0lB,8lBAA8lB,ycAAyc,4YAA4Y,0BAA0B,oUAAoU,whBAAwhB,0BAA0B,ofAAof,kmBAAkmB,0BAA0B,kDAAkD,4OAA4O,2WAA2W,qXAAqX,0BAA0B,kDAAkD,4OAA4O,+UAA+U,umBAAumB,2WAA2W,0BAA0B,iDAAiD,qSAAqS,2XAA2X,yqBAAyqB,sXAAsX,mVAAmV,inBAAinB,0pBAA0pB,mWAAmW,0BAA0B,iFAAiF,yYAAyY,kYAAkY,yDAAyD,yTAAyT,qYAAqY,ooCAAooC,ikBAAikB,iSAAiS,mBAAmB,2BAA2B,6YAA6Y,0ZAA0Z,uVAAuV,yXAAyX,kXAAkX,6UAA6U,kVAAkV,waAAwa,sWAAsW,6UAA6U,uiBAAuiB,8JAA8J,mMAAmM,wgCAAwgC,+7DAA+7D,iBAAiB,iZAAiZ,kCAAkC,sIAAsI,oMAAoM,4PAA4P,6eAA6e,qPAAqP,0NAA0N,4OAA4O,4NAA4N,wQAAwQ,qOAAqO,8OAA8O,oFAAoF,olBAAolB,4bAA4b,kCAAkC,sIAAsI,wMAAwM,wPAAwP,sXAAsX,oT;;;;;;;;;;;;ACA3j6C;AAAe,8sCAA+oC,sGAAsG,8CAA8C,WAAW,mBAAmB,YAAY,qpBAAqpB,eAAe,iOAAiO,+CAA+C,iOAAiO,ipBAAipB,iBAAiB,gGAAgG,oBAAoB,8GAA8G,oBAAoB,2FAA2F,uEAAuE,4FAA4F,sDAAsD,iSAAiS,m4DAAm4D,8VAA8V,gT;;;;;;;;;;;;ACA/rM;AAAe,8L;;;;;;;;;;;;ACAf;AAAe,sHAAuD,SAAS,0BAA0B,wIAAwI,iCAAiC,GAAG,aAAa,wBAAwB,MAAM,SAAS,MAAM,MAAM,sBAAsB,MAAM,SAAS,uHAAuH,aAAa,gBAAgB,MAAM,MAAM,SAAS,kHAAkH,YAAY,0E;;;;;;;;;;;;ACAjqB;AAAe,2IAA4E,gJAAgJ,ykBAAykB,oEAAoE,mGAAmG,YAAY,ynBAAynB,gDAAgD,sBAAsB,wHAAwH,kBAAkB,UAAU,WAAW,8LAA8L,kBAAkB,UAAU,8DAA8D,oOAAoO,kBAAkB,UAAU,8DAA8D,mOAAmO,kBAAkB,oKAAoK,gBAAgB,cAAc,2BAA2B,0JAA0J,4BAA4B,+BAA+B,sCAAsC,mO;;;;;;;;;;;;ACAxmG;AAAe,kHAAmD,oBAAoB,8DAA8D,kFAAkF,OAAO,oEAAoE,mBAAmB,kEAAkE,gBAAgB,cAAc,8IAA8I,gBAAgB,sYAAsY,qBAAqB,8SAA8S,UAAU,iQAAiQ,UAAU,spDAAspD,gBAAgB,cAAc,05aAA05a,kCAAkC,+wCAA+wC,kCAAkC,62BAA62B,kCAAkC,0tBAA0tB,kDAAkD,k+BAAk+B,kCAAkC,sUAAsU,ujBAAujB,8gBAA8gB,oHAAoH,+BAA+B,sHAAsH,sOAAsO,8IAA8I,8CAA8C,kHAAkH,8mBAA8mB,kDAAkD,gcAAgc,8CAA8C,WAAW,yBAAyB,YAAY,qYAAqY,iBAAiB,iCAAiC,gBAAgB,4RAA4R,sHAAsH,iBAAiB,sCAAsC,wEAAwE,2BAA2B,sDAAsD,wHAAwH,iBAAiB,sCAAsC,0EAA0E,2BAA2B,wDAAwD,4GAA4G,iBAAiB,sCAAsC,8DAA8D,2BAA2B,4CAA4C,6GAA6G,iBAAiB,gBAAgB,0CAA0C,2BAA2B,6CAA6C,+oBAA+oB,kzBAAkzB,sSAAsS,ySAAyS,4RAA4R,0GAA0G,gBAAgB,eAAe,s7DAAs7D,iBAAiB,2BAA2B,8BAA8B,6UAA6U,yGAAyG,iBAAiB,2BAA2B,iCAAiC,0GAA0G,iBAAiB,2BAA2B,mCAAmC,0GAA0G,iBAAiB,gBAAgB,0EAA0E,2BAA2B,wDAAwD,0GAA0G,iBAAiB,2BAA2B,uBAAuB,0GAA0G,iBAAiB,gBAAgB,8DAA8D,2BAA2B,4CAA4C,0GAA0G,iBAAiB,gBAAgB,0CAA0C,2BAA2B,6CAA6C,2kBAA2kB,gxBAAgxB,yxBAAyxB,0GAA0G,gBAAgB,eAAe,qyDAAqyD,iBAAiB,2BAA2B,8BAA8B,sRAAsR,4EAA4E,yEAAyE,oBAAoB,0EAA0E,mBAAmB,0GAA0G,iBAAiB,2BAA2B,6BAA6B,0GAA0G,iBAAiB,gBAAgB,oEAAoE,2BAA2B,kDAAkD,0GAA0G,iBAAiB,gBAAgB,gEAAgE,2BAA2B,8CAA8C,0GAA0G,iBAAiB,gBAAgB,wCAAwC,2BAA2B,iCAAiC,2kBAA2kB,gxBAAgxB,6RAA6R,2GAA2G,gBAAgB,eAAe,iQAAiQ,4MAA4M,sRAAsR,kBAAkB,iHAAiH,kBAAkB,spBAAspB,uXAAuX,6TAA6T,iBAAiB,kBAAkB,6GAA6G,UAAU,uKAAuK,2PAA2P,mBAAmB,sGAAsG,aAAa,qGAAqG,mBAAmB,0wB;;;;;;;;;;;;ACA9w0C;AAAe,iHAAkD,iBAAiB,ihBAAihB,iBAAiB,sW;;;;;;;;;;;;ACApnB;AAAe,sVAAuR,+b;;;;;;;;;;;;ACAtS;AAAe,2IAA4E,oBAAoB,uLAAuL,k6BAAk6B,scAAsc,4WAA4W,wXAAwX,u4BAAu4B,2qCAA2qC,ozBAAozB,uYAAuY,gWAAgW,4BAA4B,kFAAkF,muBAAmuB,0fAA0f,iUAAiU,2qCAA2qC,myBAAmyB,itBAAitB,4YAA4Y,gnCAAgnC,uqBAAuqB,40BAA40B,uaAAua,uwBAAuwB,uoBAAuoB,qTAAqT,mlCAAmlC,WAAW,iEAAiE,YAAY,i0BAAi0B,iBAAiB,qEAAqE,oBAAoB,wtBAAwtB,y8BAAy8B,iaAAia,6iBAA6iB,wZAAwZ,khBAAkhB,y0CAAy0C,oxBAAoxB,8tBAA8tB,yiBAAyiB,6WAA6W,6zBAA6zB,yKAAyK,eAAe,qYAAqY,2hBAA2hB,gcAAgc,+aAA+a,4YAA4Y,seAAse,wSAAwS,mhBAAmhB,0SAA0S,qfAAqf,qUAAqU,ucAAuc,2UAA2U,8gBAA8gB,oWAAoW,uZAAuZ,qwBAAqwB,4uBAA4uB,2WAA2W,qcAAqc,yUAAyU,mZAAmZ,2tGAA2tG,kCAAkC,wJAAwJ,4OAA4O,sSAAsS,kVAAkV,oQAAoQ,8SAA8S,uPAAuP,sZAAsZ,6VAA6V,kCAAkC,oLAAoL,uLAAuL,md;;;;;;;;;;;;ACAl1yC;AAAe,42BAA6yB,qEAAqE,WAAW,6BAA6B,YAAY,wVAAwV,iBAAiB,oUAAoU,0CAA0C,0CAA0C,2CAA2C,+BAA+B,yIAAyI,oBAAoB,0I;;;;;;;;;;;;ACA75D;AAAe,yIAA0E,oBAAoB,0FAA0F,IAAI,GAAG,UAAU,gDAAgD,kCAAkC,iFAAiF,ykBAAykB,ygBAAygB,mpBAAmpB,ytBAAytB,qfAAqf,2lBAA2lB,yXAAyX,+UAA+U,2jBAA2jB,8gBAA8gB,ugBAAugB,0pBAA0pB,6iBAA6iB,qgBAAqgB,2gBAA2gB,mZAAmZ,gMAAgM,iDAAiD,8CAA8C,kDAAkD,kMAAkM,0kBAA0kB,2WAA2W,2VAA2V,2fAA2f,ylBAAylB,4lBAA4lB,qhBAAqhB,knBAAknB,yiBAAyiB,scAAsc,8TAA8T,oVAAoV,4UAA4U,4SAA4S,gyBAAgyB,8mBAA8mB,iV;;;;;;;;;;;;ACA5+hB;AAAe,yIAA0E,oBAAoB,uDAAuD,oBAAoB,kGAAkG,UAAU,gDAAgD,kCAAkC,4jBAA4jB,qfAAqf,uVAAuV,gOAAgO,6SAA6S,uQAAuQ,+WAA+W,gMAAgM,iDAAiD,8CAA8C,kDAAkD,yLAAyL,kgBAAkgB,qgBAAqgB,uXAAuX,iOAAiO,6lBAA6lB,slBAAslB,mlBAAmlB,ykBAAykB,giBAAgiB,8mBAA8mB,wV;;;;;;;;;;;;ACAv8Q;AAAe,kHAAmD,oBAAoB,gKAAgK,kVAAkV,aAAa,4JAA4J,sBAAsB,qGAAqG,qGAAqG,sGAAsG,oFAAoF,+OAA+O,cAAc,8JAA8J,uBAAuB,uGAAuG,sGAAsG,wGAAwG,qFAAqF,gG;;;;;;;;;;;;ACAv8D;AAAe,iIAAkE,oBAAoB,oMAAoM,cAAc,0zBAA0zB,mBAAmB,i3HAAi3H,kBAAkB,iHAAiH,kBAAkB,spBAAspB,kaAAka,0TAA0T,iBAAiB,kBAAkB,6GAA6G,UAAU,uKAAuK,qMAAqM,mBAAmB,sFAAsF,oBAAoB,6HAA6H,mBAAmB,iUAAiU,mBAAmB,gc;;;;;;;;;;;;ACAnmP;AAAe,2K;;;;;;;;;;;;ACAf;AAAe,q1CAAsxC,2BAA2B,uFAAuF,WAAW,oDAAoD,YAAY,gmBAAgmB,eAAe,+OAA+O,+CAA+C,iOAAiO,gtBAAgtB,2BAA2B,sDAAsD,iBAAiB,gGAAgG,oBAAoB,6MAA6M,oBAAoB,sHAAsH,oBAAoB,2FAA2F,6LAA6L,4FAA4F,sDAAsD,uRAAuR,m9DAAm9D,kXAAkX,gV;;;;;;;;;;;ACAv2N;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,4E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZ2C;AACkF;AAEvF;AAEa;AAGnD;IACE,+BACU,aAA4B;QAA5B,kBAAa,GAAb,aAAa,CAAe;IACjC,CAAC;IAGN,yCAAS,GAAT,UAAU,OAAyB,EAAE,IAAiB;QAAtD,iBA+CC;QA9CC,IAAI,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAChC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;gBACxC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBAC9F,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACxF,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gBACvF,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;gBAChF,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,+BAA+B,CAAC,EAAE,CAAC,CAAC;gBACtG,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;aACrF;YACD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,CAAC,yBAAyB,EAAE,wCAAwC,EAAE,yCAAyC,EAAE,qCAAqC,EAAE,gCAAgC,EAAE,6BAA6B,CAAC,CAAC;aACtR,CAAC,CAAC;SACJ;QACD,IAAG,SAAS,IAAE,IAAI;YAChB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAG,SAAW,CAAC,EAAE,CAAC,CAAC;QAE/F,IAAI,MAAM,GAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACnD,IAAG,MAAM,IAAE,EAAE,IAAI,MAAM,IAAE,IAAI,IAAI,MAAM,IAAE,SAAS,EAClD;YACE,IAAG,MAAM,CAAC,MAAM,GAAC,CAAC,EAClB;gBACA,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;aACnH;SACF;aACG;YACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,IAAI,WAAW,EAAE;gBAC7C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAG,SAAW,CAAC,EAAE,CAAC,CAAC,CAAE,eAAe;aAC7G;YACD;;oCAEwB;SACzB;QACC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9B,0DAAG,CACD,eAAK;YACH,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,EACD,eAAK;YACH,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAEF,CACF,CAAC;IACJ,CAAC;IAED,6CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,KAAK,YAAY,iEAAY,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,6CAAa,GAAb,UAAc,KAAU;QACtB,IAAI,KAAK,YAAY,sEAAiB,EAAE;YACtC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC;SACF;IACH,CAAC;;gBAnEwB,gEAAa;;IAF3B,qBAAqB;QAFjC,gEAAU,EAAE;yCAIc,gEAAa;OAF3B,qBAAqB,CAuEjC;IAAD,4BAAC;CAAA;AAvEiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACR6B;AACP;AAChB;AAMxC;IAgBE,sBACS,MAAc;QADvB,iBAuCC;QAtCQ,WAAM,GAAN,MAAM,CAAQ;QAhBvB,SAAI,GAAG,sBAAsB,CAAC;QAG9B,iBAAY,GAAY,KAAK,CAAC;QAK9B,aAAQ,GAAG,IAAI,CAAC;QAChB,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAElB,iBAAY,GAAG,KAAK,CAAC;QACrB,UAAK,GAAG,KAAK,CAAC;QACd,cAAS,GAAU,KAAK,CAAC;QAGrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAChB,6DAAM,CAAC,eAAK,IAAI,YAAK,YAAY,6DAAa,EAA9B,CAA8B,CAAC,CAChD,CAAC,SAAS,CAAC,UAAC,KAAoB;YAC/B,KAAI,CAAC,YAAY,GAAE,KAAK,CAAC;YACzB,IAAI,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC;YAC5B,KAAI,CAAC,UAAU,GAAE,KAAK,CAAC;YACvB,IAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAG,KAAK,CAAC,GAAG,IAAI,aAAa,IAAI,KAAK,CAAC,GAAG,IAAI,QAAQ,IAAI,KAAK,CAAC,GAAG,IAAI,SAAS,IAAG,KAAK,CAAC,GAAG,IAAE,eAAe,IAAI,KAAK,CAAC,GAAG,IAAE,OAAO,IAAI,KAAK,CAAC,GAAG,IAAG,QAAQ,EAAE;gBAC9K,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aAEzB;iBAAM;gBACL,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;aACxB;YACD,IAAG,WAAW,IAAG,OAAO,IAAI,WAAW,IAAI,eAAe,IAAI,WAAW,IAAI,cAAc,IAAG,WAAW,IAAG,gBAAgB;mBACzH,WAAW,IAAG,aAAa,IAAG,WAAW,IAAG,aAAa,EAAE;gBAE9D,IAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;oBACxF,KAAI,CAAC,YAAY,GAAE,KAAK,CAAC;oBACzB,KAAI,CAAC,UAAU,GAAE,IAAI,CAAC;iBACvB;qBACG;oBACF,KAAI,CAAC,YAAY,GAAE,IAAI,CAAC;oBACxB,KAAI,CAAC,UAAU,GAAE,KAAK,CAAC;iBACxB;aACF;YACD,IAAG,WAAW,IAAI,MAAM,IAAI,WAAW,IAAG,SAAS,EAAC;gBAClD,IAAG,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,EAAC;oBACzC,KAAI,CAAC,YAAY,GAAE,KAAK,CAAC;oBACzB,KAAI,CAAC,UAAU,GAAE,IAAI,CAAC;iBACrB;qBAED;oBACE,KAAI,CAAC,YAAY,GAAE,IAAI,CAAC;oBAC1B,KAAI,CAAC,UAAU,GAAE,KAAK,CAAC;iBACtB;aACF;QACH,CAAC,CAAC,CAAC;IAEL,CAAC;IAjDD,mCAAY,GAAZ,UAAa,YAAqB;QAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAiDD,+BAAQ,GAAR;QACE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACpB,CAAC;;gBA1Ce,sDAAM;;IAbvB;QADC,iEAAW,CAAC,mBAAmB,CAAC;;sDACH;IAJnB,YAAY;QAJxB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,mKAAmC;SACpC,CAAC;yCAkBiB,sDAAM;OAjBZ,YAAY,CA4DxB;IAAD,mBAAC;CAAA;AA5DwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACRiC;AACO;AACC;AACS;AACD;AAC3B;AACA;AACA;AACwB;AACA;AACN;AACuB;AACA;AACc;AACN;AACV;AACN;AACU;AACqC;AACb;AACxB;AACtB;AACM;AACsB;AACc;AACjB;AACyB;AACA;AACf;AACP;AAC/B;AACG;AACP;AACO;AACc;AAC6B;AACkB;AAC1B;AAClB;AACsC;AAEjF;AACK;AACgC;AAC5B;AAEO;AACF;AACZ;AACM;AACA;AACF;AACE;AACI;AACR;AACI;AACQ;AACF;AACJ;AACV;AACc;AACZ;AACI;AACY;AACV;AAC0D;AACL;AAC1B;AACN;AACwC;AACY;AACR;AA0GnH;IAAA;IAAyB,CAAC;IAAb,SAAS;QAxGrB,8DAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,2DAAY;gBACZ,8EAAa;gBACb,mFAAe;gBACf,mFAAe;gBACf,qGAAoB;gBACpB,qGAAoB;gBACpB,4HAA2B;gBAC3B,mHAAwB;gBACxB,6GAAsB;gBACtB,oGAAoB;gBACpB,8FAAiB;gBACjB,wGAAsB;gBACtB,4IAA2B;gBAC3B,+HAAyB;gBACzB,uGAAiB;gBACjB,iFAAc;gBACd,uFAAgB;gBAChB,6GAAoB;gBACpB,2HAAwB;gBACxB,0GAAmB;gBACnB,mIAAwB;gBACxB,mIAAwB;gBACxB,oHAAuB;gBACvB,6GAAsB;gBACtB,8EAAa;gBACb,iFAAc;gBACd,iFAAc;gBACd,+FAAkB;gBAClB,4HAAqB;gBACrB,8IAA+B;gBAC/B,oHAAuB;gBACvB,kGAAmB;gBACnB,wIAA6B;gBAC7B,yHAA0B;gBAC1B,oHAAuB;gBACvB,wIAA6B;gBAC7B,2FAAkB;gBAClB,qFAAe;gBACf,gIAA2B;aAC5B;YACD,OAAO,EAAE;gBACP,uEAAa,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;gBACjE,6FAAuB;gBACvB,qEAAgB;gBAChB,0DAAW;gBACX,kEAAmB;gBACnB,wDAAY,CAAC,OAAO,CAAC;oBACnB,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,iBAAiB;oBAChC,iBAAiB,EAAE,IAAI;oBACvB,WAAW,EAAE,IAAI;iBAClB,CAAC;gBACF,wDAAY;gBACZ,6DAAgB;gBAChB,sEAAiB;gBACjB,wEAAkB;gBAClB,0DAAW;gBACX,gEAAc;gBACd,0EAAmB;gBACnB,gEAAc;gBACd,8DAAa;gBACb,gEAAc;gBACd,oEAAgB;gBAChB,4DAAY;gBACZ,gEAAc;gBACd,wEAAkB;gBAClB,sEAAiB;gBACjB,kEAAe;gBACf,wDAAU;gBACV,sEAAiB;gBACjB,0DAAW;gBACX,8DAAa;gBACb,4DAAY;gBACZ,4DAAY,CAAC,OAAO,CAAC;oBACnB,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,iFAAc,EAAE;oBAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,8EAAa,EAAE;oBAC7D,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,8EAAa,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;oBAChI,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,qGAAoB,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,EAAE;oBACpI,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,6GAAsB,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE;oBAChJ,EAAE,IAAI,EAAE,iBAAiB,EAAE,SAAS,EAAE,6GAAsB,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,EAAE;oBAC5I,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,4IAA2B,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,EAAE;oBACzJ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,uGAAiB,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;oBACnH,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iFAAc,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE;oBAChH,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,uFAAgB,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;oBACtH,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,wIAA6B,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,EAAE;oBACjK,EAAE,IAAI,EAAE,0BAA0B,EAAE,SAAS,EAAE,6GAAoB,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE,EAAE;oBAC5J,EAAE,IAAI,EAAE,wBAAwB,EAAE,SAAS,EAAE,2HAAwB,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,wBAAwB,EAAE,EAAE;oBAC5J,EAAE,IAAI,EAAE,qBAAqB,EAAE,SAAS,EAAE,0GAAmB,EAAE,WAAW,EAAE,CAAC,0EAAmB,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,qBAAqB,EAAE,EAAE;oBACjJ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,iFAAc,EAAE;oBAC5C,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,+FAAkB,EAAC;iBAExE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC;aACrD;YACD,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,sEAAiB,EAAE,QAAQ,EAAE,qFAAqB,EAAE,KAAK,EAAE,IAAI,EAAE;gBAC5E,iEAAa;gBAEb,gEAAmB;aACpB;YACD,SAAS,EAAE,CAAC,2DAAY,CAAC;YACzB,OAAO,EAAE,CAAC,oEAAsB,CAAC;SAClC,CAAC;OACW,SAAS,CAAI;IAAD,gBAAC;CAAA;AAAJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjLqB;AACmG;AAE9D;AAKhF;IAME,6BAAoB,QAAwB,EAAU,gBAAyC,EAAS,MAAc;QAAlG,aAAQ,GAAR,QAAQ,CAAgB;QAAU,qBAAgB,GAAhB,gBAAgB,CAAyB;QAAS,WAAM,GAAN,MAAM,CAAQ;QAFtH,gBAAW,GAAG,KAAK,CAAC;IAIpB,CAAC;IACD,yCAAW,GAAX,UACE,KAA6B,EAC7B,KAA0B;QAC1B,IAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE;gBAC3B,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC3E,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBACzD,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;iBAC/C;gBACD,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;aACpE;iBACI;gBACH,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;aAChD;YACD,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC;YAC7E,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;YACjE,IAAI,WAAW,IAAI,OAAO,EAAE;gBAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;oBAC/C,OAAO,IAAI,CAAC;qBACT;oBACH,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACjC,OAAO,KAAK,CAAC;iBACd;aACF;iBACI;gBACH,OAAO,IAAI,CAAC;aACb;SAEF;IAEH,CAAC;IAED,8CAAgB,GAAhB,UAAiB,WAAmC,EAAE,MAA2B;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;;gBA3C6B,8DAAc;gBAA4B,2FAAuB;gBAAiB,sDAAM;;IAN3G,mBAAmB;QAH/B,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAO8B,8DAAc,EAA4B,2FAAuB,EAAiB,sDAAM;OAN3G,mBAAmB,CAkD/B;IAAD,0BAAC;CAAA;AAlD+B;;;;;;;;;;;;;ACRhC;AAAe,sFAAuB,qBAAqB,kCAAkC,wBAAwB,2BAA2B,qBAAqB,KAAK,mBAAmB,wBAAwB,yBAAyB,KAAK,kDAAkD,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,sDAAsD,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,kDAAkD,wBAAwB,8BAA8B,4BAA4B,yBAAyB,wBAAwB,qBAAqB,yBAAyB,gCAAgC,mDAAmD,gCAAgC,uCAAuC,KAAK,+BAA+B,iCAAiC,yBAAyB,8BAA8B,KAAK,mCAAmC,iCAAiC,yBAAyB,6BAA6B,KAAK,gCAAgC,oCAAoC,2CAA2C,gCAAgC,gCAAgC,KAAK,uFAAuF,6CAA6C,gCAAgC,KAAK,wDAAwD,gCAAgC,8BAA8B,KAAK,sGAAsG,gCAAgC,2CAA2C,KAAK,4DAA4D,yCAAyC,6CAA6C,kCAAkC,KAAK,kCAAkC,+BAA+B,KAAK,4BAA4B,qCAAqC,KAAK,2EAA2E,iCAAiC,yBAAyB,gCAAgC,sBAAsB,KAAK,kDAAkD,sCAAsC,KAAK,4CAA4C,mDAAmD,KAAK,6BAA6B,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,kBAAkB,2BAA2B,KAAK,2CAA2C,gDAAgD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,2CAA2C,gDAAgD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,2CAA2C,gDAAgD,uDAAuD,SAAS,aAAa,uCAAuC,SAAS,KAAK,+CAA+C,m3M;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1+G;AACb;AACN;AAQlD;IAEE,iCAAoB,OAAoB,EAAU,mBAAwC;QAAtE,YAAO,GAAP,OAAO,CAAa;QAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;QAC1F,iBAAY,GAAG,KAAK,CAAC;QACrB,SAAI,GAAG,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE;YACtD,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE;YAClD,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE;YAC9C,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE;SACzC,CAAC;QACF,aAAQ,GAAG,EAAE,CAAC;QACd,gBAAW,GAAG,EAAE,CAAC;QACjB,cAAS,GAAG,EAAE,CAAC;QACf,eAAU,GAAG,EAAE,CAAC;QAChB,qBAAgB,GAAG,EAAE,CAAC;QACtB,mBAAc,GAAG,EAAE,CAAC;QACpB,oBAAe,GAAG,EAAE,CAAC;QACrB,WAAM,GAAG,KAAK,CAAC;QACf,sBAAiB,GAAG;YAClB,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;SACV,CAAC;IArB4F,CAAC;IAsB/F,0CAAQ,GAAR;QACE,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAE9B,CAAC;IACD,gDAAc,GAAd;QAAA,iBA2BC;QA1BC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,aAAG;YACzC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,IAAI,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC;gBACxC,IAAI,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACvC,IAAI,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACxC,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,KAAI,CAAC,SAAS,GAAG,EAAE,CAAC;gBACpB,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,QAAQ,CAAC,OAAO,CAAC,iBAAO;oBACtB,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,OAAO,CAAC,iBAAO;oBACpB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,CAAC,iBAAO;oBACrB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACjC;QAGH,CAAC,EAAE,eAAK;YACN,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC;IACJ,CAAC;IAED,sDAAoB,GAApB;QAAA,iBAUC;QATC,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,SAAS,CAAC,aAAG;YAC5C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;gBAChC,KAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBACI;gBACH,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAa,GAAb,UAAc,KAAK;;QACjB,IAAI,QAAQ,GAAU,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;;YAExB,KAAoB,sBAAI,CAAC,WAAW,6CAAE;gBAAjC,IAAI,OAAO;gBACd,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC3D,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBACxB;aACF;;;;;;;;;QACD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACnC,CAAC;IAED,8CAAY,GAAZ,UAAa,KAAK;;QAChB,IAAI,QAAQ,GAAU,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;;YACxB,KAAmB,sBAAI,CAAC,UAAU,6CAAE;gBAA/B,IAAI,MAAM;gBACb,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE;oBAC1D,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACvB;aACF;;;;;;;;;QACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;IAClC,CAAC;IAED,4CAAU,GAAV,UAAW,KAAK;;QACd,IAAI,QAAQ,GAAU,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;;YACxB,KAAiB,sBAAI,CAAC,SAAS,6CAAE;gBAA5B,IAAI,IAAI;gBACX,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE;oBACxD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACrB;aACF;;;;;;;;;QACD,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;IACjC,CAAC;IAED,wCAAM,GAAN,UAAO,IAAI;QAET,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAE3B,CAAC;IAED,0CAAQ,GAAR,UAAS,IAAI;QAAb,iBAqBC;QApBC,IAAI,CAAC,iBAAiB,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACxD,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YAC/B,OAAO,EAAE,oDAAoD;YAC7D,MAAM,EAAE;gBACN,KAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,aAAG;oBACtE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;wBACnB,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;wBAChC,KAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC5B,KAAI,CAAC,OAAO,EAAE,CAAC;qBAChB;yBAAM;wBACL,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;qBACjC;gBACH,CAAC,EAAE,eAAK;oBACN,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,+CAAa,GAAb;QAEE,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAE3B,CAAC;IAED,yCAAO,GAAP;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,0CAAQ,GAAR;QACE,IAAI,CAAC,iBAAiB,GAAG;YACvB,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,EAAE;YAChB,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IACD,6CAAW,GAAX;QAAA,iBAyBC;QAxBC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,aAAG;gBACrE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACnB,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAChC,KAAI,CAAC,oBAAoB,EAAE,CAAC;iBAC7B;qBAAM;oBACL,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBACjC;YACH,CAAC,EAAE,eAAK;gBACN,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,aAAG;gBACrE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBACnB,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;oBAChC,KAAI,CAAC,oBAAoB,EAAE,CAAC;iBAC7B;qBAAM;oBACL,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBACjC;YACH,CAAC,EAAE,eAAK;gBACN,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC;SACH;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;;gBAtL4B,qEAAW;gBAA+B,+DAAmB;;IAF/E,uBAAuB;QANnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,4NAA+C;YAE/C,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAG6B,qEAAW,EAA+B,+DAAmB;OAF/E,uBAAuB,CA0LnC;IAAD,8BAAC;CAAA;AA1LmC;;;;;;;;;;;;;ACVpC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,+CAA+C,2X;;;;;;;;;;;;;;;;;;;;;;;;ACAlF;AAOlD;IALA;QAME,eAAU,GAAG,EAAE,CAAC;QAEhB,uBAAkB,GAAG,uBAAuB,CAAC;QAE7C,8BAAyB,GAAW,CAAC,CAAC;IAexC,CAAC;IAdC,iCAAQ,GAAR;QACE,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAG,IAAI,CAAC,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,KAAG,IAAI,EAAE;YACrD,IAAI,CAAC,kBAAkB,GAAG,sBAAsB,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,kBAAkB,GAAG,uBAAuB,CAAC;SACnD;QACD,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,oCAAW,GAAX,UAAY,KAAK;QACf,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC;IAC1D,CAAC;IAlBU,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,wLAAqC;;SAEtC,CAAC;OACW,cAAc,CAoB1B;IAAD,qBAAC;CAAA;AApB0B;;;;;;;;;;;;;ACP3B;AAAe,qEAAM,yBAAyB,KAAK,8BAA8B,yBAAyB,4BAA4B,sCAAsC,KAAK,+CAA+C,+mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA9K;AAC6B;AAC/B;AACL;AACa;AAMxD;IAuBE,iCAAoB,WAAwB,EAAU,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAA1H,gBAAW,GAAX,WAAW,CAAa;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAb9I,cAAS,GAAG,KAAK,CAAC;QAGlB,uBAAkB,GAAQ,EAAE,CAAC;QAK7B,YAAO,GAAY,KAAK,CAAC;QACzB,YAAO,GAAY,KAAK,CAAC;QACzB,gBAAW,GAAW,CAAC,CAAC;QAItB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACtC,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,EAAE,yDAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrD,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,yDAAU,CAAC,QAAQ,CAAC,CAAC;YACnC,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,qBAAqB,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,WAAW,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,0CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IACD,0CAAQ,GAAR;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;YACxB,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE;gBACpC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;aAC3N;YACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACzD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,IAAS;gBACtE,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IACD,uDAAqB,GAArB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;IAClE,CAAC;IACD,uDAAqB,GAArB;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;IAClE,CAAC;IACD,0DAAwB,GAAxB,UAAyB,IAAS;QAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,0DAAwB,GAAxB,UAAyB,IAAS;QAChC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;SAC1F;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5B,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACjB,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,yDAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChD,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;YAC3B,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,0DAAwB,GAAxB,UAAyB,IAAS;QAChC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IACD,0DAAwB,GAAxB,UAAyB,IAAS;QAChC,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;SAC5I;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC5B,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACjB,UAAU,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YACjB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzB,QAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;YACzB,uBAAuB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;YACvD,KAAK,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACrB,UAAU,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,wCAAM,GAAN;QACE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,sDAAoB,GAApB;QAAA,iBAYC;QAXC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,UAAC,QAAa;YAC3D,KAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC;YACxC,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;YACxC,KAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;YACtC,KAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC1C,KAAI,CAAC,mBAAmB,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;YACzG,IAAI,GAAG,GAAG,iBAAiB,CAAC;YAC5B,KAAI,CAAC,YAAY,YAAO,IAAI,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAI;gBAC5D,QAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;YAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,kDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,IAAI,KAAK,EAA1B,CAA0B,CAAC,CAAC;SACpF;IACH,CAAC;IACD,mDAAiB,GAAjB,UAAkB,QAAQ;QACxB,IAAI,IAAI,CAAC,iBAAiB,IAAI,GAAG,IAAI,IAAI,CAAC,iBAAiB,IAAI,GAAG,EAAE;YAClE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,iBAAiB,CAAC;SAClD;IACH,CAAC;IACD,sDAAoB,GAApB,UAAqB,QAAQ;QAC3B,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QAClC,IAAI,QAAQ,IAAI,GAAG,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;aACI,IAAI,QAAQ,IAAI,GAAG,EAAE;YACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;aACI;YACH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACtB;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,6CAAW,GAAX;QAAA,iBAwBC;QAvBC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,UAAC,QAAa;YAC3N,IAAI,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gBAC/C,IAAM,OAAK,GAAG,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;gBACvE,OAAK,CAAC,KAAK,EAAE,CAAC;gBACd,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;oBAC/C,IAAI,KAAK,IAAI,QAAQ,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;wBACnD,OAAK,CAAC,IAAI,CAAC,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;qBAClD;yBACI;wBACH,IAAM,IAAI,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,kBAAkB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;wBAC7L,OAAK,CAAC,IAAI,CAAC,KAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;qBACjD;gBACH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,GAAG,OAAK,CAAC,MAAM,CAAC;aACjC;iBACI,IAAI,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,EAAE;gBACpD,IAAM,OAAK,GAAG,KAAI,CAAC,SAAS,CAAC,GAAG,CAAC,uBAAuB,CAAc,CAAC;gBACvE,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,KAAK,EAAE,KAAK;oBAC/C,OAAK,CAAC,IAAI,CAAC,KAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,WAAW,GAAG,OAAK,CAAC,MAAM,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBAzIgC,0DAAW;gBAAoB,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IAvBnI,uBAAuB;QALnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,4NAA+C;;SAEhD,CAAC;yCAwBiC,0DAAW,EAAoB,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OAvBnI,uBAAuB,CAiKnC;IAAD,8BAAC;CAAA;AAjKmC;;;;;;;;;;;;;ACVpC;AAAe,6GAA8C,uM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAX;AACK;AACV;AACG;AACL;AACqB;AAOhE;IAQE,qCAAoB,QAAqB,EAC/B,OAA0B,EAC1B,MAAqB,EACrB,EAAe;QAHL,aAAQ,GAAR,QAAQ,CAAa;QAC/B,YAAO,GAAP,OAAO,CAAmB;QAC1B,WAAM,GAAN,MAAM,CAAe;QACrB,OAAE,GAAF,EAAE,CAAa;QALzB,SAAI,GAAG,EAAE,CAAC;QACV,2BAAsB,GAAG,EAAE,CAAC;QAK1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;YACxB,mBAAmB,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;YACzE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,yDAAU,CAAC,QAAQ,CAAC;SACrE,CAAC;IACJ,CAAC;IAED,8CAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;SACF,CAAC;QACF,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,2DAAqB,GAArB;QAAA,iBAQC;QAPC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,MAAM,EAAE,CAAC;QACnD,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,SAAS,CAAC,UAAC,GAAQ;YACrD,IAAI,GAAG,EAAE;gBACP,KAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC,gBAAgB,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAAqB,GAArB;IAEA,CAAC;IAED,wDAAkB,GAAlB;QAAA,iBAMC;QALC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,UAAC,GAAQ;YACjD,IAAI,GAAG,EAAE;gBACP,KAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,YAAY,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAAqB,GAArB;QAAA,iBAcC;QAbC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,MAAM,EAAE;SAC9C;QACD,IAAI,CAAC,gBAAgB,GAAG,EAAE;QAC1B,IAAI,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,GAAQ;YACjG,IAAI,GAAG,EAAE;gBACP,KAAI,CAAC,uBAAuB,GAAG,GAAG,CAAC,YAAY,CAAC;gBAChD,KAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAI,CAAC,uBAAuB,CAAC;aAC5E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAU,GAAV;QAAA,iBAgBC;QAfC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACrB,OAAO;SACR;QAED,IAAI,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC;QACrE,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC;QACpD,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,GAAG,CAAC,WAAC;gBACX,CAAC,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;YAC9C,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YACzD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;YAC5D,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;;gBA3L6B,kEAAW;gBACtB,6DAAiB;gBAClB,wDAAa;gBACjB,0DAAW;;IAXd,2BAA2B;QALvC,+DAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,wOAAmD;;SAEpD,CAAC;yCAS8B,kEAAW;YACtB,6DAAiB;YAClB,wDAAa;YACjB,0DAAW;OAXd,2BAA2B,CAuMvC;IAAD,kCAAC;CAAA;AAvMuC;;;;;;;;;;;;;ACZxC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,oBAAoB,qBAAqB,kCAAkC,wBAAwB,2BAA2B,qBAAqB,KAAK,+CAA+C,uwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAnO;AAChB;AACO;AACL;AACa;AAOxD;IAaE,kCAAoB,MAAc,EAAU,OAA0B,EAAU,MAAqB,EAAU,QAAqB;QAAhH,WAAM,GAAN,MAAM,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,aAAQ,GAAR,QAAQ,CAAa;QALpI,aAAQ,GAAG,KAAK,CAAC;QACjB,aAAQ,GAAG,KAAK,CAAC;QACjB,gBAAW,GAAG,EAAE,CAAC;QACjB,aAAQ,GAAG,EAAE,CAAC;IAE0H,CAAC;IAEzI,2CAAQ,GAAR;QACE,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAE5B,CAAC;IACD,mDAAgB,GAAhB;QACE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7D,CAAC;IAED,qDAAkB,GAAlB;QAAA,iBAmBC;QAlBC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,MAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACxG,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,IAAI,KAAI,CAAC,YAAY,IAAI,CAAC,IAAI,KAAI,CAAC,YAAY,IAAG,CAAC,EAAE;oBACnD,KAAI,CAAC,OAAO,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,mBAAmB,EAA9B,CAA8B,CAAC,CAAC;iBACrG;gBACD,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,EAAjB,CAAiB,CAAC,CAAC;gBACtE,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAC,IAAE,QAAC,CAAC,OAAO,EAAT,CAAS,CAAC,CAAC,CAAC,CAAC;gBAC7E,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;oBAC1C,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,eAAe,EAAnD,CAAmD,CAAC,CAAC;gBAChH,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC;aACzD;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,kDAAe,GAAf;QACE,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,oDAAiB,GAAjB;QAAA,iBAIC;QAHC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAC,IAAI,CAAC,MAAM,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,UAAC,QAAY;YACxG,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAW,GAAX;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAED,oDAAiB,GAAjB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,sDAAmB,GAAnB,UAAoB,UAAU;QAC5B,IAAG,UAAU,EAAE;YACb,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3B;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IACH,CAAC;IAED,8CAAW,GAAX,UAAY,SAAS;QACnB,IAAI,SAAS,CAAC,IAAI,IAAI,MAAM,EAAE;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;SACxB;QACD,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,6CAAU,GAAV,UAAW,MAAW;QACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;;gBA3E2B,sDAAM;gBAAmB,6DAAiB;gBAAkB,wDAAa;gBAAoB,qEAAW;;IAD3H;QAAR,2DAAK,EAAE;;kEAAmB;IAZhB,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,2OAAgD;;SAEjD,CAAC;yCAc4B,sDAAM,EAAmB,6DAAiB,EAAkB,wDAAa,EAAoB,qEAAW;OAbzH,wBAAwB,CA0FpC;IAAD,+BAAC;CAAA;AA1FoC;;;;;;;;;;;;;ACXrC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,sBAAsB,mCAAmC,sCAAsC,uBAAuB,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,WAAW,oCAAoC,KAAK,sBAAsB,6BAA6B,sBAAsB,+BAA+B,KAAK,mFAAmF,+BAA+B,2CAA2C,KAAK,2CAA2C,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,6DAA6D,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,iEAAiE,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,6DAA6D,wBAAwB,8BAA8B,4BAA4B,yBAAyB,wBAAwB,qBAAqB,yBAAyB,gCAAgC,mDAAmD,gCAAgC,uCAAuC,KAAK,0CAA0C,iCAAiC,yBAAyB,8BAA8B,KAAK,8CAA8C,iCAAiC,yBAAyB,6BAA6B,KAAK,2CAA2C,oCAAoC,2CAA2C,gCAAgC,gCAAgC,KAAK,kGAAkG,6CAA6C,gCAAgC,KAAK,mEAAmE,8BAA8B,KAAK,iHAAiH,gCAAgC,2CAA2C,KAAK,uEAAuE,yCAAyC,6CAA6C,kCAAkC,KAAK,6CAA6C,+BAA+B,KAAK,uCAAuC,qCAAqC,KAAK,sFAAsF,iCAAiC,yBAAyB,gCAAgC,sBAAsB,KAAK,6DAA6D,sCAAsC,KAAK,uDAAuD,mDAAmD,KAAK,wCAAwC,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,kBAAkB,2BAA2B,KAAK,0DAA0D,+BAA+B,KAAK,qFAAqF,+BAA+B,KAAK,cAAc,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,6BAA6B,wBAAwB,KAAK,yCAAyC,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,6CAA6C,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,0CAA0C,wBAAwB,8BAA8B,4BAA4B,yBAAyB,wBAAwB,qBAAqB,yBAAyB,gCAAgC,mDAAmD,gCAAgC,uCAAuC,KAAK,2CAA2C,2DAA2D,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,2CAA2C,2DAA2D,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,2CAA2C,2DAA2D,uDAAuD,SAAS,aAAa,uCAAuC,SAAS,KAAK,+CAA+C,uoU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAxiL;AACzD;AACO;AACL;AACa;AAGxD;IAAA;IAMA,CAAC;IAAD,sBAAC;AAAD,CAAC;;AASD;IA6HE,qCAAoB,QAAqB,EAAU,OAA0B,EAAU,MAAqB,EAAU,MAAc;QAAhH,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;QAzH1H,eAAU,GAAG,IAAI,0DAAY,EAAE,CAAC;QAG1C,oBAAe,GAAsB,EAAE,CAAC;QACxC,aAAQ,GAAG,EAAE,CAAC;QAMd,+BAA0B,GAAG,EAAE,CAAC;QAEhC,eAAU,GAAG,EAAE,CAAC;QAKhB,uBAAkB,GAAG,EAAE,CAAC;QAExB,cAAS,GAAG,EAAE,CAAC;QACf,iBAAY,GAAG,EAAE,CAAC;QAElB,iBAAY,GAAG,MAAM,CAAC;QACtB,qBAAgB,GAAG,EAAE,CAAC;QAKtB,qBAAgB,GAAY,KAAK,CAAC;QAClC,eAAU,GAAG,EAAE,CAAC;QAChB,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAG,EAAE,CAAC;QAChB,kBAAa,GAAG,EAAE,CAAC;QACnB,sBAAiB,GAAY,IAAI,CAAC;QAGlC,0BAAqB,GAAG,EAAE,CAAC;QAE3B,gBAAW,GAAG,EAAE,CAAC;QAOjB,aAAQ,GAAG,EAAE,CAAC;QAEd,uBAAkB,GAAG;YACnB,OAAO,EAAE,EAAE;SACZ;QAKD,eAAU,GAAG;YACX,gBAAgB,EAAE,CAAC;YACnB,kBAAkB,EAAE,EAAE;YACtB,6BAA6B,EAAE,EAAE;YACjC,kBAAkB,EAAE,EAAE;YACtB,mBAAmB,EAAE,EAAE;YACvB,qBAAqB,EAAE,EAAE;YACzB,2BAA2B,EAAE,CAAC;YAC9B,oBAAoB,EAAE,CAAC;YACvB,qBAAqB,EAAE,CAAC;YACxB,WAAW,EAAE,IAAI;YACjB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,EAAE;YAChB,0BAA0B,EAAE,EAAE;YAC9B,yBAAyB,EAAE,EAAE;YAC7B,qBAAqB,EAAE,EAAE;YACzB,WAAW,EAAE,CAAC;YACd,sBAAsB,EAAE,CAAC;YACzB,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;YACb,iBAAiB;YACjB,iCAAiC;YACjC,mBAAmB;YACnB,UAAU,EAAE,EAAE;YACd,kCAAkC;YAClC,kDAAkD,EAAE,EAAE;YACtD,iDAAiD,EAAE,EAAE;YACrD,6CAA6C,EAAE,EAAE;YACjD,2CAA2C;YAC3C,mBAAmB,EAAE,aAAa;YAClC,WAAW,EAAE,EAAE;YACf,aAAa,EAAE,EAAE;YACjB,0BAA0B;YAC1B,cAAc,EAAE,EAAE;YAClB,gCAAgC,EAAE,EAAE;YACpC,YAAY,EAAE,EAAE;SACjB;QAED,aAAQ,GAAG;YACT;gBACE,kCAAkC,EAAE,CAAC;gBACrC,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,CAAC;gBACZ,aAAa,EAAE,GAAG;aACnB;SACF,CAAC;QAEF,cAAS,GAAG;YACV;gBACE,oBAAoB,EAAE,CAAC;gBACvB,gBAAgB,EAAE,WAAW;gBAC7B,iBAAiB,EAAE,mBAAmB;aACvC;SACF,CAAC;QACF,sBAAiB,GAAG,EAAE,CAAC;QACvB,yBAAoB,GAAU,EAAE,CAAC;QACjC,6BAAwB,GAAU,EAAE,CAAC;QAGrC,2BAAsB,GAAU,EAAE,CAAC;QACnC,oCAA+B,GAAU,EAAE,CAAC;QAC5C,wBAAmB,GAAG,CAAC,CAAC;QAExB,sBAAiB,GAAQ,EAAE,CAAC;IAG4G,CAAC;IAEzI,8CAAQ,GAAR;QAAA,iBAgCC;QA/BC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,QAAQ,IAAI,CAAC,YAAY,EAAE;YACzB,KAAK,CAAC;gBAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAAC,MAAM;YAC5C,KAAK,CAAC;gBAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAAC,MAAM;YAC5C,KAAK,CAAC;gBAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAAC,MAAM;YAC5C,KAAK,CAAC;gBAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAAC,MAAM;YAC5C;gBAAS,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAAC,MAAM;SAC9C;QACD,IAAI,CAAC,cAAc,GAAG;YACpB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE;YACxJ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACtJ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,0BAA0B,EAAE;SAC1J;QACD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC5E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;gBAC9B,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBAC1F,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,KAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,KAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,KAAI,CAAC,OAAO,EAAE,CAAC;gBACf,KAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,KAAI,CAAC,WAAW,EAAE,CAAC;aACpB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,qDAAe,GAAf,UAAgB,GAAG,EAAE,GAAG;QACtB,gBAAW,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAI,IAAI,QAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC;IAClE,CAAC;IAED,qDAAe,GAAf;QAAA,iBA2BC;QA1BC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAS;gBAC7F,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;oBACzB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,OAAO,GAAG,SAAS,CAAC;oBACzB,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;oBACvB,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1D,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;oBACnE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;oBACxD,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;oBAClD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;oBAClD,KAAI,CAAC,8BAA8B,GAAG,KAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;oBACrF,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;oBACjE,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,KAAI,CAAC,QAAQ,CAAC,6CAA6C,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,KAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAA1H,CAA0H,CAAC,CAAC;oBACpM,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,KAAK;wBAC9B,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;oBAClB,CAAC,CAAC;oBACF,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;oBAC/D,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;oBACtD,KAAI,CAAC,gBAAgB,EAAE,CAAC;iBACzB;qBAAM;oBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;iBACxC;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,2DAAqB,GAArB;QACE,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;IACrG,CAAC;IAED,4DAAsB,GAAtB;QACE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,oBAAoB,EAAvC,CAAuC,CAAC,CAAC;IACtH,CAAC;IAED,2DAAqB,GAArB;QACE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,mBAAmB,EAAtC,CAAsC,CAAC,CAAC;IACpH,CAAC;IAED,6CAAO,GAAP;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,KAAK,EAAxB,CAAwB,CAAC,CAAC;IACvF,CAAC;IAED,uDAAiB,GAAjB;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,QAAQ,EAA3B,CAA2B,CAAC,CAAC;IAC3F,CAAC;IAED,yDAAmB,GAAnB;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;IAChD,CAAC;IAED,2DAAqB,GAArB;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;IACnG,CAAC;IAED,0DAAoB,GAApB;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC;IACpD,CAAC;IAED,iDAAW,GAAX;QAAA,iBAaC;QAZC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACpE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACzC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC,SAAS,EAArC,CAAqC,CAAC,CAAC;gBAC9F,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC1E,KAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+DAAyB,GAAzB,UAA0B,GAAG;;QAC3B,IAAI,gBAAgB,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,EAAzB,CAAyB,CAAC;QAC/F,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,cAAI;YAC/D,gBAAgB,CAAC,IAAI,CAAC;gBACpB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,OAAO,EAAE,GAAG,CAAC,KAAK;gBAClB,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;aACzC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,UAAI,CAAC,oBAAoB,EAAC,IAAI,oBAAI,gBAAgB,GAAE;IACtD,CAAC;IAED,qDAAe,GAAf,UAAgB,KAAK,EAAE,KAAK;QAA5B,iBAUC;QATC,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;SACtE;aAAM;YACL,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,WAAC;oBACnB,KAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBACzD,CAAC,CAAC;aACH;SACF;IACH,CAAC;IAED,sDAAgB,GAAhB;;QAAA,iBAiBC;QAhBC,IAAI,IAAI,GAAU,EAAE,CAAC;QACrB,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAC;YAClB,IAAI,KAAK,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,EAAlB,CAAkB,CAAC,CAAC;YAC5D,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;aACpB;QACH,CAAC,CAAC,CAAC;;YACH,KAAiB,wCAAW,0GAAE;gBAAzB,IAAI,IAAI;gBACX,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;aAChD;;;;;;;;;gCACQ,IAAI;YACX,IAAI,QAAQ,GAAG,OAAK,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,EAAvB,CAAuB,CAAC;YAC7E,IAAI,CAAC,IAAI,OAAT,IAAI,WAAS,QAAQ,GAAE;;;;YAFzB,KAAiB,sBAAI,CAAC,YAAY;gBAA7B,IAAI,IAAI;wBAAJ,IAAI;aAGZ;;;;;;;;;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,sDAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAgBC;QAfC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YACpC,IAAI,kBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;YACzE,IAAI,sBAAoB,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;gBAC3B,IAAI,gBAAgB,GAAG,EAAE,CAAC;gBAC1B,IAAI,wBAAwB,GAAG,EAAE,CAAC;gBAClC,gBAAgB,GAAG,KAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,GAAG,KAAK,GAAG,CAAC,iBAAiB,EAAhC,CAAgC,CAAC,CAAC;gBAC9F,YAAY,CAAC,IAAI,OAAjB,YAAY,WAAS,gBAAgB,GAAE;gBACvC,wBAAwB,GAAG,kBAAgB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,GAAG,KAAK,GAAG,CAAC,iBAAiB,EAAhC,CAAgC,CAAC,CAAC;gBAC3F,sBAAoB,CAAC,IAAI,OAAzB,sBAAoB,WAAS,wBAAwB,GAAE;YACzD,CAAC,CAAC;YACF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,eAAe,CAAC,UAAU,EAAhD,CAAgD,CAAC,CAAC,CAAC,CAAC;YACzH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAoB,CAAC,CAAC,CAAC;SAC1E;IACH,CAAC;IAED,2DAAqB,GAArB;;QACE,IAAI,YAAY,GAAG,EAAE,CAAC;gCACb,IAAI;YACX,IAAI,KAAK,GAAG,OAAK,kBAAkB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAArB,CAAqB,CAAC,CAAC;YACrE,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,IAAI,IAAI,EAAE;gBACvC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC1B;;;;YAJH,KAAiB,sBAAI,CAAC,YAAY;gBAA7B,IAAI,IAAI;wBAAJ,IAAI;aAKZ;;;;;;;;;;YACD,KAAiB,0CAAY,+GAAE;gBAA1B,IAAI,IAAI;gBACX,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;gBACzD,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;aACnE;;;;;;;;;IACH,CAAC;IAED,kEAA4B,GAA5B,UAA6B,QAAQ;QAArC,iBA2BC;QA1BC,IAAI,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,QAAQ,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,QAAQ,EAA3B,CAA2B,CAAC,CAAC;QACrL,IAAI,CAAC,oBAAoB,EAAE;YACzB,IAAI,EAAE,GAAG;gBACP,cAAc,EAAE,CAAC;gBACjB,QAAQ,EAAE,EAAE;gBACZ,aAAa,EAAE,EAAE;gBACjB,SAAS,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACvD,WAAW,EAAE,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAC1D,CAAC;YACF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,QAAQ,EAAzB,CAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,QAAQ,EAA3B,CAA2B,CAAC,CAAC;SACtL;QACD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,WAAC;YAC5B,IAAI,gBAAgB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,KAAK,CAAC,CAAC,cAAc,EAAhC,CAAgC,CAAC,CAAC;YAC5F,IAAI,gBAAgB,EAAE;gBACpB,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;SAC5E;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;YACpD,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;SACzE;IACH,CAAC;IAED,8DAAwB,GAAxB,UAAyB,MAAM,EAAE,KAAK,EAAE,KAAK;QAC3C,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC;QAC1D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1D,CAAC;IACD,gDAAU,GAAV;QACE,IAAI,OAAO,GAAG;YACZ,KAAK,EAAE,IAAI,CAAC,GAAG,OAAR,IAAI,WAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,GAAE,CAAC,MAAI,CAAC;YAC3D,gBAAgB;YAChB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,KAAK,EAAE,EAAE;YACT,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;SACd,CAAC;QACF,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAI,IAAI,WAAI,CAAC,OAAO,EAAZ,CAAY,CAAC,CAAC;QAC7D,IAAI,YAAY,EAAE;YAChB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,kCAAkC,EAAE,UAAU,CAAC,CAAC;YACpE,OAAO;SACR;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,gDAAU,GAAV,UAAW,IAAI;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAtB,CAAsB,CAAC,CAAC;IACtE,CAAC;IAED,oDAAc,GAAd,UAAe,OAAO;QACpB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACpD,IAAI,OAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAI,IAAI,WAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAA5B,CAA4B,CAAC,CAAC;YACzE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAI;gBACzB,IAAI,IAAI,CAAC,KAAK,KAAK,OAAK,CAAC,KAAK,EAAE;oBAC9B,IAAI,CAAC,UAAU,GAAG,OAAK,CAAC,UAAU,CAAC;oBACnC,IAAI,CAAC,SAAS,GAAG,OAAK,CAAC,SAAS,CAAC;oBACjC,IAAI,CAAC,KAAK,GAAG,OAAK,CAAC,KAAK,CAAC;oBACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;oBAClB,IAAI,CAAC,OAAO,GAAG,OAAK,CAAC,OAAO,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAA5B,CAA4B,CAAC,CAAC;SAC9E;IACH,CAAC;IAED,mDAAa,GAAb;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,oDAAc,GAAd;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,+CAAS,GAAT;QAAA,iBAmBC;QAlBC,IAAI,SAAS,GAAG;YACd,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC9B,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAK,IAAI,CAAC,QAAQ,SAAI,IAAI,CAAC,UAAU,SAAI,IAAI,CAAC,UAAY;YACxE,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC;QACF,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,UAAU,IAAI,KAAI,CAAC,UAAU,EAAhC,CAAgC,CAAC,CAAC;QAC/E,IAAI,CAAC,WAAW,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;SACzB;QACD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,kDAAY,GAAZ;QACE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,kDAAY,GAAZ;QAAA,iBAMC;QALC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAE;YAC1B,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAf,CAAe,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,wDAAkB,GAAlB;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,kDAAY,GAAZ,UAAa,OAAO;QAClB,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAI,IAAI,WAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAA5B,CAA4B,CAAC,CAAC;QACzE,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAoB,OAAO,CAAC,KAAK,oBAAiB,EAAE,QAAQ,CAAC,CAAC;YAChF,OAAO;SACR;QACD,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC;IAElD,CAAC;IAED,6DAAuB,GAAvB,UAAwB,KAAK;QAA7B,iBAUC;QATC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACxD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,OAAO,CAAC,CAAC;aACV;iBACI;gBACH,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACpC,OAAO,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAChC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,qDAAe,GAAf,UAAgB,KAAK,EAAE,OAAO,EAAE,KAAK;QAArC,iBA+BC;QA9BC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACxD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,KAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,KAAI,CAAC,YAAY,EAAE;oBAC/E,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBACpD;qBAAM;oBACL,KAAI,CAAC,mBAAmB,GAAG,CAAC,CAAC;iBAC9B;gBAED,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,IAAI;oBAC1B,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,EAAE;wBAChC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;wBACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;wBACnC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;wBAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;wBAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;wBACrB,IAAI,CAAC,OAAO,GAAG,KAAI,CAAC,mBAAmB,CAAC;wBACxC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC3D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;qBACpB;gBACH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC;aAEhC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAe,GAAf;QACE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,IAAI,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxJ,IAAI,IAAI,CAAC,0BAA0B,EAAE,EAAE;YACrC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACpE,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACpE,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChJ,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;YACxE,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;YACnF,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACnD,IAAI,CAAC,UAAU,CAAC,8BAA8B,GAAG,IAAI,CAAC,oCAAoC,EAAE,CAAC;YAC7F,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;gBACtG,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC;iBACI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;gBACvC,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;YACD,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,yBAAyB,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtE,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;gBAC3B,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;aACzE;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;IACH,CAAC;IAED,4DAAsB,GAAtB;QAAA,iBAYC;QAXC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACrE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACtC,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,uEAAiC,GAAjC,UAAkC,OAAO;QAAzC,iBAYC;QAXC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAC,QAAa;YAC/E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACtC,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC;aAC1E;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IACD,6DAAuB,GAAvB;QACE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACtD,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACjC,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC1D;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;SACxD;QACD,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,IAAI,SAAS,IAAI,IAAI,CAAC,gCAAgC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpN,IAAI,CAAC,UAAU,CAAC,gDAAgD,GAAG,EAAE,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,+CAA+C,GAAG,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,CAAC,2CAA2C,GAAG,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;QAChH,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;YACpD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAC/D;IACH,CAAC;IAED,6DAAuB,GAAvB;QAAA,iBAyBC;QAxBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAE;YAClC,IAAI,eAAe,GAAG;gBACpB,8BAA8B,EAAE,CAAC;gBACjC,kBAAkB,EAAE,EAAE,CAAC,OAAO;gBAC9B,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,EAAE,CAAC,OAAO;gBACrB,cAAc,EAAE,EAAE,CAAC,YAAY;gBAC/B,OAAO,EAAE,EAAE,CAAC,KAAK;gBACjB,QAAQ,EAAE,EAAE,CAAC,iBAAiB;aAC/B,CAAC;YACF,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;gBAC3B,IAAI,aAAa,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAE,IAAI,QAAC,EAAE,CAAC,gBAAgB,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAxE,CAAwE,CAAC,CAAC;gBAChI,IAAI,aAAa,EAAE;oBACjB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;iBAC9D;qBAAM;oBACL,eAAe,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;oBAChF,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;iBAChE;aACF;iBAAM;gBACL,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aAChE;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,2DAAqB,GAArB;QACE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,GAAG,CAAC,IAAI,CAAC,0BAA0B,IAAI,SAAS,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5L,IAAI,CAAC,UAAU,CAAC,gDAAgD,GAAG,EAAE,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,+CAA+C,GAAG,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,CAAC,2CAA2C,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;IAC5G,CAAC;IAED,sDAAgB,GAAhB;QAAA,iBA6BC;QA5BC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC5E,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YAClE,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;SAC/E;QACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,KAAI,CAAC,eAAe,CAAC,cAAc,CAAC,EAA3D,CAA2D,CAAC,CAAC;QACvH,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,IAAI,KAAI,CAAC,WAAW,EAAlC,CAAkC,CAAC,CAAC;QACpF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,KAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,EAAtE,CAAsE,CAAC,CAAC;QACzI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;QACrF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,EAAE;YACxG,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,kDAAkD,CAAC,CAAC;YACvH,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,iDAAiD,CAAC,CAAC;YACtH,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe,CAAC,6CAA6C,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,6CAA6C,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClM,IAAI,CAAC,qCAAqC,EAAE,CAAC;SAC9C;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YACvG,IAAI,CAAC,qCAAqC,EAAE,CAAC;SAC9C;IACH,CAAC;IAED,2DAAqB,GAArB;QAAA,iBAgBC;QAfC,IAAI,CAAC,oCAAoC,EAAE,CAAC;QAC5C,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACvC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACjC,IAAI,CAAC,6BAA6B,EAAE,CAAC;SACtC;QACD,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,kDAAkD,CAAC,CAAC;QAC7H,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,iDAAiD,CAAC,CAAC;QAC5H,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YACpE,IAAI,EAAE,GAAU,IAAI,CAAC,8BAA8B,CAAC;YACpD,EAAE,CAAC,OAAO,CAAC,cAAI;gBACb,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrH,KAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxI,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC,eAAe,CAAC,6CAA6C,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,6CAA6C,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1M,CAAC;IAED,0DAAoB,GAApB;QAAA,iBASC;QARC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,aAAG;YACrB,IAAI,MAAM,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,GAAG,CAAC,kBAAkB,EAA7C,CAA6C,CAAC,CAAC;YACjF,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,+DAAyB,GAAzB;QAAA,iBAUC;QATC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAI;YAC3B,IAAI,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAjC,CAAiC,CAAC,CAAC;YAChF,IAAI,WAAW,EAAE;gBACf,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,0EAAoC,GAApC;QAAA,iBASC;QARC,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,cAAI;YAC3B,IAAI,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,EAA/B,CAA+B,CAAC,CAAC;YACzE,IAAI,OAAO,EAAE;gBACX,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,2EAAqC,GAArC;QAAA,iBASC;QARC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAE;YACzB,IAAI,aAAa,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAxB,CAAwB,CAAC,CAAC;YAC9E,IAAI,aAAa,EAAE;gBACjB,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,2EAAqC,GAArC;QAAA,iBA0BC;QAzBC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAE;YAC9B,IAAI,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,EAAE,CAAC,gBAAgB,EAAhC,CAAgC,CAAC,CAAC;YACvF,IAAI,eAAe,EAAE;gBACnB,IAAI,GAAG,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,EAAE,CAAC,MAAM,EAAhC,CAAgC,CAAC,CAAC;gBACjE,eAAe,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,KAAK;gBACtC,eAAe,CAAC,mBAAmB,CAAC,GAAG,GAAG,CAAC,iBAAiB;gBAC5D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aACjE;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,WAAC;YACjC,IAAI,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE;gBACvD,IAAI,UAAQ,GAAG,EAAE,CAAC;gBAClB,IAAI,YAAY,GAAG,EAAE,CAAC;gBACtB,YAAY,GAAG,KAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,CAAC,CAAC,iBAAiB,EAA3C,CAA2C,CAAC,CAAC;gBAClG,YAAY,CAAC,OAAO,CAAC,cAAI;oBACvB,IAAI,SAAS,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,YAAY,KAAK,IAAI,CAAC,YAAY,EAArC,CAAqC,CAAC,CAAC;oBACvF,IAAI,SAAS,EAAE;wBACb,UAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAC1B;gBACH,CAAC,CAAC;gBACF,KAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAQ,CAAC,CAAC,CAAC;aAC3F;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0EAAoC,GAApC;;QACE,IAAI,MAAM,GAAU,EAAE,CAAC;;YACvB,KAAgB,sBAAI,CAAC,kBAAkB,6CAAE;gBAApC,IAAI,GAAG;gBACV,IAAI,GAAG,GAAG;oBACR,8BAA8B,EAAE,CAAC;oBACjC,UAAU,EAAE,GAAG,CAAC,iBAAiB;oBACjC,iBAAiB,EAAE,IAAI;oBACvB,qBAAqB,EAAE,IAAI;iBAC5B;gBACD,GAAG,CAAC,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/I,GAAG,CAAC,qBAAqB,GAAG,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,GAAG,CAAC,iBAAiB,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtK,IAAI,GAAG,CAAC,iBAAiB,IAAI,EAAE,IAAI,GAAG,CAAC,qBAAqB,IAAI,EAAE,EAAE;oBAClE,SAAS;iBACV;gBACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aAC9C;;;;;;;;;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qEAA+B,GAA/B;QAAA,iBAqCC;QApCC,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC;YACxB,IAAI,WAAW,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,WAAW,EAApC,CAAoC,CAAC,CAAC;YACpF,IAAI,WAAW,EAAE;gBACf,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,UAAC,IAAI;YACnC,KAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YAClE,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;QAE3D,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACjC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,EAAE,EAAE,MAAM;gBACnC,IAAI,oBAAoB,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,EAAjC,CAAiC,CAAC,CAAC;gBAC9F,IAAI,CAAC,oBAAoB,EAAE;oBACzB,IAAI,EAAE,GAAG;wBACP,cAAc,EAAE,EAAE,CAAC,OAAO;wBAC1B,QAAQ,EAAE,EAAE,CAAC,YAAY;wBACzB,aAAa,EAAE,EAAE,CAAC,KAAK;wBACvB,WAAW,EAAE,EAAE,CAAC,WAAW;qBAC5B,CAAC;oBACF,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,eAAe,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,EAA1B,CAA0B,CAAC,CAAC;oBACrF,IAAI,eAAe,EAAE;wBACnB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;qBAC9C;iBACF;qBAAM;oBACL,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,EAAE,CAAC,WAAW,EAAjC,CAAiC,CAAC,CAAC;iBAC7F;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACzF;IACH,CAAC;IAED,mEAA6B,GAA7B;QAAA,iBAgCC;QA/BC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC;YACxB,IAAI,SAAS,GAAG,KAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,qBAAqB,EAA9C,CAA8C,CAAC,CAAC;YACpG,IAAI,SAAS,EAAE;gBACb,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC5B;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,EAAE,EAAE,MAAM;YACnC,IAAI,EAAE,CAAC,qBAAqB,GAAG,CAAC,EAAE;gBAChC,IAAI,oBAAoB,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,EAAE,CAAC,qBAAqB,EAAzC,CAAyC,CAAC,CAAC;gBACtG,IAAI,CAAC,oBAAoB,EAAE;oBACzB,IAAI,EAAE,GAAG;wBACP,cAAc,EAAE,EAAE,CAAC,OAAO;wBAC1B,QAAQ,EAAE,EAAE,CAAC,YAAY;wBACzB,aAAa,EAAE,EAAE,CAAC,KAAK;wBACvB,SAAS,EAAE,EAAE,CAAC,qBAAqB;qBACpC,CAAC;oBACF,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC9B,IAAI,eAAe,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,KAAK,EAAE,CAAC,OAAO,EAA1B,CAA0B,CAAC,CAAC;oBACrF,IAAI,eAAe,EAAE;wBACnB,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;qBAC9C;iBACF;qBAAM;oBACL,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,EAAE,CAAC,qBAAqB,EAAzC,CAAyC,CAAC,CAAC;iBACrG;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,yDAAmB,GAAnB;QAAA,iBAQC;QAPC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,YAAE;YACxB,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC;YACvN,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,wBAAwB,CAAC;YAC5C,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC,wBAAwB,CAAC;YAC9C,KAAI,CAAC,aAAa,GAAG,EAAE,CAAC,2BAA2B,CAAC;YACpD,KAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC;IACJ,CAAC;IAED,qDAAe,GAAf;QAAA,iBAMC;QALC,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAA9D,CAA8D,CAAC,CAAC;QAChH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,eAAe,CAAC,UAAU,EAAhD,CAAgD,CAAC,CAAC;QAC5G,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,sDAAgB,GAAhB;QACE,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAE;YAC7B,IAAI,EAAE,CAAC,QAAQ,KAAK,EAAE,IAAI,EAAE,CAAC,aAAa,KAAK,EAAE,EAAE;gBACjD,IAAI,WAAW,GAAG;oBAChB,oBAAoB,EAAE,CAAC;oBACvB,gBAAgB,EAAE,EAAE,CAAC,QAAQ;oBAC7B,iBAAiB,EAAE,EAAE,CAAC,aAAa;oBACnC,gBAAgB,EAAE,CAAC;oBACnB,aAAa,EAAE,EAAE,CAAC,WAAW;iBAC9B,CAAC;gBACF,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAC7B;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,yDAAmB,GAAnB;QAAA,iBAqBC;QApBC,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,cAAI;YAC5B,IAAI,KAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAC3B,IAAI,OAAO,GAAG;oBACZ,qBAAqB,EAAE,KAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC/D,YAAY,EAAE,IAAI,CAAC,UAAU;oBAC7B,WAAW,EAAE,IAAI,CAAC,SAAS;oBAC3B,OAAO,EAAE,IAAI,CAAC,KAAK;oBACnB,OAAO,EAAE,CAAC;oBACV,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACtD,UAAU,EAAE,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;oBAC3C,OAAO,EAAE,IAAI,CAAC,KAAK;iBACpB,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACrB;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAc,GAAd,UAAe,KAAK;QAClB,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,KAAK,KAAK,EAAb,CAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACpG,IAAI,UAAU,EAAE;YACd,OAAO,IAAI,CAAC;SACb;QACD,IAAI,WAAW,GAAG,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,eAAK,IAAI,YAAK,KAAK,KAAK,EAAf,CAAe,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACvI,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,IAAI,WAAW,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,cAAI,IAAI,WAAI,KAAK,KAAK,EAAd,CAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzH,IAAI,WAAW,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,oDAAc,GAAd;QAAA,iBAqBC;QApBC,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAG;YAC3B,IAAI,MAAM,GAAG;gBACX,4BAA4B,EAAE,CAAC;gBAC/B,oBAAoB,EAAE,GAAG,CAAC,iBAAiB;gBAC3C,gBAAgB,EAAE,CAAC;aACpB;YACD,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;gBAC3B,IAAI,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,kBAAkB,IAAI,GAAG,CAAC,iBAAiB,EAA7C,CAA6C,CAAC,CAAC;gBACjF,IAAI,IAAI,EAAE;oBACR,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpB;qBAAM;oBACL,MAAM,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBAC/D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACtB;aACF;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,wDAAkB,GAAlB;QAAA,iBAuBC;QAtBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAI;gBACjC,IAAI,WAAW,GAAG;oBAChB,gCAAgC,EAAE,CAAC;oBACnC,wBAAwB,EAAE,IAAI,CAAC,WAAW;oBAC1C,gBAAgB,EAAE,CAAC;iBACpB;gBACD,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;oBAC3B,IAAI,IAAI,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,sBAAsB,IAAI,IAAI,CAAC,WAAW,EAA5C,CAA4C,CAAC,CAAC;oBACrF,IAAI,IAAI,EAAE;wBACR,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzB;yBAAM;wBACL,WAAW,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;wBACpE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;qBAChC;iBACF;qBAAM;oBACL,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAChC;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,yDAAmB,GAAnB;QAAA,iBAwBC;QAvBC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,OAAO,WAAW,CAAC;SACpB;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,iBAAO;YACnC,IAAI,OAAO,GAAG;gBACZ,uCAAuC,EAAE,CAAC;gBAC1C,YAAY,EAAE,OAAO,CAAC,UAAU;gBAChC,wBAAwB,EAAE,CAAC;aAC5B,CAAC;YACF,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;gBAC3B,IAAI,QAAQ,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,EAAlC,CAAkC,CAAC,CAAC;gBAC/E,IAAI,QAAQ,EAAE;oBACZ,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC5B;qBAAM;oBACL,OAAO,CAAC,sBAAsB,GAAG,KAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;oBAChF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC3B;aACF;iBAAM;gBACL,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,6DAAuB,GAAvB;QAAA,iBAaC;QAZC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,OAAO,GAAG,KAAK,CAAC;SACjB;QACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAE;YAC7B,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,EAAE;gBAC7C,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;gBACxD,OAAO,GAAG,KAAK,CAAC;aACjB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,2DAAqB,GAArB;QAAA,iBAuBC;QAtBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAE;YAChC,IAAI,WAAW,GAAG;gBAChB,kCAAkC,EAAE,CAAC;gBACrC,gBAAgB,EAAE,CAAC;gBACnB,aAAa,EAAE,EAAE,CAAC,iBAAiB;gBACnC,WAAW,EAAE,CAAC;gBACd,SAAS,EAAE,CAAC;aACb;YACD,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;gBAC3B,IAAI,SAAS,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,EAAE,CAAC,iBAAiB,EAArC,CAAqC,CAAC,CAAC;gBACnF,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC9B;qBAAM;oBACL,WAAW,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBACpE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,2DAAqB,GAArB;QAAA,iBAsBC;QArBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAE;YAC7B,IAAI,WAAW,GAAG;gBAChB,kCAAkC,EAAE,CAAC;gBACrC,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,EAAE,CAAC,cAAc;gBAC5B,WAAW,EAAE,EAAE,CAAC,SAAS;aAC1B,CAAC;YACF,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;gBAC3B,IAAI,SAAS,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,EAA7D,CAA6D,CAAC,CAAC;gBAC3G,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC9B;qBAAM;oBACL,WAAW,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBACpE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,yDAAmB,GAAnB;QAAA,iBAuBC;QAtBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAE;YAC7B,IAAI,WAAW,GAAG;gBAChB,kCAAkC,EAAE,CAAC;gBACrC,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,EAAE,CAAC,cAAc;gBAC5B,aAAa,EAAE,EAAE,CAAC,WAAW;gBAC7B,WAAW,EAAE,EAAE,CAAC,SAAS;aAC1B,CAAC;YACF,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;gBAC3B,IAAI,SAAS,GAAG,KAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,SAAS,EAA7D,CAA6D,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC,WAAW,EAAjE,CAAiE,CAAC,CAAC;gBAC5O,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC9B;qBAAM;oBACL,WAAW,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBACpE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,2DAAqB,GAArB;QAAA,iBAsBC;QArBC,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;YAC9B,IAAI,WAAW,GAAG;gBAChB,kCAAkC,EAAE,CAAC;gBACrC,gBAAgB,EAAE,CAAC;gBACnB,SAAS,EAAE,EAAE,CAAC,OAAO;gBACrB,aAAa,EAAE,CAAC;aACjB,CAAC;YACF,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;gBAC3B,IAAI,SAAS,GAAG,KAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAvB,CAAuB,CAAC,CAAC;gBACrE,IAAI,SAAS,EAAE;oBACb,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC9B;qBAAM;oBACL,WAAW,CAAC,cAAc,GAAG,KAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC;oBACpE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,uDAAiB,GAAjB;QACE,IAAI,SAAS,GAAG;YACd,wBAAwB,EAAE,CAAC;YAC3B,0BAA0B,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACnD,gBAAgB,EAAE,CAAC;YACnB,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/C;QACD,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;YAC3B,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;SACnF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uDAAiB,GAAjB;QAAA,iBA0BC;QAzBC,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,cAAI;gBACtB,IAAI,SAAS,GAAG;oBACd,wBAAwB,EAAE,CAAC;oBAC3B,0BAA0B,EAAE,IAAI,CAAC,QAAQ;oBACzC,0BAA0B,EAAE,IAAI,CAAC,UAAU;oBAC3C,+BAA+B,EAAE,IAAI,CAAC,cAAc;oBACpD,6BAA6B,EAAE,IAAI,CAAC,aAAa;oBACjD,gBAAgB,EAAE,CAAC;iBACpB;gBACD,IAAI,KAAI,CAAC,QAAQ,IAAI,MAAM,EAAE;oBAC3B,IAAI,OAAO,GAAG,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,6BAA6B,IAAI,IAAI,CAAC,cAAc,EAAvD,CAAuD,CAAC,CAAC;oBAClG,IAAI,OAAO,EAAE;wBACX,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC1B;yBAAM;wBACL,SAAS,CAAC,wBAAwB,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;wBACrF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;qBAC5B;iBACF;qBAAM;oBACL,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;iBAC5B;YACH,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,wDAAkB,GAAlB;QACE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,YAAY,GAAG;gBACjB,wBAAwB,EAAE,GAAG,CAAC,kBAAkB;gBAChD,oBAAoB,EAAE,GAAG,CAAC,cAAc;gBACxC,qBAAqB,EAAE,GAAG,CAAC,mBAAmB;gBAC9C,gBAAgB,EAAE,CAAC;gBACnB,aAAa,EAAE,CAAC;aACjB;YACD,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4CAAM,GAAN;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,gEAA0B,GAA1B;QACE,IAAI,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC5D,IAAI,4BAA4B,GAAG,IAAI,CAAC,iCAAiC,EAAE;QAC3E,IAAI,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC5D,IAAI,qBAAqB,GAAG,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YAClE,qBAAqB,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;SAC3D;QACD,IAAI,uBAAuB,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClE,IAAI,uBAAuB,GAAG,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAClE,IAAI,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC1D,IAAI,sBAAsB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;QAChE,IAAI,yBAAyB,GAAG,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACtE,IAAI,wBAAwB,GAAG,IAAI,CAAC;QACpC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACjC,wBAAwB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;SACjE;QACD,IAAI,sBAAsB,GAAG,IAAI,CAAC;QAClC,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YACjC,sBAAsB,GAAG,IAAI,CAAC,2BAA2B,EAAE,CAAC;SAC7D;QACD,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,mBAAmB,GAAG,IAAI,CAAC;QAC/B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE;YAClE,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;SACtD;QACD,OAAO,oBAAoB,IAAI,4BAA4B,IAAI,oBAAoB,IAAI,uBAAuB,IAAI,uBAAuB,IAAI,mBAAmB;eAC3J,sBAAsB,IAAI,yBAAyB,IAAI,wBAAwB,IAAI,WAAW,IAAI,qBAAqB,IAAI,sBAAsB,IAAI,mBAAmB,CAAC;IAChL,CAAC;IAED,+DAAyB,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IACD,uEAAiC,GAAjC;QACE,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC;YAC3D,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,+DAAyB,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IACD,gEAA0B,GAA1B;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IACD,kEAA4B,GAA5B;QACE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,kEAA4B,GAA5B;QACE,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,EAAE;YACrC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC;YAC7D,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,8DAAwB,GAAxB;QACE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,iEAA2B,GAA3B;QACE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE;YACjC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,oEAA8B,GAA9B;QACE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,yEAAmC,GAAnC;QACE,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YACnE,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,mEAA6B,GAA7B;QACE,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACzE,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,iEAA2B,GAA3B;QACE,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,IAAI,IAAI,CAAC,0BAA0B,CAAC,MAAM,GAAG,CAAC,EAAE;YACzF,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,iDAAW,GAAX;QACE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,EAAE;YAC7H,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,0DAAoB,GAApB,UAAqB,KAAK,EAAE,IAAI;QAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,0DAAoB,GAApB,UAAqB,YAAY,EAAE,IAAI;QACrC,IAAI,YAAY,IAAI,EAAE,EAAE;YACtB,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,GAAG,GAAG,6CAA6C,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACnC,QAAQ,IAAI,EAAE;oBACZ,KAAK,CAAC;wBAAE,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAC5C,KAAK,CAAC;wBAAE,IAAI,CAAC,gCAAgC,CAAC,GAAG,EAAE,CAAC;wBAAC,MAAM;oBAC3D,KAAK,CAAC;wBAAE,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC;wBAAC,MAAM;oBACrD,OAAO,CAAC,CAAC,MAAM;iBAChB;aACF;SACF;IACH,CAAC;;gBAnpC6B,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;gBAAkB,sDAAM;;IA5H3H;QAAR,2DAAK,EAAE;;wEAAsB;IACrB;QAAR,2DAAK,EAAE;;iEAAe;IACd;QAAR,2DAAK,EAAE;;qEAAmB;IACjB;QAAT,4DAAM,EAAE;;mEAAiC;IAJ/B,2BAA2B;QAPvC,+DAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,oPAAmD;YAEnD,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCA+H8B,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa,EAAkB,sDAAM;OA7HzH,2BAA2B,CAkxCvC;IAAD,kCAAC;CAAA;AAlxCuC;;;;;;;;;;;;;ACtBxC;AAAe,6EAAc,wBAAwB,wBAAwB,8BAA8B,KAAK,gBAAgB,wBAAwB,yBAAyB,8BAA8B,KAAK,mBAAmB,wBAAwB,yBAAyB,KAAK,iBAAiB,qBAAqB,gCAAgC,kCAAkC,oBAAoB,sCAAsC,KAAK,0CAA0C,oDAAoD,KAAK,4CAA4C,0BAA0B,0BAA0B,sBAAsB,2BAA2B,KAAK,+CAA+C,+lD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1oB;AACzD;AACO;AACQ;AAQxD;IAeE,kCAAoB,MAAc,EAAU,QAAqB,EAAU,OAA0B;QAAjF,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAZ3F,eAAU,GAAG,IAAI,0DAAY,EAAE,CAAC;IAazC,CAAC;IAEF,2CAAQ,GAAR;QACE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,OAAO,EAAV,CAAU,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,wDAAqB,GAArB;QAAA,iBA2CC;QA1CC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACvF,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;gBACnE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;gBACxD,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAClD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;gBAC5D,IAAI,KAAI,CAAC,YAAY,IAAI,IAAI,EAAE;oBAC7B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,qBAAqB,GAAG,CAAC,EAA3B,CAA2B,CAAC,CAAC;iBAChG;qBAAM;oBACL,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;iBACvD;gBACD,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,WAAC,IAAE,QAAC,CAAC,WAAW,GAAG,CAAC,EAAjB,CAAiB,CAAC,CAAC;gBACjF,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;gBACjE,KAAI,CAAC,8BAA8B,GAAG,KAAI,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;gBAErF,KAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAC;oBAC9B,IAAI,GAAG,CAAC;oBACR,KAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,IAAO,IAAI,CAAC,CAAC,kBAAkB,KAAK,CAAC,CAAC,MAAM,EAAE;wBAAE,GAAG,GAAG,CAAC;qBAAC,CAAC,CAAC,CAAC,CAAC;oBACnF,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,oBAAoB,CAAC;gBACvC,CAAC,CAAC,CAAC;gBAEH,IAAI,KAAI,CAAC,YAAY,IAAI,IAAI,EAAE;oBAC7B,KAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,WAAC;wBAC3C,IAAI,QAAQ,CAAC;wBACb,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAC,IAAM,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,UAAU,EAAE;4BAAE,QAAQ,GAAG,CAAC;yBAAE,CAAC,CAAC,CAAC,CAAC;wBACvF,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC;oBAC1C,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,WAAC;wBAC3C,IAAI,QAAQ,CAAC;wBACb,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,WAAC,IAAM,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,UAAU,EAAE;4BAAE,QAAQ,GAAG,CAAC;yBAAE,CAAC,CAAC,CAAC,CAAC;wBACzF,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC;oBAC1C,CAAC,CAAC,CAAC;iBACJ;aAEF;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,yCAAM,GAAN;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;;gBAzD2B,sDAAM;gBAAoB,qEAAW;gBAAmB,6DAAiB;;IAd5F;QAAR,2DAAK,EAAE;;+DAAgB;IACf;QAAR,2DAAK,EAAE;;gEAAiB;IACf;QAAT,4DAAM,EAAE;;gEAAiC;IAH/B,wBAAwB;QANpC,+DAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,2OAAgD;YAEhD,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAgB4B,sDAAM,EAAoB,qEAAW,EAAmB,6DAAiB;OAf1F,wBAAwB,CAyEpC;IAAD,+BAAC;CAAA;AAzEoC;;;;;;;;;;;;;ACXrC;AAAe,yFAA0B,gCAAgC,yBAAyB,mBAAmB,yBAAyB,8BAA8B,KAAK,kKAAkK,+BAA+B,KAAK,iCAAiC,8BAA8B,2CAA2C,oCAAoC,8BAA8B,8BAA8B,KAAK,0EAA0E,+BAA+B,mCAAmC,OAAO,+BAA+B,+JAA+J,KAAK,mCAAmC,gCAAgC,mBAAmB,sBAAsB,oBAAoB,6BAA6B,mCAAmC,kCAAkC,oBAAoB,KAAK,+BAA+B,gBAAgB,uBAAuB,qBAAqB,wBAAwB,yBAAyB,+IAA+I,KAAK,iCAAiC,sBAAsB,mBAAmB,wBAAwB,sBAAsB,qBAAqB,KAAK,gCAAgC,uBAAuB,sBAAsB,uBAAuB,+IAA+I,KAAK,mBAAmB,yCAAyC,sBAAsB,aAAa,cAAc,kBAAkB,oBAAoB,oBAAoB,KAAK,kBAAkB,2BAA2B,kBAAkB,oBAAoB,KAAK,wBAAwB,uBAAuB,KAAK,yBAAyB,mBAAmB,mBAAmB,KAAK,uBAAuB,8BAA8B,wBAAwB,KAAK,yBAAyB,kBAAkB,KAAK,qBAAqB,qBAAqB,KAAK,6BAA6B,sBAAsB,kJAAkJ,kDAAkD,uBAAuB,sBAAsB,uBAAuB,KAAK,wBAAwB,mBAAmB,gCAAgC,uBAAuB,yBAAyB,mBAAmB,KAAK,mDAAmD,2xK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAl0F;AAEF;AACL;AACa;AAMxD;IAYE,uCAAoB,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAxF,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAX5G,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QAGd,eAAU,GAAG,KAAK,CAAC;QACnB,kBAAa,GAAU,EAAE,CAAC;QAC1B,kBAAa,GAAG,KAAK,CAAC;QACtB,SAAI,GAAG,EAAE,CAAC;QAEV,eAAU,GAAG,EAAE,CAAC;IAC+F,CAAC;IAChH,gDAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;SACF,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAChC,CAAC;IAED,8DAAsB,GAAtB;QAAA,iBAWC;QAVC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAC,aAAG;YAClD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;aAC5C;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,oDAAY,GAAZ;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,kDAAU,GAAV,UAAW,KAAK;QAAhB,iBAkCC;QAjCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,YAAU,GAAG,IAAI,UAAU,EAAE,CAAC;YAClC,YAAU,CAAC,MAAM,GAAG,UAAC,EAAE;gBACrB,KAAI,CAAC,UAAU,GAAG,YAAU,CAAC,MAAM,CAAC;gBACpC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAQ,KAAI,CAAC,QAAQ,aAAU,EAAE,EAAE,CAAC,CAAC;gBAC/E,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,UAAU,GAAG;oBAChB,gBAAgB,EAAE,CAAC;oBACnB,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,cAAc,EAAE,KAAI,CAAC,UAAU;oBAC/B,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACtD,yBAAyB,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;iBACrF,CAAC;YACJ,CAAC;YACD,YAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,oDAAY,GAAZ,UAAa,WAAW;QAAxB,iBAKC;QAJC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACzE,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAAgB,GAAhB,UAAiB,QAAQ;QACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACxB,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;aAAE;iBAC/H;gBACH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;aAC3D;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACvC;IACH,CAAC;IAED,kDAAU,GAAV;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;;gBA7M6B,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IAZjG,6BAA6B;QALzC,+DAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,iPAAsD;;SAEvD,CAAC;yCAa8B,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OAZjG,6BAA6B,CA0NzC;IAAD,oCAAC;CAAA;AA1NyC;;;;;;;;;;;;;ACV1C;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,gBAAgB,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,2BAA2B,KAAK,+CAA+C,+5B;;;;;;;;;;;;;;;;;;;;;;;;ACA5T;AAO1C;IAAA;IAIA,CAAC;IAHC,wDAAgB,GAAhB,UAAiB,SAAS;QACxB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAHU,6BAA6B;QALzC,+DAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,iPAAsD;;SAEvD,CAAC;OACW,6BAA6B,CAIzC;IAAD,oCAAC;CAAA;AAJyC;;;;;;;;;;;;;ACP1C;AAAe,oEAAK,kBAAkB,KAAK,mDAAmD,2X;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAzB;AACrB;AACL;AACa;AAOxD;IAiEE,iCAAoB,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAxF,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAzD5G,mBAAc,GAAG,EAAE,CAAC;QACpB,cAAS,GAAE,EAAE,CAAC;QAKd,cAAS,GAAW,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjD,4BAAuB,GAAY,KAAK,CAAC;QACzC,sBAAiB,GAAY,KAAK,CAAC;QAKnC,iBAAY,GAAQ;YAClB;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI;aACZ;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,KAAK;aACb;SACF,CAAC;QAWF,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QAET,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,gBAAW,GAAE;YACX;gBACI,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,IAAI;aACvB;YACD;gBACI,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,QAAQ;aAC3B;YACD;gBACI,YAAY,EAAE,CAAC;gBACf,cAAc,EAAE,QAAQ;aAC3B;SACJ,CAAC;IAMgH,CAAC;IAEjH,0CAAQ,GAAR;QAAA,iBAoiBC;QAniBC,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;aACvC;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,kBAAkB;gBAC3B,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,0BAA0B;gBACnC,QAAQ,EAAE,0BAA0B;gBACpC,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,6BAA6B;gBACtC,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,oBAAoB;gBAC9B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,kBAAkB;gBAC3B,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;SACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;aACvC;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,6BAA6B;gBACtC,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,oBAAoB;gBAC9B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YAED;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,kBAAkB;gBAC3B,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;SACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;aACvC;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,6BAA6B;gBACtC,QAAQ,EAAE,6BAA6B;gBACvC,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,oBAAoB;gBAC9B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YAED;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,GAAG;gBAChB,aAAa,EAAE,KAAK;aACrB;SACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,cAAc;gBACxB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;aACvC;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,6BAA6B;gBACtC,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;gBACd,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,QAAQ,EAAE,iBAAiB;gBAC3B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,oBAAoB;gBAC9B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;YACD;gBACE,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,KAAK;gBAChB,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,EAAE;gBACf,aAAa,EAAE,KAAK;aACrB;SACF,CAAC;QACF,QAAQ,IAAI,CAAC,EAAE,EAAE;YACf,KAAK,IAAI;gBAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM;YAC/E,KAAK,IAAI;gBAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM;YAC/E,KAAK,IAAI;gBAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM;YAC/E,KAAK,IAAI;gBAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM;YAC/E;gBAAS,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBAAC,MAAM;SAC9E;QACD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,UAAC,GAAQ;YACtD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;gBACpB,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC7C,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC3C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC3C,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,iBAAiB,IAAI,KAAI,CAAC,EAAE,EAAjC,CAAiC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrI,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAG,GAAG,iBAAiB,CAAC;gBAC5B,KAAI,CAAC,YAAY,YAAO,IAAI,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAI;oBAC5D,QAAC,IAAI,CAAC,KAAG,CAAC,EAAE,IAAI,CAAC;gBAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChC,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAE;oBAC1B,IAAI,EAAE,CAAC,iBAAiB,KAAK,KAAI,CAAC,SAAS,EAAE;wBAC3C,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,eAAe,CAAC;qBAC5C;gBACH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC;aAClD;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC3C,CAAC;IAED,mDAAiB,GAAjB,UAAkB,KAAK;QAAvB,iBAuBC;QAtBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;YACpF,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;gBACnB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACrE,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACtE,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAC;oBACrB,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE;wBAClB,CAAC,CAAC,OAAO,GAAG,EAAE,CAAC;qBAChB;oBACD,IAAG,CAAC,CAAC,SAAS,EAAE;wBACd,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC;qBACrB;yBAAM;wBACL,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;qBACvB;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,iDAAe,GAAf,UAAgB,GAAG,EAAE,GAAG;QACtB,gBAAW,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAI,IAAI,QAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC;IAClE,CAAC;IAED,2CAAS,GAAT,UAAU,KAAK;QAAf,iBASC;QARC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;YAC5C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC;aAC/B;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,yDAAuB,GAAvB,UAAwB,MAAM;QAC5B,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAED,4CAAU,GAAV,UAAW,KAAK;QAAhB,iBAqBC;QApBC,IAAI,GAAG,GAAG,EAAE;QACZ,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAM,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAC,CAAC,CAAC;QAErF,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC9D,IAAI,IAAI,GAAG;gBACT,mBAAmB,EAAE,GAAG,CAAC,QAAQ,EAAE;gBACnC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAClF,YAAY,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACxD,MAAM,EAAE,IAAI,CAAC,gBAAgB;gBAC7B,aAAa,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;aACpF;YACD,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBAC1D,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC;gBACjD,KAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACxB,KAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;gBACxC,KAAI,CAAC,sBAAsB,GAAG,SAAS,CAAC;YAC1C,CAAC,CAAC;SACH;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC;SAC7E;IACH,CAAC;IAED,6CAAW,GAAX,UAAY,SAAS;QACb,+BAAO,EAAE,qBAAI,CAAe;QAClC,QAAQ,IAAI,EAAE;YACZ,KAAK,WAAW;gBAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBAAC,MAAM;YACxD,KAAK,QAAQ;gBAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAAC,MAAM;YACxD,OAAO,CAAC,CAAC,MAAM;SAChB;IACH,CAAC;IAED,qDAAmB,GAAnB,UAAoB,OAAO;QAA3B,iBAMC;QALC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,UAAC,QAAQ;YAC5G,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED,kDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,4CAAU,GAAV;QACE,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,sDAAoB,GAApB;QACE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACzF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED,mDAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAI,IAAI,WAAI,CAAC,OAAO,KAAK,KAAK,CAAC,eAAe,EAAtC,CAAsC,CAAC,CAAC;IAC9F,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAcC;QAbC,IAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACrD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,aAAG;YACtH,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAG,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAClB,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC;gBACjD,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;aAC3D;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAa,GAAb,UAAc,GAAG;QACb,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,4CAAU,GAAV,UAAW,SAAS;QACZ,2BAAK,EAAE,yBAAM,CAAe;QAClC,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,MAAM,EAAvB,CAAuB,CAAC,CAAC;aACjF;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;SACF;aAAM;YACL,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;oBAC5B,IAAI,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE;wBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;qBAClB;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,QAAQ,GAAG;oBACb,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,KAAK;iBACb,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9B,IAAI,MAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;gBAC5B,MAAI,GAAG,MAAI,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAA/D,CAA+D,CAAC,CAAC;YAC5F,CAAC,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,MAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,+CAAa,GAAb;QAAA,iBAOC;QANC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,aAAG;YAClE,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC;;gBA9sB6B,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IAjEjG,uBAAuB;QANnC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,4NAA+C;YAE/C,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAkE8B,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OAjEjG,uBAAuB,CAgxBnC;IAAD,8BAAC;CAAA;AAhxBmC;;;;;;;;;;;;;ACVpC;AAAe,oEAAK,mBAAmB,OAAO,0BAA0B,2BAA2B,KAAK,+CAA+C,uhB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACArG;AACF;AACL;AACa;AAMxD;IAyBE,yCAAoB,QAAqB,EAAS,OAA0B,EAAU,MAAqB;QAAvF,aAAQ,GAAR,QAAQ,CAAa;QAAS,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAd3G,cAAS,GAAC,EAAE,CAAC;QAEb,mBAAc,GAAG,EAAE,CAAC;IAY2F,CAAC;IAChH,kDAAQ,GAAR;QAAA,iBAyDC;QAxDC,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,UAAC,IAAI;YAClD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACpB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC7C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC3C,IAAI,KAAG,GAAG,iBAAiB,CAAC;gBAC5B,KAAI,CAAC,YAAY,YAAO,IAAI,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAI;oBAC5D,QAAC,IAAI,CAAC,KAAG,CAAC,EAAE,IAAI,CAAC;gBAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAEhC,IAAM,WAAS,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/C,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAE;oBAC1B,IAAG,EAAE,CAAC,iBAAiB,KAAK,WAAS,EAAE;wBACrC,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,eAAe,CAAC;wBAC3C,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;wBACtC,KAAI,CAAC,2BAA2B,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;qBACzD;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aACnC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,qEAA2B,GAA3B,UAA4B,EAAE;QAA9B,iBAQC;QAPC,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,aAAG;YACzD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;aAClC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,mDAAS,GAAT,UAAU,KAAK;QAAf,iBASC;QARC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;YAC5C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAC,WAAW,CAAC,CAAC;aAClE;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,yDAAe,GAAf,UAAgB,GAAG,EAAE,GAAG;QACtB,gBAAW,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAI,IAAI,QAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC;IAClE,CAAC;IAED,8DAAoB,GAApB,UAAqB,MAAM;QACzB,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,QAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;YACtC,KAAK,CAAC;gBAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAAC,MAAM;YAC1C,KAAK,CAAC;gBAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAAC,MAAM;YAC9C;gBAAS,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAAC,MAAM;SAC5C;IACH,CAAC;IAED,6DAAmB,GAAnB;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,iEAAuB,GAAvB;QACE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACtC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,oDAAU,GAAV,UAAW,KAAK;QAAhB,iBAeC;QAdC,IAAI,IAAI,CAAC,gCAAgC,EAAE,EAAE;YAC3C,IAAI,IAAI,GAAG;gBACT,cAAc,EAAE,IAAI,CAAC,gBAAgB;gBACrC,SAAS,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAClF,WAAW,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChF,iBAAiB,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACtF,sBAAsB,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrG,iBAAiB,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;aACpD;YACD,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,aAAG;gBACxD,KAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBAClC,KAAI,CAAC,2BAA2B,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1D,CAAC,CAAC;SACH;IACH,CAAC;IAED,iEAAuB,GAAvB,UAAwB,GAAQ;QAC9B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACnB,IAAI,GAAG,IAAI,0BAA0B,EAAE;gBACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;aAChC;iBACI;gBACH,IAAI,CAAC,SAAS,GAAG,EAAE;aACpB;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;SAClC;IACH,CAAC;IAED,0EAAgC,GAAhC;QACE,IAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;YACpF,OAAO,KAAK,CAAC;SACd;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,oDAAU,GAAV,UAAW,SAAS;QACb,2BAAK,EAAE,yBAAM,CAAe;QACjC,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,MAAM,EAAvB,CAAuB,CAAC,CAAC;aACjF;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;SACF;aAAM;YACL,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;oBAC5B,IAAI,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE;wBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;qBAClB;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,QAAQ,GAAG;oBACb,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,KAAK;iBACb,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9B,IAAI,MAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;gBAC5B,MAAI,GAAG,MAAI,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAA/D,CAA+D,CAAC,CAAC;YAC5F,CAAC,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,MAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,CAAC;;gBAvL6B,qEAAW;gBAAkB,6DAAiB;gBAAkB,wDAAa;;IAzBhG,+BAA+B;QAL3C,+DAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;YACxC,uPAAwD;;SAEzD,CAAC;yCA0B8B,qEAAW,EAAkB,6DAAiB,EAAkB,wDAAa;OAzBhG,+BAA+B,CAiN3C;IAAD,sCAAC;CAAA;AAjN2C;;;;;;;;;;;;;ACT5C;AAAe,oEAAK,mBAAmB,OAAO,uFAAuF,+BAA+B,2CAA2C,KAAK,kDAAkD,gDAAgD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,iDAAiD,gDAAgD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,6CAA6C,gDAAgD,uDAAuD,SAAS,aAAa,uCAAuC,SAAS,KAAK,iDAAiD,eAAe,+BAA+B,SAAS,cAAc,0BAA0B,SAAS,QAAQ,qBAAqB,2BAA2B,KAAK,+CAA+C,29D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAnlC;AACF;AACL;AACa;AAMxD;IA4BE,+BAAoB,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAxF,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAjB5G,cAAS,GAAG,EAAE,CAAC;QAGf,mBAAc,GAAG,EAAE,CAAC;IAc4F,CAAC;IACjH,wCAAQ,GAAR;QAAA,iBAmFC;QAlFC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,KAAK;gBACf,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,SAAS;gBACnB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,kBAAkB;gBAC3B,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;SAAC;QAEJ,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,UAAC,IAAI;YAClD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACpB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC7C,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC7C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC3C,IAAI,KAAG,GAAG,iBAAiB,CAAC;gBAC5B,KAAI,CAAC,YAAY,YAAO,IAAI,GAAG,CAAC,KAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAI;oBAC5D,QAAC,IAAI,CAAC,KAAG,CAAC,EAAE,IAAI,CAAC;gBAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChC,IAAM,WAAS,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/C,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAE;oBAC1B,IAAI,EAAE,CAAC,iBAAiB,KAAK,WAAS,EAAE;wBACtC,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,eAAe,CAAC;wBAC3C,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;wBAC7C,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;wBACtC,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;qBAC3D;gBACH,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aACnC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,6DAA6B,GAA7B,UAA8B,EAAE;QAAhC,iBAWC;QAVC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;YAC5D,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC;gBACjC,KAAI,CAAC,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC;aAChC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,gDAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;YACtC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,eAAe,IAAI,KAAK,EAA1B,CAA0B,CAAC,CAAC;SACpF;IACH,CAAC;IAED,iDAAiB,GAAjB,UAAkB,QAAQ;QACxB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,yCAAS,GAAT,UAAU,KAAK;QAAf,iBASC;QARC,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;YAC5C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;aACnE;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,+CAAe,GAAf,UAAgB,GAAG,EAAE,GAAG;QACtB,gBAAW,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAI,IAAI,QAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC;IAClE,CAAC;IAED,0CAAU,GAAV;QAAA,iBAiCC;QAhCC,IAAI,IAAI,GAAG;YACT,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS;YAC1C,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU;YAC7C,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,iBAAiB;YACzC,kBAAkB,EAAE,EACnB;YACD,kBAAkB,EAAE,EACnB;SACF;QACD,IAAG,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,EAAE;YAC3D,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,WAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,WAAC;YACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC1D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC3B,KAAI,CAAC,eAAe,GAAG,IAAI,CAAC;gBAC5B,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,KAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;gBACtC,KAAI,CAAC,6BAA6B,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC;gBAC1D,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,0CAAU,GAAV,UAAW,SAAS;QACZ,2BAAK,EAAE,yBAAM,CAAe;QAClC,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,MAAM,EAAvB,CAAuB,CAAC,CAAC;aACjF;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;SACF;aAAM;YACL,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;oBAC5B,IAAI,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE;wBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;qBAClB;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,QAAQ,GAAG;oBACb,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,KAAK;iBACb,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9B,IAAI,MAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;gBAC5B,MAAI,GAAG,MAAI,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAA/D,CAA+D,CAAC,CAAC;YAC5F,CAAC,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,MAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,2CAAW,GAAX,UAAY,OAAO;QACjB,IAAG,IAAI,CAAC,eAAe,EAAC;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,kCAAkC,EAAE,CAAC;SAC3C;IACH,CAAC;IAED,yDAAyB,GAAzB;QACE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;IAED,yDAAyB,GAAzB;QACE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC9C,CAAC;IAED,+CAAe,GAAf;QACE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC;QACtC,IAAG,IAAI,CAAC,WAAW,EAAE;YACnB,IAAI,CAAC,kCAAkC,EAAE,CAAC;SAC3C;IACH,CAAC;IAED,kEAAkC,GAAlC;QAAA,iBAkBC;QAjBC,IAAI,qBAAqB,GAAG,EAAE,CAAC;QAC/B,IAAI,qBAAqB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAE;YACtB,IAAI,EAAE,CAAC,OAAO,KAAK,KAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAE;gBACvE,IAAI,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,KAAK,EAAE,CAAC,MAAM,EAAzB,CAAyB,CAAE,CAAC;gBACvF,IAAI,iBAAiB,EAAE;oBACrB,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;iBAC/C;aACF;YACD,IAAI,EAAE,CAAC,OAAO,KAAK,KAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,cAAc,EAAC;gBACtE,IAAI,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,KAAK,EAAE,CAAC,MAAM,EAAzB,CAAyB,CAAE,CAAC;gBACvF,IAAI,iBAAiB,EAAE;oBACrB,qBAAqB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;iBAC/C;aACF;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,wCAAwC,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;IAC9F,CAAC;IAED,wEAAwC,GAAxC,UAAyC,OAAc,EAAE,OAAc;QACrE,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACxG;QACD,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACxG;IACH,CAAC;;gBArP6B,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IA5BjG,qBAAqB;QALjC,+DAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,oOAA6C;;SAE9C,CAAC;yCA6B8B,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OA5BjG,qBAAqB,CAkRjC;IAAD,4BAAC;CAAA;AAlRiC;;;;;;;;;;;;;ACTlC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,cAAc,qBAAqB,kCAAkC,oBAAoB,2BAA2B,qBAAqB,KAAK,+CAA+C,msB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhO;AACF;AACL;AACO;AACM;AASxD;IAgBE,2BAAoB,OAAoB,EAAU,OAA0B,EAAU,MAAqB,EAAU,mBAAwC;QAAzI,YAAO,GAAP,OAAO,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,wBAAmB,GAAnB,mBAAmB,CAAqB;QAP7J,aAAQ,GAAG,KAAK,CAAC;QACjB,kBAAa,GAAG;YACd,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAC;SAC7B;IACgK,CAAC;IAElK,oCAAQ,GAAR;QACE,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,aAAa;gBACvB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,WAAW;gBACpB,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,OAAO;gBAChB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;SACF;QACF,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjB,CAAC;IAED,oCAAQ,GAAR;QAAA,iBA8BC;QA7BC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,kBAAQ;YACxC,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,KAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACtB,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAE,IAAI,QAAC,EAAE,CAAC,mBAAmB,IAAI,EAAE,CAAC,SAAS,EAAvC,CAAuC,CAAC,CAAC,CAAC,CAAC;gBAC7H,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAC;oBACtB,IAAI,aAAa,GAAG,KAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAlD,CAAkD,CAAC,CAAC;oBAChH,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;wBAC5B,IAAI,QAAM,GAAG,EAAE,CAAC;wBAChB,aAAa,CAAC,OAAO,CAAC,YAAE;4BACtB,IAAI,MAAM,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,KAAK,EAAE,CAAC,eAAe,EAA5B,CAA4B,CAAC,CAAC;4BACzE,IAAI,QAAM,IAAI,EAAE,EAAE;gCAChB,QAAM,GAAG,MAAM,CAAC,YAAY,CAAC;6BAC9B;iCAAM;gCACL,QAAM,GAAG,QAAM,GAAG,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;6BAC7C;wBACH,CAAC,CAAC,CAAC;wBACH,CAAC,CAAC,aAAa,GAAG,QAAM,CAAC;qBAC1B;yBAAM;wBACL,CAAC,CAAC,aAAa,GAAG,EAAE,CAAC;qBACtB;gBACH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAE,IAAK,SAAE,CAAC,aAAa,KAAK,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAjD,CAAiD,CAAE,CAAC,CAAC,CAAC;aAC9H;iBAAM;gBACN,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAU,GAAV,UAAW,SAAS;QACb,2BAAK,EAAE,yBAAM,CAAe;QACjC,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,MAAM,EAAvB,CAAuB,CAAC,CAAC;aACjF;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;SACF;aAAM;YACL,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;oBAC5B,IAAI,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE;wBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;qBAClB;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,QAAQ,GAAG;oBACb,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,KAAK;iBACb,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9B,IAAI,MAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;gBAC5B,MAAI,GAAG,MAAI,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAA/D,CAA+D,CAAC,CAAC;YAC5F,CAAC,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,MAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,uCAAW,GAAX,UAAY,SAAS;QAArB,iBAkBC;QAjBO,+BAAO,EAAE,qBAAI,CAAe;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAI,IAAI,IAAI,MAAM,EAAE;YAClB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;gBAC/B,OAAO,EAAE,iJAAiJ;gBAC1J,MAAM,EAAE,qBAAqB;gBAC7B,IAAI,EAAE,mBAAmB;gBACzB,MAAM,EAAE;oBACN,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAC3B,CAAC;gBACD,MAAM,EAAE;gBACR,CAAC;aACJ,CAAC,CAAC;SACF;IACH,CAAC;IAED,sCAAU,GAAV;QACE,IAAI,CAAC,WAAW,GAAG;YACjB,SAAS,EAAE,CAAC;YACZ,cAAc,EAAE,EAAE;YAClB,YAAY,EAAE,EAAE;YAChB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,EAAE;YACX,UAAU,EAAE,KAAK;SAClB,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,wCAAY,GAAZ,UAAa,UAAU;QACrB,IAAG,UAAU,EAAE;YACb,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;SACvB;IACH,CAAC;IAED,sCAAU,GAAV,UAAW,OAAO;QAAlB,iBAgBC;QAfC,IAAI,OAAO,GAAG;YACZ,SAAS,EAAE,OAAO,CAAC,OAAO;YAC1B,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9C,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACjD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACrC,KAAI,CAAC,QAAQ,EAAE,CAAC;aACjB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACtC;QACH,CAAC,CAAC;IACJ,CAAC;;gBArL4B,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;gBAA+B,+DAAmB;;IAhBlJ,iBAAiB;QAP7B,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;YACzB,+MAAyC;YAEzC,SAAS,EAAE,CAAC,+DAAmB,CAAC;;SAEjC,CAAC;yCAiB6B,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa,EAA+B,+DAAmB;OAhBlJ,iBAAiB,CAsM7B;IAAD,wBAAC;CAAA;AAtM6B;;;;;;;;;;;;;ACb9B;AAAe,kFAAmB,mCAAmC,sCAAsC,uBAAuB,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,WAAW,oCAAoC,KAAK,sBAAsB,6BAA6B,sBAAsB,+BAA+B,KAAK,+CAA+C,m5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1iB;AAC/B;AACL;AACa;AAOxD;IAkBE,mCAAoB,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAxF,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAflG,eAAU,GAAG,IAAI,0DAAY,EAAE,CAAC;QAE1C,eAAU,GAAG;YACX,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC9C,eAAe,EAAE,EAAE;YACnB,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,IAAI;SAClB,CAAC;QAEF,kBAAa,GAAG;YACd,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAC;YAC5B,EAAE,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,EAAC;SAC7B;IAC+G,CAAC;IAEjH,4CAAQ,GAAR;QAAA,iBAWC;QAVC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;YAC3B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxD,OAAO,CAAC,OAAO,CAAC,WAAC;gBACf,IAAI,MAAM,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,YAAY,IAAI,CAAC,EAApB,CAAoB,CAAC,CAAC;gBACjE,IAAI,MAAM,EAAE;oBACV,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAC9B;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,8CAAU,GAAV;QAAA,iBAkCC;QAjCC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE;gBAC3B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;aACpD;YACD,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACrD,IAAI,eAAa,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,aAAG;gBACzB,IAAI,IAAI,GAAG;oBACT,IAAI,EAAE,CAAC;oBACP,QAAQ,EAAE,KAAI,CAAC,UAAU,CAAC,SAAS,CAAC;oBACpC,iBAAiB,EAAE,GAAG,CAAC,EAAE;iBAC1B,CAAC;gBACF,eAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,eAAa,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBAC1D,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACxB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACtC,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;oBACxB,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBAC5B;qBAAM;oBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC;SACH;IACH,CAAC;IAED,oDAAgB,GAAhB;QACE,IAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,EAAE;YACpH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;SACd;QACD,IAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,EAAE;YAC9G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE;YAC3G,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;SACd;QACD,IAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC7I,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;SACd;QACD,IAAG,CAAC,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;SACd;QACD,IAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,mDAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,GAAG,GAAG,6CAA6C,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBACnC,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAAM,GAAN;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;;gBA/F6B,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IAjBnG;QAAR,2DAAK,EAAE;;+DAAe;IACd;QAAR,2DAAK,EAAE;;+DAAe;IACb;QAAT,4DAAM,EAAE;;iEAAiC;IAH/B,yBAAyB;QALrC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,uOAAiD;;SAElD,CAAC;yCAmB8B,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OAlBjG,yBAAyB,CAmHrC;IAAD,gCAAC;CAAA;AAnHqC;;;;;;;;;;;;;ACVtC;AAAe,+EAAgB,sBAAsB,uBAAuB,KAAK,oBAAoB,uBAAuB,sBAAsB,gCAAgC,mBAAmB,yBAAyB,mBAAmB,wBAAwB,yBAAyB,KAAK,2BAA2B,gBAAgB,KAAK,6DAA6D,gCAAgC,mBAAmB,sBAAsB,uBAAuB,mBAAmB,yBAAyB,gCAAgC,KAAK,mEAAmE,8BAA8B,4BAA4B,yBAAyB,gCAAgC,OAAO,6DAA6D,sBAAsB,4BAA4B,0BAA0B,uBAAuB,sBAAsB,mBAAmB,uBAAuB,8BAA8B,iDAAiD,8BAA8B,qCAAqC,KAAK,yBAAyB,sBAAsB,KAAK,kBAAkB,oCAAoC,gCAAgC,wBAAwB,sBAAsB,yBAAyB,mBAAmB,iBAAiB,yBAAyB,KAAK,sCAAsC,+BAA+B,uBAAuB,4BAA4B,KAAK,uCAAuC,kCAAkC,yCAAyC,8BAA8B,8BAA8B,KAAK,8FAA8F,6CAA6C,gCAAgC,OAAO,+DAA+D,8BAA8B,4BAA4B,KAAK,6GAA6G,8BAA8B,yCAAyC,KAAK,mEAAmE,uCAAuC,2CAA2C,gCAAgC,KAAK,yCAAyC,6BAA6B,KAAK,mCAAmC,mCAAmC,KAAK,kFAAkF,+BAA+B,uBAAuB,8BAA8B,oBAAoB,KAAK,yDAAyD,oCAAoC,KAAK,mDAAmD,iDAAiD,KAAK,oCAAoC,uBAAuB,sBAAsB,gCAAgC,mBAAmB,yBAAyB,mBAAmB,wBAAwB,gBAAgB,yBAAyB,KAAK,+CAA+C,kDAAkD,mDAAmD,OAAO,yDAAyD,mDAAmD,OAAO,eAAe,qCAAqC,OAAO,KAAK,+CAA+C,kDAAkD,mDAAmD,OAAO,yDAAyD,mDAAmD,OAAO,eAAe,qCAAqC,OAAO,KAAK,+CAA+C,kDAAkD,mDAAmD,OAAO,yDAAyD,mDAAmD,OAAO,eAAe,oCAAoC,OAAO,KAAK,mDAAmD,u7O;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/iI;AACjE;AACe;AACQ;AAChB;AACX;AAE7B,IAAM,UAAU,GAAG,iFAAiF,CAAC;AAErG,IAAM,eAAe,GAAG,OAAO,CAAC;AAQhC;IAkBE,6BAAoB,QAAqB,EAAU,OAA0B;QAAzD,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAhBnE,kBAAa,GAAG,IAAI,0DAAY,EAAE,CAAC;QAG7C,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,EAAE,CAAC;QAMV,mBAAc,GAAG,EAAE,CAAC;IAG6D,CAAC;IAElF,sCAAQ,GAAR;QACE,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,CAAE,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7I,IAAI,CAAC,QAAQ,GAAG;YACd;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,6BAA6B;gBACtC,QAAQ,EAAE,mBAAmB;gBAC7B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,+BAA+B;gBACxC,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,mBAAmB;gBAC5B,QAAQ,EAAE,mBAAmB;gBAC7B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,oBAAoB;gBAC7B,QAAQ,EAAE,oBAAoB;gBAC9B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;SACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,UAAU;gBACnB,QAAQ,EAAE,OAAO;gBACjB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,eAAe;gBACxB,QAAQ,EAAE,MAAM;gBAChB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,gBAAgB;gBACzB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,yBAAyB;gBAClC,QAAQ,EAAE,yBAAyB;gBACnC,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,qBAAqB;gBAC9B,QAAQ,EAAE,qBAAqB;gBAC/B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,QAAQ;gBACjB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;SACF;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,8CAAgB,GAAhB;QACE,QAAQ,IAAI,CAAC,EAAE,EAAE;YACf,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAAC,MAAM;YACnF,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAAC,MAAM;YACnF,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;gBAAA,MAAM;YAChF,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAAA,MAAM;YAClF;gBAAS,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAAC,MAAM;SAClF;IACH,CAAC;IAED,6CAAe,GAAf;QAAA,iBA8BC;QA7BC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC1F,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,IAAG,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACtE,IAAG,KAAI,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAC,CAAC,EAAC;oBACnF,KAAI,CAAC,IAAI,GAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,KAAK,KAAG,UAAU,EAAtB,CAAsB,CAAC,CAAC;iBACzD;gBACD,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,YAAE;oBACpC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE;wBACxB,EAAE,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBAC1D,EAAE,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC,mBAAmB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;qBACnF;yBAAM;wBACL,EAAE,CAAC,cAAc,GAAG,IAAI,CAAC;wBACzB,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC;wBAC9B,EAAE,CAAC,YAAY,GAAG,IAAI,CAAC;qBACxB;oBACD,EAAE,CAAC,wBAAwB,GAAG,mCAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACvF,EAAE,CAAC,eAAe,GAAG,mCAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvE,CAAC,CAAC;gBACF,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC/D,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrD,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAE;oBACvB,EAAE,CAAC,aAAa,GAAG,mCAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAU,GAAV,UAAW,SAAS;QACb,2BAAK,EAAE,yBAAM,CAAe;QACjC,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,MAAM,EAAvB,CAAuB,CAAC,CAAC;aACjF;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;SACF;aAAM;YACL,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;oBAC5B,IAAI,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE;wBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;qBAClB;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,QAAQ,GAAG;oBACb,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,KAAK;iBACb,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9B,IAAI,MAAI,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;gBAC5B,MAAI,GAAG,MAAI,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAA/D,CAA+D,CAAC,CAAC;YAC5F,CAAC,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,MAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;SAChE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,yCAAW,GAAX;QACE,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,4BAA0B,WAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC;IACzG,CAAC;IAED,+CAAiB,GAAjB,UAAkB,IAAW,EAAE,aAAqB,EAAE,SAAiB,EAAE,YAAmB;;QAC1F,IAAI,WAAW,GAAU,YAAY,CAAC,GAAG,CAAC,eAAK,IAAI,YAAK,CAAC,KAAK,EAAX,CAAW,CAAC,CAAC;QAChE,IAAI,YAAY,GAAa,YAAY,CAAC,GAAG,CAAC,gBAAM,IAAI,aAAM,CAAC,MAAM,EAAb,CAAa,CAAC,CAAC;QACvE,IAAI,aAAa,GAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;;gBACnC,KAA0B,0BAAI,uEAAE;oBAA3B,IAAI,aAAa;oBACpB,IAAI,UAAU,GAAQ,EAAE,CAAC;;wBACzB,KAAuB,uDAAW,2GAAE;4BAA/B,IAAI,UAAU;4BACjB,UAAU,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;yBACpD;;;;;;;;;oBACD,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC5C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;iBAC5C;;;;;;;;;YACD,IAAM,SAAS,GAAmB,0CAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAI,KAAK,GAAG,0CAAU,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC3C,IAAI,OAAO,GAAG,0CAAU,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,iCAAiC;gBAC/E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAClC,SAAS,CAAC,OAAO,CAAC,GAAG;oBACnB,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClB,CAAC,EAAE,GAAG;oBACN,CAAC,EAAE;wBACD,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;wBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;qBACrB;iBACF,CAAC;aACH;YACD,0CAAU,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAM,QAAQ,GAAkB,EAAE,MAAM,YAAI,GAAC,SAAS,IAAG,SAAS,KAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAChG,IAAM,WAAW,GAAQ,0CAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SAClD;IAEH,CAAC;IAED,6CAAe,GAAf,UAAgB,MAAW,EAAE,QAAgB;QAC3C,IAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5D,iDAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;IACrD,CAAC;;gBAtO6B,qEAAW;gBAAmB,6DAAiB;;IAjBpE;QAAR,2DAAK,EAAE;;yDAAe;IACb;QAAT,4DAAM,EAAE;;8DAAoC;IAFlC,mBAAmB;QAN/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,0MAA2C;YAE3C,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAmB8B,qEAAW,EAAmB,6DAAiB;OAlBlE,mBAAmB,CA0P/B;IAAD,0BAAC;CAAA;AA1P+B;;;;;;;;;;;;;ACjBhC;AAAe,4VAA6R,yCAAyC,6CAA6C,kCAAkC,KAAK,+CAA+C,24B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAnZ;AAC5B;AAQzC;IASE,gCAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QAJlC,YAAO,GAAG,EAAE,CAAC;QAEb,gBAAW,GAAG,EAAE,CAAC;IAEqB,CAAC;IAEvC,yCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B;aAAM;YACL,cAAc,CAAC,OAAO,CAAC,iBAAiB,EAAC,EAAE,CAAC,CAAC;YAC3C,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC/C,cAAc,CAAC,OAAO,CAAC,eAAe,EAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5C,IAAI,CAAC,UAAU,GAAG;gBAChB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;YACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC;SACxD;IACH,CAAC;IAED,iDAAgB,GAAhB,UAAiB,SAAS;QAA1B,iBAsBC;QArBC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACtB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAE;gBACrB,IAAG,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,KAAK,SAAS,CAAC,wBAAwB,EAAG;oBAClF,UAAU,GAAG,IAAI,CAAC;oBAClB,KAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;iBACzD;YACH,CAAC,CAAC;SACH;QACD,IAAI,SAAS,IAAI,CAAC,UAAU,IAAI,SAAS,CAAC,wBAAwB,KAAK,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE;YAC7G,IAAI,SAAS,GAAG;gBACd,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,SAAS;gBACnB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;aAC/B,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,wBAAwB,CAAC;SACpD;QACD,IAAG,SAAS,CAAC,wBAAwB,KAAK,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE;YAChF,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,wBAAwB,CAAC;SACpD;IACH,CAAC;IAED,gDAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAxB,CAAwB,CAAC,CAAC;IACrE,CAAC;IAED,uCAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;;gBAnD2B,sDAAM;;IATvB,sBAAsB;QANlC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,sNAA+C;YAE/C,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAU4B,sDAAM;OATvB,sBAAsB,CA6DlC;IAAD,6BAAC;CAAA;AA7DkC;;;;;;;;;;;;;ACTnC;AAAe,6EAAc,wBAAwB,wBAAwB,8BAA8B,KAAK,gBAAgB,wBAAwB,yBAAyB,8BAA8B,KAAK,iBAAiB,qBAAqB,gCAAgC,kCAAkC,oBAAoB,sCAAsC,KAAK,kBAAkB,qBAAqB,gCAAgC,kCAAkC,oBAAoB,sCAAsC,KAAK,+CAA+C,2BAA2B,KAAK,gDAAgD,yBAAyB,KAAK,6CAA6C,oCAAoC,KAAK,oBAAoB,8BAA8B,2CAA2C,+CAA+C,+2D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAh0B;AACzD;AACR;AACe;AACL;AACa;AAQxD;IAsEE,kCAAoB,MAAc,EAAU,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAhH,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAnE1H,mBAAc,GAAG,IAAI,0DAAY,EAAE,CAAC;QAC9C,aAAQ,GAAG,EAAE,CAAC;QAUd,iBAAY,GAAG,MAAM,CAAC;QAEtB,YAAO,GAAG,EAAE,CAAC;QACb,eAAU,GAAG,EAAE,CAAC;QAChB,mBAAc,GAAG,KAAK,CAAC;QACvB,gBAAW,GAAG,EAAE,CAAC;QACjB,gBAAW,GAAG,KAAK,CAAC;QAMpB,qBAAgB,GAAY,KAAK,CAAC;QAGlC,wBAAmB,GAAY,KAAK,CAAC;QAErC,wBAAmB,GAAG;YACpB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YACtI,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YAC/I,EAAE,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;YAC/I,EAAE,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE;SACxJ,CAAC;QACF,kBAAa,GAAY,KAAK,CAAC;QAC/B,4BAAuB,GAAY,KAAK,CAAC;QAGzC,uBAAkB,GAAY,KAAK,CAAC;QACpC,iBAAY,GAAG,EAAE,CAAC;QAClB,wBAAmB,GAAY,KAAK,CAAC;QAMrC,0BAAqB,GAAY,KAAK,CAAC;QACvC,cAAS,GAAY,KAAK,CAAC;QAC3B,sBAAiB,GAAG,EAAE,CAAC;QAGvB,oBAAe,GAAY,KAAK,CAAC;QACjC,mBAAc,GAAG,EAAE,CAAC;QACpB,gBAAW,GAAG,EAAE,CAAC;QACjB,qBAAgB,GAAY,KAAK,CAAC;QAClC,iBAAY,GAAY,KAAK,CAAC;QAC9B,eAAU,GAAG,CAAC,CAAC;QAOf,6BAAwB,GAAY,KAAK,CAAC;QAE1C,8BAAyB,GAAW,CAAC,CAAC;QACtC,sBAAiB,GAAG,KAAK,CAAC;IAC8G,CAAC;IAEzI,2CAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B;aAAM;YACL,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;gBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,IAAI,IAAI,EAAjB,CAAiB,CAAC,CAAC;gBAAA,CAAC;aAC5E;iBACI;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;aAC5C;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC3C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5D,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBAC1D,IAAI,CAAC,yBAAyB,EAAE,CAAC;aAClC;YACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;QACD,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC3F,IAAI,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/D,IAAI,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACnD,IAAI,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACzE,IAAI,CAAC,uBAAuB,CAAC,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACzE,CAAC;IAED,0DAAuB,GAAvB,UAAwB,aAAoB,EAAE,GAAW,EAAE,YAAoB;QAA/E,iBAQC;QAPC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,GAAQ;YAClG,IAAI,GAAG,CAAC,eAAe,EAAE;gBACvB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;iBAAM;gBACL,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2DAAwB,GAAxB;QACE,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBACpC,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B;SACF;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;IACH,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAClF,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE;gBACvD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,oBAAoB,EAAhC,CAAgC,CAAC,CAAC;gBAC9E,kDAAkD;gBAClD,qCAAqC;gBACrC,IAAI;aACL;iBAAM;gBACL,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC5B,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI;oBACzC,OAAO,IAAI,CAAC,KAAK,KAAK,kBAAkB,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI;oBAC/C,OAAO,IAAI,CAAC,KAAK,KAAK,0BAA0B,CAAC;gBACnD,CAAC,CAAC,CAAC;gBACH,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI;oBAChD,OAAO,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC;gBACxC,CAAC,CAAC,CAAC;gBACH,IAAI,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI;oBAC/C,OAAO,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,IAAI,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI;oBACjD,OAAO,IAAI,CAAC,KAAK,KAAK,mBAAmB,CAAC;gBAC5C,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBACnD,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;gBACrD,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;aACrC;SACF;IACH,CAAC;IAED,mDAAgB,GAAhB,UAAiB,SAAS;QACxB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAGD,sDAAmB,GAAnB;QACE,IAAI,CAAC,SAAS,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5H,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,QAAQ,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpC,KAAK,IAAI;gBAAE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAAC,MAAM;YACjO,KAAK,IAAI;gBAAE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;YACtF,KAAK,IAAI;gBAAE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;YACtF,KAAK,IAAI;gBAAE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAAC,MAAM;YACjO,OAAO,CAAC,CAAC,MAAM;SAChB;QACD,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,6DAA0B,GAA1B;QAAA,iBAQC;QAPC,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAClF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAI;gBACrB,IAAI,KAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,EAAE;oBAClD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,uDAAoB,GAApB;QAAA,iBAeC;QAdC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACpE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACpC,KAAI,CAAC,iBAAiB,GAAG,KAAI,CAAC,OAAO,CAAC;gBACtC,IAAI,YAAY,GAAG,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,OAAO,KAAK,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,EAAlC,CAAkC,CAAC,CAAC;gBACzF,IAAI,YAAY,EAAE;oBAChB,KAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;iBACjC;aACF;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,uDAAoB,GAApB;QAAA,iBAyCC;QAxCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACjG,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,kBAAkB,GAAG,QAAQ,CAAC;YACnC,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,gBAAgB,IAAI,CAAC,CAAC,eAAe,EAArD,CAAqD,CAAC,CAAC;YACtI,KAAI,CAAC,qBAAqB,GAAG,KAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,wBAAwB,KAAK,KAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAxE,CAAwE,CAAC,CAAC;YAC1J,KAAI,CAAC,6BAA6B,GAAG,KAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,wBAAwB,IAAI,CAAC,CAAC,eAAe,EAA7D,CAA6D,CAAC,CAAC;YACtJ,KAAI,CAAC,6BAA6B,GAAG,KAAI,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,wBAAwB,KAAK,KAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAxE,CAAwE,CAAC,CAAC;YAC1K,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,sBAAsB,IAAI,CAAC,CAAC,eAAe,EAA3D,CAA2D,CAAC,CAAC;YACtI,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,kBAAkB,CAAC,mBAAmB,CAAC;YACnE,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC;YAC3E,IAAI,KAAI,CAAC,UAAU,KAAK,CAAC,EAAE;gBACzB,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC7F,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBACjG,KAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC;gBACzH,KAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC;gBACjH,KAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBACvF,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;gBACvG,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBACzG,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBAC3G,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAC7G,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;aAC9G;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAC3F,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBACvG,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;gBAC/F,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBACzG,KAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC;gBACnI,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAC3G,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAC3G,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;gBACvG,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC;gBAC7G,KAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBACzG,KAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBACzF,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;gBAC3G,KAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;gBACnH,KAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;aAC9F;YACD,KAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4DAAyB,GAAzB;QAAA,iBAcC;QAbC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACzF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACtC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,SAAS,CAAC;gBACvC,IAAI,KAAK,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,mBAAmB,IAAI,KAAI,CAAC,MAAM,EAArC,CAAqC,CAAC,CAAC;gBACpF,IAAI,KAAK,EAAE;oBACT,KAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;iBACrC;aACF;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,qDAAkB,GAAlB;QAAA,iBAsBC;QArBC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACpI,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBACtI,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC;gBACjD,IAAI,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjG,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC7C,IAAI,KAAI,CAAC,YAAY,CAAC,qBAAqB,IAAI,KAAI,CAAC,MAAM,IAAI,KAAI,CAAC,YAAY,CAAC,qBAAqB,IAAI,KAAI,CAAC,MAAM,EAAE;wBACpH,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;qBACzB;iBACF;qBAAM,IAAI,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAChE,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAM,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACjE,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAM;oBACL,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;iBAC1C;gBACD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC,CAAC;SACH;IACH,CAAC;IAED,yCAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,8CAAW,GAAX,UAAY,SAAS;QAArB,iBAaC;QAZO,+BAAO,CAAe;QAC5B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC3F,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,IAAI,KAAI,CAAC,UAAU,KAAK,CAAC,EAAE;gBACzB,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE;iBACI;gBACH,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;aACjE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnH,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrH,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,EAAE,IAAI,EAAE,EAAE;YACZ,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC3D;aAAM,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,WAAW,EAAE;YACxH,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;SACxC;IACH,CAAC;IAED,kDAAe,GAAf;QACE,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACjE,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC1D,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBACvG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aAC7G;YACD,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,WAAW,CAAC,EAAE;gBAC9I,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACxC;iBAAM,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,KAAK,EAAE;gBAC1F,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aAC7G;SACF;IACH,CAAC;IAED,iDAAc,GAAd;QACE,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC3D,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACnD,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YAC/C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnF,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;gBAC5C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aACvI;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aACvI;SACF;IACH,CAAC;IAED,mDAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,qDAAkB,GAAlB;QACE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAChH,CAAC;IAED,iDAAc,GAAd,UAAe,QAAQ;QACrB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;QAC5B,QAAQ,IAAI,CAAC,WAAW,EAAE;YACxB,KAAK,GAAG;gBAAE,IAAI,CAAC,UAAU,GAAG,sBAAsB,CAAC;gBAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YACxG,KAAK,GAAG;gBAAE,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC;gBAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YACvG,KAAK,IAAI;gBAAE,IAAI,CAAC,UAAU,GAAG,2BAA2B,CAAC;gBAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBAAC,MAAM;YAC9G;gBAAS,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBAAC,MAAM;SACtC;QACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,gDAAa,GAAb;QACE,QAAQ,IAAI,CAAC,WAAW,EAAE;YACxB,KAAK,GAAG;gBAAE,IAAI,CAAC,eAAe,EAAE,CAAC;gBAAC,MAAM;YACxC,KAAK,GAAG;gBAAE,IAAI,CAAC,eAAe,EAAE,CAAC;gBAAC,MAAM;YACxC,KAAK,IAAI;gBAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAAC,MAAM;YAC3C,OAAO,CAAC,CAAC,MAAM;SAChB;IACH,CAAC;IAED,kDAAe,GAAf;QACE,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,oDAAiB,GAAjB;QACE,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvL,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YAClD,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;QACD,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnK,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrK,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7H,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5G,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAGhC,CAAC;IAED,sDAAmB,GAAnB;QACE,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC5J,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACzJ,CAAC;IAED,uDAAoB,GAApB;QAAA,iBAOC;QANC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,QAAQ;YACvE,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,KAAI,CAAC,wBAAwB,EAAE,CAAC;YAChC,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED,yDAAsB,GAAtB;QAAA,iBAOC;QANC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,QAAQ;YACzE,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,2DAAwB,GAAxB;QACE,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACzC,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,yDAAsB,GAAtB;QAAA,iBAQC;QAPC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC9I,KAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC3B,KAAI,CAAC,0BAA0B,GAAG,KAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YAC5E,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC,CAAC;IACJ,CAAC;IAED,oDAAiB,GAAjB;QACE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;IACjC,CAAC;IAED,8CAAW,GAAX;QAAA,iBAaC;QAZC,IAAI,UAAU,GAAG;YACf,0BAA0B,EAAE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACrE,gBAAgB,EAAE,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;YACpD,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YACtD,aAAa,EAAE,IAAI;SACpB;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,mBAAS;YAC7D,KAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,KAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED,iDAAc,GAAd;QACE,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,2DAAwB,GAAxB,UAAyB,aAAkB;QAA3C,iBAeC;QAdC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,WAAW,GAAG;YAChB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACxC,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACnE,gBAAgB,EAAE,IAAI,CAAC,UAAU;YACjC,qBAAqB,EAAE,MAAM,CAAC,aAAa,CAAC;YAC5C,cAAc,EAAE,IAAI,CAAC,MAAM;SAC5B,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,oBAAU;YACvE,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,EAAE,UAAU,CAAC,CAAC;YAC7D,KAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED,sDAAmB,GAAnB;QAAA,iBAeC;QAdC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC5D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACtC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,SAAS,CAAC;gBAClC,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC;gBACpC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAAvB,CAAuB,CAAC,CAAC;gBACvE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAAqB,GAArB;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,mDAAgB,GAAhB;QAAA,iBAiBC;QAhBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,WAAgB,CAAC;QACrB,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAChF,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACnF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAkB,GAAlB,UAAmB,YAAY;QAC7B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzD,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;aACzB;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;aACjC;SACF;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;aACjC;SACF;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACtC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzE,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;aACjC;SACF;QACD,QAAQ,YAAY,EAAE;YACpB,KAAK,UAAU;gBAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAAC,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;gBAAC,MAAM;YAChG,KAAK,UAAU;gBAAE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;gBAAC,MAAM;YACjG,OAAO,CAAC,CAAC,MAAM;SAChB;IACH,CAAC;IAED,+CAAY,GAAZ;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,yCAAM,GAAN;QACE,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,wCAAK,GAAL;QACE,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,iDAAc,GAAd,UAAe,YAAY;QAA3B,iBAkCC;QAjCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAM,WAAW,UAAK,IAAI,CAAC,WAAW,cAAS,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,QAAK,CAAC;QACxG,IAAI,YAAY,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE;YAC5G,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAChE,IAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAO,IAAI,CAAC,WAAa;YAC1E,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,SAAI,IAAM,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,WAAa,CAAC;SACjH;QACD,IAAI,YAAY,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,EAAE;YAC1D,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzE,IAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAO,IAAI,CAAC,WAAa;YAC1E,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAI,IAAM,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,WAAa,CAAC;SACnI;QACD,IAAI,YAAY,KAAK,UAAU,EAAE;YAC/B,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzE,IAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAO,IAAI,CAAC,WAAa;YAC1E,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAI,IAAM,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,WAAa,CAAC;SACnI;QACD,IAAI,OAAO,GAAG;YACZ,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACzC,iBAAiB,EAAE,IAAI,CAAC,UAAU;YAClC,mBAAmB,EAAE,YAAY;YACjC,iBAAiB,EAAE,YAAY;YAC/B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SAClC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACtD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,KAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;IACvC,CAAC;IAED,qDAAkB,GAAlB;QACE,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACxC,CAAC;IAED,mDAAgB,GAAhB;QAAA,iBAQC;QAPC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAChJ,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,KAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACvJ,CAAC;IAED,iDAAc,GAAd;QACE,IAAI,CAAC,YAAY,CAAC,mBAAmB,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/F,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACtD,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,mBAAmB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IACnN,CAAC;;gBArkB2B,sDAAM;gBAAoB,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IApE3H;QAAR,2DAAK,EAAE;;gEAAY;IACV;QAAT,4DAAM,EAAE;;oEAAqC;IAHnC,wBAAwB;QANpC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,4NAAiD;YAEjD,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAuE4B,sDAAM,EAAoB,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OAtEzH,wBAAwB,CA4oBpC;IAAD,+BAAC;CAAA;AA5oBoC;;;;;;;;;;;;;ACbrC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,sBAAsB,mCAAmC,sCAAsC,uBAAuB,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,uCAAuC,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,uCAAuC,KAAK,WAAW,oCAAoC,KAAK,sBAAsB,6BAA6B,sBAAsB,+BAA+B,KAAK,mCAAmC,+BAA+B,2CAA2C,KAAK,+BAA+B,kCAAkC,KAAK,+CAA+C,20D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA70B;AAC5B;AACe;AACvB;AACe;AACL;AAQ3C;IAiME,8BAAoB,MAAc,EAAU,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAhH,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAhMpI,aAAQ,GAAG,EAAE,CAAC;QACd,OAAO;QACP,4BAA4B;QAC5B,4BAA4B;QAC5B,4BAA4B;QAC5B,2BAA2B;QAC3B,2BAA2B;QAC3B,uBAAuB;QACvB,mBAAmB;QACnB,iCAAiC;QACjC,qCAAqC;QACrC,yBAAyB;QACzB,mCAAmC;QACnC,qCAAqC;QACrC,yBAAyB;QACzB,gBAAgB;QAChB,iBAAiB;QACjB,eAAe;QACf,uCAAuC;QACvC,yCAAyC;QACzC,6BAA6B;QAC7B,8BAA8B;QAC9B,6BAA6B;QAC7B,8BAA8B;QAC9B,+BAA+B;QAC/B,0BAA0B;QAC1B,2BAA2B;QAC3B,uBAAuB;QACvB,sBAAsB;QACtB,gCAAgC;QAChC,mCAAmC;QACnC,6BAA6B;QAC7B,8BAA8B;QAC9B,oBAAoB;QACpB,qBAAqB;QACrB,uBAAuB;QACvB,mBAAmB;QACnB,KAAK;QACL,eAAU,GAAG;YACX,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,0BAA0B;YAC3C,cAAc,EAAE,0BAA0B;YAC1C,eAAe,EAAE,0BAA0B;YAC3C,cAAc,EAAE,CAAC;YACjB,UAAU,EAAE,CAAC;YACb,cAAc,EAAE,EAAE;YAClB,uBAAuB,EAAE,CAAC;YAC1B,8BAA8B,EAAE,CAAC;YACjC,iBAAiB,EAAE,EAAE;YACrB,iBAAiB,EAAE,CAAC;YACpB,+BAA+B,EAAE,CAAC;YAClC,WAAW,EAAE,CAAC;YACd,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,EAAE;YACjB,2BAA2B,EAAE,CAAC;YAC9B,6BAA6B,EAAE,CAAC;YAChC,mBAAmB,EAAE,CAAC;YACtB,WAAW,EAAE,CAAC;YACd,mBAAmB,EAAE,CAAC;YACtB,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;YACrB,eAAe,EAAE,EAAE;YACnB,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,CAAC;YACb,oBAAoB,EAAE,EAAE;YACxB,uBAAuB,EAAE,EAAE;YAC3B,iBAAiB,EAAE,CAAC;YACpB,SAAS,EAAE,CAAC;YACZ,kBAAkB,EAAE,CAAC;YACrB,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,mBAAmB,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;YACV,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,EAAE;YACrB,gCAAgC,EAAE,CAAC;YACnC,gBAAgB,EAAE,KAAK;YACvB,wBAAwB,EAAE,CAAC;YAC3B,YAAY,EAAE,EAAE;YAChB,eAAe,EAAE,CAAC;YAClB,KAAK,EAAE,CAAC;YACR,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,KAAK;YAC5B,mBAAmB,EAAE,KAAK;SAC3B,CAAC;QACF,gBAAW,GAAG;YACZ,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,sBAAsB,EAAE,CAAC;SAC1B,CAAC;QACF,kBAAa,GAAG;YACd,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,aAAa;YAC1B,iBAAiB;YACjB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,CAAC;SACnB,CAAC;QA8BF,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QAMT,kBAAa,GAAG,KAAK,CAAC;QAGtB,aAAQ,GAAG,KAAK,CAAC;QAMjB,yBAAoB,GAAG,IAAI,CAAC;QAC5B,yBAAoB,GAAG,KAAK,CAAC;QAC7B,2BAAsB,GAAG,KAAK,CAAC;QAC/B,eAAU,GAAG;YACX;gBACE,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,eAAe;aAC7B;SACF,CAAC;QAEF,iCAA4B,GAAY,KAAK,CAAC;QAC9C,wBAAmB,GAAY,KAAK,CAAC;QACrC,qCAAgC,GAAY,KAAK,CAAC;QAClD,cAAS,GAAY,KAAK,CAAC;QAC3B,+BAA0B,GAAY,KAAK,CAAC;QAG5C,sBAAiB,GAAY,KAAK,CAAC;QAOnC,qBAAgB,GAAY,KAAK,CAAC;QAClC,uBAAkB,GAAY,KAAK,CAAC;QAKpC,kBAAa,GAAY,KAAK,CAAC;QAI/B,8BAAyB,GAAW,CAAC,CAAC;QACtC,0BAAqB,GAAG,KAAK,CAAC;QAE9B,wBAAmB,GAAW,KAAK,CAAC;IACoG,CAAC;IAEzI,uCAAQ,GAAR;QACE,QAAQ,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpC,KAAK,IAAI;gBAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;YACtC,KAAK,IAAI;gBAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;YACtC,KAAK,IAAI;gBAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;YACtC,KAAK,IAAI;gBAAE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;YACtC;gBAAS,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAAC,MAAM;SACrC;QACD,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5H,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,IAAI,CAAC,0BAA0B,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3J,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,OAAO,EAAE,CAAC;SAChB;IACH,CAAC;IACD,sCAAO,GAAP;QACE,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACpC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;YACrC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7C,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,KAAK,CAAC,EAAE;gBACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;iBACI,IAAI,IAAI,CAAC,UAAU,CAAC,eAAe,KAAK,CAAC,EAAE;gBAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAC1B;iBACI;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;aAAE;YAClC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;SACxF;aAAM;YACL,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAED,mDAAoB,GAApB,UAAqB,SAAS,EAAE,cAAc;QAA9C,iBAoBC;QAnBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC9E,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;YACvB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,KAAI,CAAC,aAAa,EAAE,CAAC;YACrB,KAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,KAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE;gBAC5C,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,KAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;aAC1E;YACD,IAAI,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACjE,IAAI,mBAAmB,EAAE;gBACvB,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;iBAAM;gBACL,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;aACpC;YACD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAa,GAAb;QAAA,iBAuBC;QAtBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACtF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACrC,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAE;oBACtB,EAAE,CAAC,cAAc,GAAM,EAAE,CAAC,cAAc,WAAM,EAAE,CAAC,wBAA0B,CAAC;gBAC9E,CAAC,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gBAC3B,IAAI,KAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;oBAC5B,KAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;oBACzE,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,iBAAiB,CAAC,CAAC;oBACpC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,cAAc,KAAK,KAAI,CAAC,iBAAiB,CAAC,cAAc;2BACrG,EAAE,CAAC,mBAAmB,KAAK,KAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAD3B,CAC2B,CAAC,CAAC;oBAC5E,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;oBACjC,KAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;gBACD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAqB,GAArB;QAAA,iBAiBC;QAhBC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC1K,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;YAC9B,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,KAAI,CAAC,wBAAwB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAClD,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC1C,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC9C,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC5C,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YACzC,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,wBAAwB,CAAC,CAAC;YAC3C,IAAI,KAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,KAAI,CAAC,wBAAwB;gBAC9D,KAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;YACjC,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAmB,GAAnB,UAAoB,UAAU;QAC5B,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACpD,CAAC;IAED,iDAAkB,GAAlB,UAAmB,UAAU;QAC3B,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,yBAAyB,CAAC;QAC5D,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;SAC9E;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;gBAC7E,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;aAC9E;SACF;IACH,CAAC;IAED,8CAAe,GAAf,UAAgB,UAAU;QAA1B,iBA4BC;QA3BC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,YAAY,GAAG;YACjB,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,QAAQ;SACvB,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,KAAK,CAAC,EAAE;YAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,UAAK,IAAI,CAAC,YAAY,GAAE,YAAY,GAAE,CAAC,CAAC;YACrF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;oBAC7D,OAAO,CAAC,CAAC,CAAC;gBACZ,IAAI,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE;oBAC7D,OAAO,CAAC,CAAC;gBACX,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,iBAAiB,CAAC,UAAU,EAAlD,CAAkD,CAAC,CAAC;YACvG,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;iBAAM;gBACL,IAAI,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;oBAC7C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,UAAU,KAAK,CAAC,EAAnB,CAAmB,CAAC,CAAC;oBACzE,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;oBAC1E,IAAI,CAAC,iBAAiB,EAAE,CAAC;iBAC1B;aACF;SACF;IACH,CAAC;IAED,+CAAgB,GAAhB,UAAiB,UAAU;QAA3B,iBAkCC;QAjCC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAClF,IAAM,aAAa,GAAG;YACpB,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,OAAO;YACtB,eAAe,EAAE,EAAE;YACnB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,GAAG;YACb,mBAAmB,EAAE,CAAC;SACvB,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE;gBAC/D,OAAO,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE;gBAC/D,OAAO,CAAC,CAAC;YACX,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,KAAK,KAAI,CAAC,iBAAiB,CAAC,WAAW,EAApD,CAAoD,CAAC,CAAC;YACxH,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,KAAI,CAAC,gBAAgB,CAAC,KAAK,EAAxC,CAAwC,CAAC,CAAC;gBACvF,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,MAAM,EAAE;oBACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,KAAK,KAAI,CAAC,gBAAgB,CAAC,IAAI,EAAtC,CAAsC,CAAC,CAAC;oBACnF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;iBACnD;aACF;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,iBAAiB,CAAC,aAAa,EAAzD,CAAyD,CAAC,CAAC;SAChH;IACH,CAAC;IACD,iDAAkB,GAAlB,UAAmB,UAAU;QAA7B,iBAoBC;QAnBC,IAAI,CAAC,+BAA+B,GAAG,UAAU,CAAC,aAAa,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,+BAA+B,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,aAAa,EAAhC,CAAgC,CAAC,CAAC;QACzG,IAAM,aAAa,GAAG;YACpB,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,GAAG;YACd,KAAK,EAAE,OAAO;SACf,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC/C,OAAO,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE;gBAC/C,OAAO,CAAC,CAAC;YACX,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,EAAhE,CAAgE,CAAC,CAAC;SAC3H;IACH,CAAC;IACD,8CAAe,GAAf,UAAgB,GAAG,EAAE,GAAG;QACtB,gBAAW,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAI,IAAI,QAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC;IAClE,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC;YAC7C,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;IACH,CAAC;IACD,iDAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,KAAK,CAAC,EAAE;YACnD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACpC;QACD,SAAS;QACT,mCAAmC;QACnC,IAAI;IACN,CAAC;IACD,qDAAsB,GAAtB;QAAA,iBAGC;QAFC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,gBAAgB,CAAC,aAAa,EAAxD,CAAwD,CAAC,CAAC;QACtH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,oDAAqB,GAArB;QAAA,iBAIC;QAHC,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YAClD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,gBAAgB,CAAC,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,KAAI,CAAC,aAAa,CAAC,KAAK,EAAjG,CAAiG,CAAC,CAAC;SAC/J;IACH,CAAC;IAED,6CAAc,GAAd;QACE,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,uDAAwB,GAAxB,UAAyB,UAAU;QACjC,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,qBAAqB,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAO;YAC3B,IAAI,CAAC,OAAO,CAAC,6BAA6B,IAAI,OAAO,CAAC,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9F,OAAO,CAAC,6BAA6B,GAAG,OAAO,CAAC,wBAAwB,CAAC;aAC1E;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAiB,GAAjB;QAAA,iBA6CC;QA5CC,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,KAAK,QAAQ,EAAE;YAClH,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC/B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAErC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,eAAe,CAAC,UAAU,EAAhD,CAAgD,CAAC,CAAC;YACtG,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;gBACvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sHAAsH,CAAC,CAAC;aAC3I;YACD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;YACrE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3D,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,KAAK,KAAK,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,EAAnD,CAAmD,CAAC,CAAC;gBAC7G,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;aAC1E;YACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACjC;aAAM;YACL,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACvB,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;aACxC;iBACI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC9B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACzE,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;gBACrG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;gBACpE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;gBACnF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;gBACjF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;aACxB;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBAC/B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;gBACzE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;gBAC9D,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CAAC,CAAC;gBACrG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;aACpF;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;aAC1E;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;IACH,CAAC;IAED,0CAAW,GAAX;QACE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC;IAC7D,CAAC;IAED,kDAAmB,GAAnB,UAAoB,MAAM;QACxB,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;IAClE,CAAC;IAED,+CAAgB,GAAhB;QAAA,iBAiBC;QAhBC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,SAAS,CAAC,UAAC,GAAQ;YACtD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,OAAO,GAAG,GAAG,CAAC;gBACnB,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,iBAAiB,KAAK,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAArD,CAAqD,CAAC,CAAC;gBACrG,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,iBAAiB,KAAK,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAArD,CAAqD,CAAC,CAAC;gBAClH,IAAI,KAAI,CAAC,SAAS,EAAE;oBAClB,KAAI,CAAC,UAAU,EAAE,CAAC;iBACnB;gBACD,IAAI,KAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;oBAC5B,KAAI,CAAC,mBAAmB,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,KAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,EAAxD,CAAwD,CAAC,CAAC;oBACnH,KAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;iBACnC;aACF;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAU,GAAV;QAAA,iBAQC;QAPC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAC,GAAG;YACtD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;aACjC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,uDAAwB,GAAxB;QAAA,iBA2BC;QA1BC,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,iCAAiC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACjI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;gBAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;aACd;YACD,IAAI,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAC1D,IAAI,QAAQ,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;YACjH,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,EAC1F,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,QAAQ,EAAE,IAAI,CAAC,iCAAiC,CAAC,UAAU,EACvG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBAC5G,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;oBACxB,KAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAChF,KAAI,CAAC,eAAe,EAAE,CAAC;iBACxB;qBACI;oBACH,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,EAAE,CAAC;oBAClD,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC,CAAC;SACN;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;IACH,CAAC;IAED,mDAAoB,GAApB,UAAqB,UAAU;QAA/B,iBAmCC;QAlCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,WAAW,EAA9B,CAA8B,CAAC,CAAC;QAC5F,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,KAAK,KAAK,IAAI,EAAlB,CAAkB,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SAC1E;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,KAAK,KAAK,IAAI,EAAlB,CAAkB,CAAC,CAAC;YAC5E,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;SAC1E;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;QAChG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,aAAa,EAAhC,CAAgC,CAAC,CAAC;QAC5F,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,cAAc,EAAjC,CAAiC,CAAC,CAAC;QACjG,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,mBAAmB,EAAtC,CAAsC,CAAC,CAAC;QAC1G,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,2BAA2B,EAA9C,CAA8C,CAAC,CAAC;QAC1H,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,2BAA2B,EAA9C,CAA8C,CAAC,CAAC;QAC1H,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,YAAY,EAA/B,CAA+B,CAAC,CAAC;QAE9F,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,iBAAiB,CAAC,+BAA+B,EAAvE,CAAuE,CAAC,CAAC;YAC7J,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,gCAAgC,EAA/E,CAA+E,CAAC,CAAC;YACrK,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,sBAAsB,KAAK,KAAI,CAAC,iBAAiB,CAAC,OAAO,EAA5D,CAA4D,CAAC,CAAC;YAC7G,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAhE,CAAgE,CAAC,CAAC;YAE9H,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACxB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;oBAC7B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,uBAAuB,CAAC,EAAxE,CAAwE,CAAC,CAAC;iBAChJ;gBACD,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,EAArE,CAAqE,CAAC,CAAC;aAC3I;YACD,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,+CAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,kDAAmB,GAAnB,UAAoB,IAAI;QACtB,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,oDAAqB,GAArB;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;QAC9C,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,EAAE;YACpD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;QACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,EAAE;YACpD,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;SAClC;QACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,KAAK,EAAE;YAC9C,IAAI,CAAC,iCAAiC,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,SAAS,EAArB,CAAqB,CAAC,CAAC;YAC3G,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC,gCAAgC,GAAG,IAAI,CAAC;aAC9C;SACF;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAClC,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnH,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvH,IAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,IAAI,GAAG,IAAI,EAAE,EAAE;YACb,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACtD;QACD,IAAI,EAAE,IAAI,EAAE,EAAE;YACZ,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SAC5D;aACI,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAK,WAAW,EAAE;YACtH,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;SACzC;IACH,CAAC;IAED,8CAAe,GAAf;QACE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACzB;aAAM;YACL,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAClE,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC3D,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,IAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnH,IAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAClG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,IAAI,CAAC,2BAA2B,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;aACnE;iBAAM;gBACL,IAAI,CAAC,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;aACvD;SACF;IACH,CAAC;IAED,qDAAsB,GAAtB,UAAuB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QAC7C,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAClF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE;gBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;SACF;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAClF,6EAA6E;YAC7E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE;gBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;aAC3D;SACF;QACD,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC7F,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;gBACvH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACzC;iBAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,KAAK,EAAE;gBAClE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;oBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;iBAC5D;aACF;SACF;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC7F,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;gBACvH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACzC;iBAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,KAAK,EAAE;gBAClE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;oBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;iBAC5D;aACF;SACF;IACH,CAAC;IAED,0DAA2B,GAA3B,UAA4B,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK;QACzD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBAC7D,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACpG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;iBAC3D;aACF;YACD,IAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACvD,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;gBACvH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACzC;iBAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,KAAK,EAAE;gBAClE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACvE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;oBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;iBAC5D;aACF;SACF;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBAC7D,6EAA6E;gBAC7E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE;oBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;iBAC3D;aACF;YACD,IAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACzD,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;gBACzH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACzC;iBAAM,IAAI,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,KAAK,EAAE;gBACpE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACtE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;oBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;iBAC5D;aACF;SACF;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBAC7D,6EAA6E;gBAC7E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAChE,IAAI,KAAK,GAAG,CAAC,EAAE;oBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;iBAC3D;aACF;YAED,IAAI,KAAK,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,CAAC,EAAE;gBACzH,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACzC;iBAAM,IAAI,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,KAAK,EAAE;gBACpE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACzE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;oBACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;iBAC5D;aACF;SACF;IACH,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxG,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjK,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrI,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QACrF,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3F,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5G,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;YACvF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;YACjF,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;YACrE,IAAI,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE;gBACrD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpH;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;aACjF;YACD,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;YAC3F,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;SACpF;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,kDAAmB,GAAnB;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;YACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,gBAAgB,CAAC,aAAa,EAAxD,CAAwD,CAAC,CAAC;YACpH,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;SAE/F;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,EAAE;SACpC;IACH,CAAC;IAED,4CAAa,GAAb;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;iBACI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;iBACI;gBACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;YACD,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE;gBAC9F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sHAAsH,CAAC,CAAC;gBAC1I,OAAO;aACR;YACD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;YACrG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;YACnG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;YACrG,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;gBACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBACvE,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;iBAChH;aACF;YACD,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,UAAU,CAAC,8BAA8B,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;YAC1F,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC;YACjF,IAAI,CAAC,UAAU,CAAC,+BAA+B,GAAG,IAAI,CAAC,iCAAiC,CAAC,UAAU,CAAC;YACpG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE3B,IAAI,CAAC,UAAU,CAAC,2BAA2B,GAAG,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtJ,IAAI,CAAC,UAAU,CAAC,6BAA6B,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACvG,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxH,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3H,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;YAC7E,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxH,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,iBAAiB,CAAC;YACrF,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5H,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YACzH,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;YACvD,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,IAAI,CAAC;gBAC7C,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;gBACnE,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;gBAC/E,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC;aAChE;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;IACH,CAAC;IAED,sDAAuB,GAAvB;QAAA,iBAMC;QALC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,QAAQ;YAClE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED,gDAAiB,GAAjB;QACE,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;SACtD;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,EAAE,CAAC;SAC/B;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE;YAC3C,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAM,WAAW,UAAK,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,cAAS,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,QAAK,CAAC;SAC3I;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,EAAE,CAAC;SACxC;IACH,CAAC;IAED,4CAAa,GAAb;QAAA,iBAcC;QAbC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,UAAC,SAAc;YACpE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;gBACtB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBACvC,mEAAmE;gBACnE,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;gBAC/C,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC;iBACI;gBACH,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;aACxC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAiB,GAAjB;QACE,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpH,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,gCAAgC,GAAG,IAAI,CAAC,iCAAiC,CAAC,iBAAiB,CAAC;QAC5G,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACnF,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5C,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACxD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE;YAC3E,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxG,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SACnF;IACH,CAAC;IAED,gDAAiB,GAAjB;QACE,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,gCAAgC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,gDAAiB,GAAjB;QACE,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAAC;QACzF,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxH,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9H,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpH,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,gCAAgC,GAAG,CAAC,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC;QAC5C,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACxD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE;YAC3E,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxG,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;SACnF;IACH,CAAC;IAED,qCAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,gDAAiB,GAAjB;QACE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,kDAAmB,GAAnB;QACE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAEhC,CAAC;IACD,oDAAqB,GAArB;QACE,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAElC,CAAC;IAED,0CAAW,GAAX;QAAA,iBAqCC;QApCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;QACnD,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;SAClE;QACD,IAAI,CAAC,WAAW,CAAC,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC;QACrF,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,mBAAS;gBAChE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;oBACzB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,mBAAS;wBAC3K,KAAI,CAAC,aAAa,GAAG,SAAS,CAAC;wBAC/B,KAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;wBACjC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,KAAK,KAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,KAAI,CAAC,WAAW,CAAC,IAAI,EAA5H,CAA4H,CAAC,CAAC;wBAChM,KAAI,CAAC,sBAAsB,EAAE,CAAC;wBAC9B,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,KAAI,CAAC,gBAAgB,CAAC,KAAK,EAAxC,CAAwC,CAAC,CAAC;wBACvF,KAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC7B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,KAAK,KAAI,CAAC,gBAAgB,CAAC,IAAI,EAAtC,CAAsC,CAAC,CAAC;wBACnF,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;wBAClD,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;wBAClC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,aAAa,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,EAApD,CAAoD,CAAC,CAAC;wBAC3G,KAAI,CAAC,WAAW,CAAC,aAAa,GAAG,EAAE,CAAC;wBACpC,KAAI,CAAC,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;wBAC9B,KAAI,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;wBAC3B,KAAI,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC5B,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;wBAC/B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACpB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;oBACjE,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;iBACxC;YACH,CAAC,CAAC;SACH;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;IACH,CAAC;IACD,4CAAa,GAAb;QAAA,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,IAAI,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,mBAAS;gBACpE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;oBACzB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,KAAI,CAAC,UAAU,EAAE,KAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,mBAAS;wBAC3K,KAAI,CAAC,aAAa,GAAG,SAAS,CAAC;wBAC/B,KAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;wBACnC,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,KAAI,CAAC,aAAa,CAAC,KAAK,EAApC,CAAoC,CAAC,CAAC;wBAC3G,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;wBACpC,KAAI,CAAC,kBAAkB,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,KAAK,KAAK,KAAI,CAAC,aAAa,CAAC,KAAK,EAAtC,CAAsC,CAAC,CAAC;wBACjG,KAAI,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;wBAC9B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACpB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+BAA+B,EAAE,UAAU,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;iBACxC;YACH,CAAC,CAAC;SACH;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;IACH,CAAC;IAED,sDAAuB,GAAvB;QACE,IAAI,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACtD,IAAI,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACtD,IAAI,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACxD,IAAI,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC5D,IAAI,mBAAmB,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC1D,IAAI,qBAAqB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACjE,OAAO,iBAAiB,IAAI,iBAAiB,IAAI,kBAAkB,IAAI,oBAAoB,IAAI,mBAAmB,IAAI,qBAAqB,CAAC;IAC9I,CAAC;IAED,wDAAyB,GAAzB;QACE,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,4DAA6B,GAA7B;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,KAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,KAAI,CAAC,WAAW,CAAC,IAAI,EAA/H,CAA+H,CAAC,CAAC;YAC9L,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;gBACzF,OAAO,KAAK;aACb;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,wDAAyB,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,IAAI,CAAC,EAAE;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0DAA2B,GAA3B;QACE,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAAC,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,IAAI,CAAC,EAAE;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YAC7H,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wFAAwF,CAAC,CAAC;YAC5G,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qDAAsB,GAAtB;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAQ,IAAI,eAAQ,CAAC,aAAa,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,EAAzD,CAAyD,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACnI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,wDAAyB,GAAzB;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,oBAAU,IAAI,iBAAU,CAAC,KAAK,KAAK,KAAI,CAAC,aAAa,CAAC,KAAK,EAA7C,CAA6C,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC7H,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,wDAAyB,GAAzB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,qDAAsB,GAAtB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,sDAAuB,GAAvB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE;YAChC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,wDAAyB,GAAzB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YACjE,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,uDAAwB,GAAxB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YAC1C,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE;YACpC,OAAO,KAAK;SACb;QACD,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE;YACrC,OAAO,KAAK;SACb;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACrG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAC5F,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE;YAC7H,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE;YAC9O,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wDAAyB,GAAzB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,EAAE;YACrH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE;YACnD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;YACnH,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACpE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,EAAE;YAC9D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC;YACzJ,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE;YAC/E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;SAC3D;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,EAAE;YACxG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC5D;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAiB,GAAjB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACjC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;SACnC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;SAChC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACtC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC;SACxC;IACH,CAAC;IAED,uDAAwB,GAAxB;QACE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC5E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACvH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YAC3D,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,KAAK,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC9E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;gBAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,OAAO,KAAK,CAAC;aACd;SACF;QACD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACjD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,iDAAkB,GAAlB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;SACtC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;YACrC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;SACvC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YAC7C,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,SAAS,EAAE;YACpD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;SAC3C;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,SAAS,EAAE;YACnD,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE;YACxE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAAE;YAC1D,IAAI,OAAO,GAAG,mCAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC/F;aACI;YACH,IAAI,OAAO,GAAG,mCAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,mCAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACxE;IACH,CAAC;IAED,6CAAc,GAAd,UAAe,WAAW;QACxB,IAAI,EAAE,GAAG,WAAW,CAAC,KAAK,CAAC,iBAAiB,CAAC;QAC7C,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,IAAI,EAAE,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;IACxH,CAAC;IAED,wDAAyB,GAAzB,UAA0B,GAAG;QAC3B,IAAI,CAAC,mBAAmB,GAAG,GAAG,CAAC;IACjC,CAAC;;gBA5qC2B,sDAAM;gBAAoB,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IAjMzH,oBAAoB;QANhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,6MAA4C;YAE5C,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAkM4B,sDAAM,EAAoB,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OAjMzH,oBAAoB,CA+2ChC;IAAD,2BAAC;CAAA;AA/2CgC;;;;;;;;;;;;;ACbjC;AAAe,8GAA+C,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,0DAA0D,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,sDAAsD,wBAAwB,8BAA8B,4BAA4B,yBAAyB,wBAAwB,qBAAqB,yBAAyB,gCAAgC,mDAAmD,gCAAgC,uCAAuC,KAAK,mCAAmC,iCAAiC,yBAAyB,8BAA8B,KAAK,uCAAuC,iCAAiC,yBAAyB,6BAA6B,KAAK,oCAAoC,oCAAoC,2CAA2C,gCAAgC,gCAAgC,KAAK,2FAA2F,6CAA6C,gCAAgC,KAAK,4DAA4D,gCAAgC,8BAA8B,KAAK,0GAA0G,gCAAgC,2CAA2C,KAAK,gEAAgE,yCAAyC,6CAA6C,kCAAkC,KAAK,sCAAsC,+BAA+B,KAAK,gCAAgC,qCAAqC,KAAK,+EAA+E,iCAAiC,yBAAyB,gCAAgC,sBAAsB,KAAK,sDAAsD,sCAAsC,KAAK,gDAAgD,mDAAmD,KAAK,iCAAiC,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,kBAAkB,2BAA2B,KAAK,+CAA+C,gDAAgD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,+CAA+C,gDAAgD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,+CAA+C,gDAAgD,uDAAuD,SAAS,aAAa,uCAAuC,SAAS,KAAK,+CAA+C,+5L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/xG;AACxE;AACO;AACQ;AACd;AACT;AAQjC;IAqCE,8BAAoB,YAAyB,EAAU,MAAc,EAAS,OAA0B;QAApF,iBAAY,GAAZ,YAAY,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAS,YAAO,GAAP,OAAO,CAAmB;QApB9F,eAAU,GAAG,IAAI,0DAAY,EAAE,CAAC;QAChC,cAAS,GAAG,IAAI,0DAAY,EAAE,CAAC;QAC/B,qBAAgB,GAAG,IAAI,0DAAY,EAAE,CAAC;QAKhD,cAAS,GAAY,KAAK,CAAC;QAE3B,mBAAc,GAAG,EAAE,CAAC;QAEpB,UAAK,GAAG,cAAc,CAAC;QAIvB,YAAO,GAAG,EAAE,CAAC;QAGb,kBAAa,GAAY,KAAK,CAAC;QAE6E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAAA,CAAC;IAExI,uCAAQ,GAAR;QACE,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;QACD,IAAI,CAAC,WAAW,GAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,uDAAW,CAAC,QAAQ,CAAC,GAAG,UAAC,KAAK,EAAE,MAAM;YACpC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACnE,OAAO,IAAI,CAAC;aACb;YAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBACzC,OAAO,KAAK,CAAC;aACd;YAED,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,0CAAW,GAAX,UAAY,OAAsB;QAChC,IAAG,OAAO,CAAC,QAAQ,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;SAC3E;IACH,CAAC;IAED,kDAAmB,GAAnB,UAAoB,WAAW;QAC7B,OAAO,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAED,6CAAc,GAAd,UAAe,KAAU;QAAzB,iBAOC;QANC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,GAAQ;YAC7B,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,EAA5B,CAA4B,CAAC,GAAG,CAAC,CAAC;YAC/E,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,SAAS,GAAG,EAAE,OAAO,WAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAChD,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAc,GAAd,UAAe,KAAK,EAAE,MAAM;QAC1B,IAAI,SAAS,GAAG;YACd,KAAK,SAAE,MAAM;SACd,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,0CAAW,GAAX,UAAY,OAAY,EAAE,IAAI;QAC5B,IAAI,SAAS,GAAG,EAAC,OAAO,WAAE,IAAI,QAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,0CAAW,GAAX,UAAY,OAAY,EAAE,IAAI;QAC5B,IAAI,SAAS,GAAG,EAAC,OAAO,WAAE,IAAI,QAAC,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,+CAAgB,GAAhB,UAAiB,MAAM;QACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,6CAAc,GAAd,UAAe,SAAS;QACrB,IAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IAChB,CAAC;IAED,0CAAW,GAAX,UAAY,KAAK,EAAE,SAAS;QAC1B,IAAI,SAAS,GAAG;YACd,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;SAC1B,CAAC;QACF,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9B;iBACI;gBACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;aACpE;SACF;aAAM;YACL,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAE;oBACrB,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS,EAAE;wBAC9B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC/B;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;aACpE;SACF;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,2CAAY,GAAZ;QACE,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAM;YACzB,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,0CAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAA5E,CAA4E,CAAC,CAAC;QAC9H,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,CAAC;;gBA1GiC,qEAAW;gBAAkB,sDAAM;gBAAkB,6DAAiB;;IApC/F;QAAR,2DAAK,EAAE;;0DAAe;IACd;QAAR,2DAAK,EAAE;;0DAAe;IACd;QAAR,2DAAK,EAAE;;8DAAmB;IAClB;QAAR,2DAAK,EAAE;;0DAAe;IACd;QAAR,2DAAK,EAAE;;4DAAiB;IAChB;QAAR,2DAAK,EAAE;;0DAAe;IACd;QAAR,2DAAK,EAAE;;2DAAgB;IACf;QAAR,2DAAK,EAAE;;4DAAiB;IAChB;QAAR,2DAAK,EAAE;;4DAAiB;IAChB;QAAR,2DAAK,EAAE;;2DAAgB;IACf;QAAR,2DAAK,EAAE;;8DAAmB;IAClB;QAAR,2DAAK,EAAE;;4DAAiB;IAChB;QAAR,2DAAK,EAAE;;yDAAc;IACb;QAAR,2DAAK,EAAE;;6DAAkB;IACjB;QAAR,2DAAK,EAAE;;sDAAW;IAET;QAAT,4DAAM,EAAE;;4DAAiC;IAChC;QAAT,4DAAM,EAAE;;2DAAgC;IAC/B;QAAT,4DAAM,EAAE;;kEAAuC;IAnBrC,oBAAoB;QAPhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,6MAA4C;YAE5C,aAAa,EAAC,+DAAiB,CAAC,IAAI;;SACrC,CAAC;yCAuCkC,qEAAW,EAAkB,sDAAM,EAAkB,6DAAiB;OArC7F,oBAAoB,CAkJhC;IAAD,2BAAC;CAAA;AAlJgC;;;;;;;;;;;;;ACbjC;AAAe,0EAAW,2BAA2B,kBAAkB,gBAAgB,KAAK,+CAA+C,mZ;;;;;;;;;;;;;;;;;;;;;;;;ACAjG;AAO1C;IAAA;IAEA,CAAC;IAFY,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,wLAAqC;;SAEtC,CAAC;OACW,cAAc,CAE1B;IAAD,qBAAC;CAAA;AAF0B;;;;;;;;;;;;;ACP3B;AAAe,4EAAa,yBAAyB,0BAA0B,oBAAoB,KAAK,mDAAmD,+a;;;;;;;;;;;;;;;;;;;;;;;;ACAxG;AAOnD;IALA;QAME,gBAAW,GAAS,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAG/C,CAAC;IAFC,kCAAQ,GAAR;IACA,CAAC;IAHU,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,2LAAsC;;SAEvC,CAAC;OACW,eAAe,CAI3B;IAAD,sBAAC;CAAA;AAJ2B;;;;;;;;;;;;;ACP5B;AAAe,4EAAa,gCAAgC,OAAO,cAAc,2BAA2B,OAAO,mBAAmB,wBAAwB,yBAAyB,OAAO,iBAAiB,2BAA2B,OAAO,eAAe,yCAAyC,uBAAuB,OAAO,oLAAoL,kCAAkC,OAAO,gBAAgB,qBAAqB,0BAA0B,OAAO,+CAA+C,2yC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAvmB;AACT;AACe;AAQxD;IAYE,yBAAoB,MAAc,EAAU,OAAoB;QAAhE,iBAsBC;QAtBmB,WAAM,GAAN,MAAM,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAa;QAJhE,kBAAa,GAAG,GAAG,CAAC;QAGpB,gCAA2B,GAAG,KAAK,CAAC;QAElC,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,eAAK;YAC5C,KAAI,CAAC,cAAc,GAAG,CAAC,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,kBAAQ;YAC3C,KAAI,CAAC,WAAW,GAAG,CAAC,QAAQ,IAAI,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACrE,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,YAAE;YACzC,KAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACvB,CAAC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,YAAE;YACtC,KAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAI,CAAC,UAAU,IAAI,IAAI,IAAI,KAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,WAAW,IAAI,KAAI,CAAC,cAAc,CAAC,EAAE;gBACrG,KAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,cAAc,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;oBAC9H,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;oBACzC,IAAI,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,GAAG,EAAE;wBAC5D,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,EAAlF,CAAkF,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;qBACrK;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IAED,kCAAQ,GAAR;QAAA,iBAiBC;QAhBC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,SAAS,CAAC,kBAAQ;YAChD,KAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;YACnD,IAAI,KAAI,CAAC,iBAAiB,EAAE;gBAC1B,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;iBAAM;gBACL,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;aACpC;YACD,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI,CAAC,KAAI,CAAC,SAAS,EAAE;gBACnB,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aACtD;QACH,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YAC9B,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1E,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC3C;IACH,CAAC;IAED,oCAAU,GAAV,UAAW,KAAK;QACd,IAAI,CAAC,2BAA2B,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC7D,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;;gBA/C2B,sDAAM;gBAAmB,qEAAW;;IAZrD,eAAe;QAL3B,+DAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,2LAAsC;;SAEvC,CAAC;yCAa4B,sDAAM,EAAmB,qEAAW;OAZrD,eAAe,CA6D3B;IAAD,sBAAC;CAAA;AA7D2B;;;;;;;;;;;;;ACV5B;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,yBAAyB,0BAA0B,2BAA2B,wBAAwB,yBAAyB,qBAAqB,oBAAoB,KAAK,sDAAsD,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,0DAA0D,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,sDAAsD,wBAAwB,8BAA8B,4BAA4B,yBAAyB,wBAAwB,qBAAqB,yBAAyB,gCAAgC,mDAAmD,gCAAgC,uCAAuC,KAAK,qBAAqB,wBAAwB,KAAK,cAAc,sCAAsC,kCAAkC,0BAA0B,wBAAwB,2BAA2B,qBAAqB,mBAAmB,2BAA2B,KAAK,mCAAmC,iCAAiC,yBAAyB,8BAA8B,KAAK,oCAAoC,oCAAoC,2CAA2C,gCAAgC,gCAAgC,KAAK,2FAA2F,6CAA6C,gCAAgC,KAAK,4DAA4D,gCAAgC,8BAA8B,KAAK,0GAA0G,gCAAgC,2CAA2C,KAAK,gEAAgE,yCAAyC,6CAA6C,kCAAkC,KAAK,sCAAsC,+BAA+B,KAAK,gCAAgC,qCAAqC,KAAK,+EAA+E,iCAAiC,yBAAyB,gCAAgC,sBAAsB,KAAK,sDAAsD,sCAAsC,KAAK,gDAAgD,mDAAmD,KAAK,iCAAiC,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,kBAAkB,2BAA2B,KAAK,iDAAiD,qCAAqC,KAAK,qDAAqD,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,yDAAyD,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,qDAAqD,wBAAwB,8BAA8B,4BAA4B,yBAAyB,wBAAwB,qBAAqB,yBAAyB,gCAAgC,mDAAmD,gCAAgC,uCAAuC,KAAK,kCAAkC,iCAAiC,yBAAyB,8BAA8B,KAAK,sCAAsC,iCAAiC,yBAAyB,6BAA6B,KAAK,mCAAmC,oCAAoC,2CAA2C,gCAAgC,gCAAgC,KAAK,0FAA0F,6CAA6C,gCAAgC,KAAK,2DAA2D,gCAAgC,8BAA8B,KAAK,yGAAyG,gCAAgC,2CAA2C,KAAK,+DAA+D,yCAAyC,6CAA6C,kCAAkC,KAAK,qCAAqC,+BAA+B,sCAAsC,KAAK,+BAA+B,qCAAqC,oCAAoC,KAAK,8EAA8E,iCAAiC,yBAAyB,gCAAgC,sBAAsB,KAAK,qDAAqD,sCAAsC,KAAK,+CAA+C,mDAAmD,KAAK,gCAAgC,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,kBAAkB,2BAA2B,KAAK,2CAA2C,sCAAsC,KAAK,2CAA2C,mDAAmD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,2CAA2C,mDAAmD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,2CAA2C,mDAAmD,uDAAuD,SAAS,aAAa,uCAAuC,SAAS,KAAK,2CAA2C,oDAAoD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,2CAA2C,oDAAoD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,2CAA2C,oDAAoD,uDAAuD,SAAS,aAAa,uCAAuC,SAAS,KAAK,uRAAuR,oBAAoB,iDAAiD,yCAAyC,KAAK,uNAAuN,oBAAoB,iDAAiD,KAAK,+RAA+R,kCAAkC,KAAK,+NAA+N,kCAAkC,KAAK,qDAAqD,+BAA+B,4CAA4C,2SAA2S,iDAAiD,KAAK,+DAA+D,gEAAgE,oCAAoC,kCAAkC,SAAS,KAAK,6BAA6B,kCAAkC,2BAA2B,qBAAqB,2BAA2B,gCAAgC,KAAK,8JAA8J,iCAAiC,KAAK,6BAA6B,gCAAgC,6CAA6C,sCAAsC,gCAAgC,gCAAgC,KAAK,sEAAsE,+BAA+B,mCAAmC,KAAK,2BAA2B,iKAAiK,KAAK,+BAA+B,kCAAkC,qBAAqB,wBAAwB,sBAAsB,+BAA+B,+BAA+B,oCAAoC,sBAAsB,KAAK,2BAA2B,gBAAgB,uBAAuB,qBAAqB,wBAAwB,yBAAyB,+IAA+I,KAAK,6BAA6B,wBAAwB,qBAAqB,0BAA0B,wBAAwB,uBAAuB,OAAO,4BAA4B,yBAAyB,wBAAwB,yBAAyB,iJAAiJ,OAAO,eAAe,0CAA0C,uBAAuB,cAAc,eAAe,mBAAmB,qBAAqB,sBAAsB,KAAK,cAAc,6BAA6B,oBAAoB,sBAAsB,KAAK,oBAAoB,yBAAyB,KAAK,qBAAqB,qBAAqB,qBAAqB,KAAK,mBAAmB,gCAAgC,0BAA0B,KAAK,qBAAqB,iBAAiB,KAAK,iBAAiB,qBAAqB,KAAK,yBAAyB,wBAAwB,oJAAoJ,oDAAoD,8RAA8R,6CAA6C,6CAA6C,KAAK,gBAAgB,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,kBAAkB,2BAA2B,KAAK,kBAAkB,gCAAgC,yCAAyC,KAAK,qBAAqB,sBAAsB,yBAAyB,oBAAoB,KAAK,mDAAmD,+srB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAtmZ;AAC/B;AACO;AACQ;AACd;AACF;AACX;AACc;AACV;AACoE;AAErG,IAAM,UAAU,GAAG,iFAAiF,CAAC;AAErG,IAAM,eAAe,GAAG,OAAO,CAAC;AAQhC;IAuQE,uBAAoB,YAAyB,EAAU,MAAc,EAAU,OAA0B,EAAU,MAAqB;QAApH,iBAAY,GAAZ,YAAY,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QA9PxI,cAAS,GAAY,KAAK,CAAC;QAE3B,mBAAc,GAAG,EAAE,CAAC;QAEpB,UAAK,GAAG,uBAAuB,CAAC;QAEhC,aAAQ,GAAG,GAAG,CAAC;QACf,mBAAc,GAAG,GAAG,CAAC;QACrB,kBAAa,GAAG,GAAG,CAAC;QACpB,iBAAY,GAAG,GAAG,CAAC;QACnB,aAAQ,GAAG,GAAG,CAAC;QACf,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QAET,iBAAY,GAAG,EAAE,CAAC;QAGlB,gBAAW,GAAG,EAAE,CAAC;QACjB,OAAE,GAAG,IAAI,CAAC;QACV,uBAAkB,GAAG,KAAK,CAAC;QAC3B,qBAAgB,GAAG,KAAK,CAAC;QACzB,qBAAgB,GAAG,EAAE,CAAC;QACtB,kBAAa,GAAU,EAAE,CAAC;QAC1B,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAG,KAAK,CAAC;QACnB,aAAQ,GAAG,EAAE,CAAC;QAGd,kBAAa,GAAG,KAAK,CAAC;QAEtB,yBAAoB,GAAY,KAAK,CAAC;QACtC,0BAAqB,GAAY,KAAK,CAAC;QACvC,gBAAW,GAAG,EAAE,CAAC;QACjB,kBAAa,GAAG,EAAE,CAAC;QACnB,sBAAiB,GAAG,EAAE,CAAC;QAKvB,kBAAa,GAAY,KAAK,CAAC;QAG/B,yBAAoB,GAAY,KAAK,CAAC;QACtC,sBAAiB,GAAY,KAAK,CAAC;QACnC,aAAQ,GAAG,EAAE,CAAC;QACd,oBAAe,GAAY,KAAK,CAAC;QACjC,eAAU,GAAG,EAAE,CAAC;QAChB,yBAAoB,GAAY,KAAK,CAAC;QACtC,+BAA0B,GAAY,KAAK,CAAC;QAC5C,mBAAc,GAAG,EAAE,CAAC;QACpB,eAAU,GAAY,KAAK,CAAC;QAC5B,yBAAoB,GAAY,KAAK,CAAC;QACtC,qBAAgB,GAAG;YACjB;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,0BAA0B;gBACjC,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,iBAAiB;gBACxB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,kBAAkB;gBACzB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,0BAA0B;gBACjC,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,eAAe;gBACtB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,gBAAgB;gBACvB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,kBAAkB;gBAC1B,KAAK,EAAE,cAAc;gBACrB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,cAAc;gBACrB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,sBAAsB;gBAC7B,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,gBAAgB;gBACvB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,yBAAyB;gBACjC,KAAK,EAAE,yBAAyB;gBAChC,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,gBAAgB;gBACxB,KAAK,EAAE,6BAA6B;gBACpC,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,mBAAmB;gBAC1B,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,+BAA+B;gBACtC,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,0BAA0B;gBAClC,KAAK,EAAE,MAAM;gBACb,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,mCAAmC;gBAC3C,KAAK,EAAE,6BAA6B;gBACpC,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,6CAA6C;gBACrD,KAAK,EAAE,gCAAgC;gBACvC,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,qCAAqC;gBAC7C,KAAK,EAAE,+BAA+B;gBACtC,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,+CAA+C;gBACvD,KAAK,EAAE,kCAAkC;gBACzC,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,kBAAkB;gBACzB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,mBAAmB;gBAC1B,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,iBAAiB;gBACxB,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,mBAAmB;gBAC3B,KAAK,EAAE,mBAAmB;gBAC1B,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,2BAA2B;gBACnC,KAAK,EAAE,sBAAsB;gBAC7B,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,oBAAoB;gBAC5B,KAAK,EAAE,oBAAoB;gBAC3B,SAAS,EAAE,KAAK;aACjB;YACD;gBACE,MAAM,EAAE,4BAA4B;gBACpC,KAAK,EAAE,uBAAuB;gBAC9B,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,+BAA+B;gBACvC,KAAK,EAAE,cAAc;gBACrB,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,kDAAkD;gBAC1D,KAAK,EAAE,mBAAmB;gBAC1B,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,8CAA8C;gBACtD,KAAK,EAAE,UAAU;gBACjB,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,gDAAgD;gBACxD,KAAK,EAAE,WAAW;gBAClB,SAAS,EAAE,IAAI;aAChB;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,mBAAmB;gBAC1B,SAAS,EAAE,IAAI;aAChB;SACF;QAED,yBAAoB,GAAG;YACrB;gBACE,MAAM,EAAE,MAAM;gBACd,KAAK,EAAE,0BAA0B;aAClC;YACD;gBACE,MAAM,EAAE,iBAAiB;gBACzB,KAAK,EAAE,iBAAiB;aACzB;YACD;gBACE,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,iBAAiB;aACzB;YACD;gBACE,MAAM,EAAE,aAAa;gBACrB,KAAK,EAAE,kBAAkB;aAC1B;YACD;gBACE,MAAM,EAAE,SAAS;gBACjB,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,cAAc;aACtB;YACD;gBACE,MAAM,EAAE,WAAW;gBACnB,KAAK,EAAE,gBAAgB;aACxB;SACF;QACD,yBAAoB,GAAY,KAAK,CAAC;QACtC,0BAAqB,GAAY,KAAK,CAAC;QAMvC,uBAAkB,GAAY,KAAK,CAAC;QAEpC,8BAAyB,GAAG,CAAC,CAAC;QAG5B,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,cAAM,YAAK,EAAL,CAAK,CAAC;IAChE,CAAC;IAED,gCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE;YACpD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;SAC5D;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,aAAa,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;QACvD,uDAAW,CAAC,QAAQ,CAAC,GAAG,UAAC,KAAK,EAAE,MAAM;YACpC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACnE,OAAO,IAAI,CAAC;aACb;YAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBACzC,OAAO,KAAK,CAAC;aACd;YAED,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,wCAAgB,GAAhB;QACE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5H,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,IAAI,CAAC,UAAU,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACrI,CAAC;IAED,qCAAa,GAAb;QACE,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,QAAQ,IAAI,CAAC,EAAE,EAAE;YACf,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAAC,MAAM;YACrP,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,MAAM;YACxD,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,MAAM;YACxD,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAAC,MAAM;YACrP;gBAAS,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,MAAM;SACvD;IACH,CAAC;IAED,oCAAY,GAAZ;QAEE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,GAAG,EAAE;YACxG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;SAClF;aAAM;YACL,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;SACxF;IACH,CAAC;IAED,uCAAe,GAAf,UAAgB,MAAM;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IACD,yCAAiB,GAAjB;QAAA,iBAKC;QAJC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,UAAC,QAAa;YAC/G,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,oCAAY,GAAZ,UAAa,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,2CAAmB,GAAnB;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAED,mCAAW,GAAX,UAAY,SAAS;QAArB,iBA+CC;QA9CO,+BAAO,EAAE,qBAAI,CAAe;QAClC,IAAI,IAAI,IAAI,QAAQ,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBAC7F,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC1C,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC;YACF,OAAO,CAAC,CAAC;SACV;QACD,IAAI,IAAI,IAAI,YAAY,EAAE;YACxB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,MAAW;gBACpC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,EAAjC,CAAiC,CAAC,CAAC,SAAS,CAAC;YAChG,CAAC,CAAC;YACF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,OAAO,CAAC,CAAC;SACV;QACD,IAAI,IAAI,IAAI,OAAO,EAAE;YACnB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;gBACnC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;gBAC3C,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,wBAAwB,EAAE,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBACpM,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC,CAAC;YACF,OAAO,CAAC,CAAC;SACV;QACD,IAAI,IAAI,IAAI,mBAAmB,EAAE;YAC/B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;gBACnC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;gBAC3C,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,YAAY,CAAC,8BAA8B,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,wBAAwB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBACnK,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC,CAAC;YACF,OAAO,CAAC,CAAC;SACV;QACD,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,EAAE;YACrC,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,cAAc,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,QAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;SAChI;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,QAAE,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC;SACpJ;IACH,CAAC;IAED,kCAAU,GAAV,UAAW,SAAS;QACZ,2BAAK,EAAE,yBAAM,CAAe;QAClC,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,MAAM,EAAvB,CAAuB,CAAC,CAAC;aACjF;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;SACF;aAAM;YACL,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;oBAC5B,IAAI,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE;wBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;qBAClB;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,QAAQ,GAAG;oBACb,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,KAAK;iBACb,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9B,IAAI,MAAI,GAAG,IAAI,CAAC,eAAe,CAAC;YAChC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;gBAC5B,MAAI,GAAG,MAAI,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAA/D,CAA+D,CAAC,CAAC;YAC5F,CAAC,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,MAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;SACtE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,GAAG,CAAC,EAAE;YAC5H,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,IAAI,UAAU,EAArB,CAAqB,CAAC,CAAC;SACrD;aAAM;YACL,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;SAClB;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,kBAAgB,WAAa,EAAE,QAAQ,EAAE,IAAI,CAAC;IAC1F,CAAC;IAED,wCAAgB,GAAhB;QACE,IAAI,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,6CAA6C,EAA3D,CAA2D,CAAC,CAAC;QAC/H,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,+CAA+C,EAA7D,CAA6D,CAAC,CAAC;QAChI,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,2BAA2B,EAAzC,CAAyC,CAAC,CAAC;QAC5G,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,4BAA4B,EAA1C,CAA0C,CAAC,CAAC;QAC7G,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,+BAA+B,EAA7C,CAA6C,CAAC,CAAC;QAChH,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,kDAAkD,EAAhE,CAAgE,CAAC,CAAC;QACnI,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,8CAA8C,EAA5D,CAA4D,CAAC,CAAC;QAC/H,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,gDAAgD,EAA9D,CAA8D,CAAC,CAAC;QACjI,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,UAAU,EAAxB,CAAwB,CAAC,CAAC;QAE3F,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACzE,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC1B,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;YACjB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAC/E,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAG;YACjC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,oCAAoC,CAAC;QAC1D,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,wDAAgC,GAAhC;QACE,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC3D,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;YACnC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,iBAAO;gBACvC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE;oBAChC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;iBAC3B;YACH,CAAC,CAAC,CAAC;SACJ;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG;gBAClB,EAAE,0BAA0B,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE;aACxK,CAAC;SACH;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAE;gBAC1B,EAAE,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,CAAC,CAAC;SACH;QACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,EAAE,uBAAqB,WAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnH,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;IAC1C,CAAC;IAED,yCAAiB,GAAjB,UAAkB,IAAW,EAAE,aAAqB,EAAE,SAAiB,EAAE,YAAmB;;QAC1F,IAAI,WAAW,GAAU,YAAY,CAAC,GAAG,CAAC,eAAK,IAAI,YAAK,CAAC,KAAK,EAAX,CAAW,CAAC,CAAC;QAChE,IAAI,YAAY,GAAa,YAAY,CAAC,GAAG,CAAC,gBAAM,IAAI,aAAM,CAAC,MAAM,EAAb,CAAa,CAAC,CAAC;QACvE,IAAI,aAAa,GAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;;gBACnC,KAA0B,0BAAI,uEAAE;oBAA3B,IAAI,aAAa;oBACpB,IAAI,UAAU,GAAQ,EAAE,CAAC;;wBACzB,KAAuB,uDAAW,2GAAE;4BAA/B,IAAI,UAAU;4BACjB,UAAU,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;yBACpD;;;;;;;;;oBACD,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC5C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;iBAC5C;;;;;;;;;YACD,IAAM,SAAS,GAAmB,0CAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAI,KAAK,GAAG,0CAAU,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC3C,IAAI,OAAO,GAAG,0CAAU,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,iCAAiC;gBAC/E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAClC,SAAS,CAAC,OAAO,CAAC,GAAG;oBACnB,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClB,CAAC,EAAE,GAAG;oBACN,CAAC,EAAE;wBACD,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;wBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;qBACrB;iBACF,CAAC;aACH;YACD,0CAAU,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAM,QAAQ,GAAkB,EAAE,MAAM,YAAI,GAAC,SAAS,IAAG,SAAS,KAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAChG,IAAM,WAAW,GAAQ,0CAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SAClD;IAEH,CAAC;IAED,uCAAe,GAAf,UAAgB,MAAW,EAAE,QAAgB;QAC3C,IAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5D,iDAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,6CAAqB,GAArB,UAAsB,YAAY;QAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,gBAAE,EAAE,EAAE,CAAC;IAC7G,CAAC;IAED,+CAAuB,GAAvB;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAClG,CAAC;IAED,mCAAW,GAAX,UAAY,KAAK;QACf,QAAQ,KAAK,CAAC,KAAK,EAAE;YACnB,KAAK,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBAAC,MAAM;YAC/I,KAAK,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAAC,MAAM;YACrJ,KAAK,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAAC,MAAM;YACrJ,KAAK,CAAC;gBAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAAC,MAAM;YACpJ,KAAK,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAAC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;gBAAC,MAAM;SACrI;IACH,CAAC;IACD,sCAAc,GAAd,UAAe,QAAQ;QAAvB,iBAyCC;QAxCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,cAAI;YACxF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACpB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;gBACrC,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC3C,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,eAAe,EAAnB,CAAmB,CAAC,CAAC;gBACzD,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,EAAE;oBACtC,KAAI,CAAC,QAAQ,EAAE,CAAC;iBACjB;gBACD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,IAAI,GAAG,CAAC,eAAe,EAAlC,CAAkC,CAAC,CAAC,CAAC,CAAC;gBAC5G,IAAI,KAAI,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,EAAE;oBACvF,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,mBAAmB,EAAlC,CAAkC,CAAC,CAAC;iBACzF;gBACD,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,EAAT,CAAS,CAAC,CAAC,CAAC,CAAC;gBAC/E,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,KAAK,KAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,KAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,KAAI,CAAC,IAAI,EAAE;oBAC9E,KAAI,CAAC,yBAAyB,EAAE,CAAC;iBAClC;gBACD,IAAI,QAAQ,KAAK,KAAI,CAAC,IAAI,EAAE;oBAC1B,KAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;gBAED,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,EAAE;oBACtC,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAG;wBAC9B,IAAI,GAAG,CAAC,cAAc,KAAK,KAAK,EAAE;4BAChC,GAAG,CAAC,2BAA2B,GAAG,EAAE,CAAC;yBACtC;oBACH,CAAC,CAAC;iBACH;gBACD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACrE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAQ,GAAR;QAAA,iBAMC;QALC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAI;YACpB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,+BAA+B,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,EAAE;gBACrM,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAA0B,GAA1B,UAA2B,QAAQ;QACjC,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE;YAC9E,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;QACD,IAAI,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE;YAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;IACH,CAAC;IAED,mCAAW,GAAX,UAAY,aAAa,EAAE,QAAQ;QAAnC,iBA6CC;QA5CC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC3J,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,KAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;gBACrC,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAC3C,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,eAAe,EAAnB,CAAmB,CAAC,CAAC;gBAGzD,IAAI,CAAC,CAAC,aAAa,KAAK,GAAG,IAAI,CAAC,KAAI,CAAC,aAAa,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;oBACrE,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,KAAK,KAAK,uBAAuB,EAArC,CAAqC,CAAC,CAAC;iBAC5E;gBAED,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,EAAE;oBACtC,KAAI,CAAC,QAAQ,EAAE,CAAC;iBACjB;gBAED,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,OAAO,IAAI,GAAG,CAAC,eAAe,EAAlC,CAAkC,CAAC,CAAC,CAAC,CAAC;gBAC5G,IAAI,KAAI,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,EAAE;oBACvF,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,KAAK,mBAAmB,EAAlC,CAAkC,CAAC,CAAC;iBACzF;gBACD,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,EAAT,CAAS,CAAC,CAAC,CAAC,CAAC;gBAC/E,KAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;gBAC1C,IAAI,aAAa,KAAK,GAAG,EAAE;oBACzB,KAAI,CAAC,kBAAkB,EAAE,CAAC;iBAC3B;gBACD,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,EAAE;oBACtC,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAG;wBAC9B,IAAI,GAAG,CAAC,cAAc,KAAK,KAAK,EAAE;4BAChC,GAAG,CAAC,2BAA2B,GAAG,EAAE,CAAC;yBACtC;oBACH,CAAC,CAAC;iBACH;gBACD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC;gBACrE,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC;IACJ,CAAC;IAED,iDAAyB,GAAzB;QAAA,iBAYC;QAXC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC;QAC9D,IAAI,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE;YACpD,IAAI,SAAS,GAAG;gBACd,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAC3E,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAA7D,CAA6D,CAAC;aACzG;YACD,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE;gBAC7D,SAAS,CAAC,IAAI,GAAG,MAAM,CAAC;aACzB;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,6CAAqB,GAArB;QAAA,iBASC;QARC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC;QAChE,IAAI,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE;YACpD,IAAI,SAAS,GAAG;gBACd,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,aAAa,KAAK,MAAM,CAAC,IAAI,CAAC,KAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAhE,CAAgE,CAAC;aAC5G;YACD,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,0CAAkB,GAAlB;QAAA,iBAQC;QAPC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAG;YAC9B,IAAI,KAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC3D,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC7B;iBAAM;gBACL,GAAG,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC9B;QACH,CAAC,CAAC;IACJ,CAAC;IAED,2CAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,wCAAgB,GAAhB;QACE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,EAAE;YAC7I,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;aACI,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;YAC1E,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;aACI;YACH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,+CAA+C,EAAE,UAAU,CAAC,CAAC;SAClF;IACH,CAAC;IAED,2CAAmB,GAAnB;QACE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,mCAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;YACjG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SAC1G;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yGAAyG,EAAE,UAAU,CAAC,CAAC;SAC5I;IACH,CAAC;IAED,2CAAmB,GAAnB;QACE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,IAAI,mCAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE;YACjJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,0BAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;SAC3G;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6GAA6G,EAAE,UAAU,CAAC,CAAC;SAChJ;IACH,CAAC;IAED,wCAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,2CAAmB,GAAnB;QAAA,iBAIC;QAHC,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAhD,CAAgD,CAAC,CAAC;SACjG;IACH,CAAC;IAED,6CAAqB,GAArB;QAAA,iBAIC;QAHC,IAAI,IAAI,CAAC,kBAAkB,EAAE;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,KAAK,KAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAA9C,CAA8C,CAAC,CAAC;SACjG;IACH,CAAC;IAED,2CAAmB,GAAnB;QAAA,iBAmBC;QAlBC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC1E,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACtC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,SAAS,CAAC;gBAClC,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC;gBACpC,IAAI,CAAC,KAAI,CAAC,SAAS,EAAE;oBACnB,KAAI,CAAC,oBAAoB,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAAvB,CAAuB,CAAC,CAAC;oBAC9E,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,MAAM,IAAI,KAAI,CAAC,MAAM,EAAvB,CAAuB,CAAC,CAAC;iBAC1E;gBACD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;aACnC;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAqB,GAArB;QACE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,wCAAgB,GAAhB;QAAA,iBAkBC;QAjBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACnF,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACnE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACrG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAClF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;gBACnC,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE;YACvI,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QACD,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC,EAAE;YACxI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,yGAAyG,EAAE,UAAU,CAAC,CAAC;SAC5I;QACD,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE;YACjE,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;QACD,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,4GAA4G,EAAE,UAAU,CAAC,CAAC;SAC/I;IACH,CAAC;IAED,mCAAW,GAAX;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrD,CAAC;IAED,0CAAkB,GAAlB,UAAmB,YAAY;QAA/B,iBA6BC;QA5BC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACrG,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBAClD,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,eAAe,EAAlB,CAAkB,CAAC,CAAC;gBACrE,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,iBAAiB,EAA9B,CAA8B,CAAC,CAAC;gBACjF,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,yBAAyB,EAAtC,CAAsC,CAAC,CAAC;gBACzF,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,cAAc,EAA3B,CAA2B,CAAC,CAAC;gBAC9E,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,iBAAiB,EAA9B,CAA8B,CAAC,CAAC;gBACjF,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,cAAc,EAA3B,CAA2B,CAAC,CAAC;gBAC9E,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,eAAe,EAA7B,CAA6B,CAAC,CAAC;gBAChF,KAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;oBAClE,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,EAAE,EAAE,KAAK;wBAClC,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;oBACvE,CAAC,CAAC,CAAC;iBACJ;gBACD,IAAI,YAAY,KAAK,CAAC,EAAE;oBACtB,KAAI,CAAC,YAAY,CAAC,OAAO,CAAC,UAAC,EAAE,EAAE,KAAK;wBAClC,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAC1E,CAAC,CAAC,CAAC;iBACJ;aACF;iBAAM;gBACL,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC;IACJ,CAAC;IAED,wCAAgB,GAAhB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,CAAC,IAAI,mCAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAhE,CAAgE,CAAC,CAAC;QAC5G,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,0CAAkB,GAAlB;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,CAAC,IAAI,mCAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,EAAxD,CAAwD,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC,MAAM,CAAC;IACtB,CAAC;IAED,sCAAc,GAAd,UAAe,YAAY,EAAE,YAAY,EAAE,MAAM;QAAjD,iBAqBC;QApBC,IAAI,UAAU,CAAC;QACf,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAChF,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;oBAClE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACzE;gBACD,IAAI,YAAY,KAAK,CAAC,EAAE;oBACtB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACvE;gBACD,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAClC,IAAI,KAAI,CAAC,YAAY,CAAC,MAAM,KAAK,KAAI,CAAC,WAAW,CAAC,MAAM,EAAE;oBACxD,KAAI,CAAC,kBAAkB,GAAG,CAAC,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAChH;aACF;iBAAM;gBACL,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC;IACJ,CAAC;IAED,iDAAyB,GAAzB;QACE,IAAI,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1E,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,iBAAiB,EAA/B,CAA+B,CAAC,CAAC;QAC/F,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,kBAAkB,EAAhC,CAAgC,CAAC,CAAC;QAChG,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,UAAU,EAAxB,CAAwB,CAAC,CAAC;QACxF,sBAAsB,GAAG,sBAAsB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,MAAM,IAAI,eAAe,EAA7B,CAA6B,CAAC,CAAC;QAC7F,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ,GAAG,iBAAiB,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,yBAAyB,CAAC;QAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,8CAAsB,GAAtB;QACE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,6CAAqB,GAArB,UAAsB,OAAO;QAC3B,IAAI,IAAI,CAAC,QAAQ,KAAK,iBAAiB,EAAE;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;gBACzB,IAAI,EAAE,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,IAAI,cAAc,EAAE;oBACzF,EAAE,CAAC,YAAY,GAAG,mCAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;iBAChE;YACH,CAAC,CAAC;SACH;aAAM;YACL,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;SACtC;IACH,CAAC;IAED,8CAAsB,GAAtB,UAAuB,OAAO;QAC5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;YACzB,IAAI,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,cAAc,EAAE;gBACjE,EAAE,CAAC,IAAI,GAAG,mCAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAChD;QACH,CAAC,CAAC;IACJ,CAAC;IAED,gDAAwB,GAAxB;QAAA,iBAeC;QAdC,IAAI,IAAI,CAAC,QAAQ,KAAK,iBAAiB,EAAE;YACvC,IAAI,yBAAuB,GAAG,KAAK,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;gBACzB,IAAI,CAAC,CAAC,EAAE,CAAC,YAAY,IAAI,IAAI,IAAI,EAAE,CAAC,YAAY,IAAI,EAAE,IAAI,EAAE,CAAC,YAAY,IAAI,cAAc,CAAC,EAAE;oBAC5F,yBAAuB,GAAG,IAAI,CAAC;oBAC/B,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAO,EAAE,CAAC,wBAAwB,+BAA4B,EAAE,SAAS,CAAC,CAAC;iBAChG;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,yBAAuB,EAAE;gBAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC3B;SACF;aAAM;YACL,IAAI,CAAC,0BAA0B,EAAE,CAAC;SACnC;IACH,CAAC;IAED,kDAA0B,GAA1B;QAAA,iBAWC;QAVC,IAAI,0BAA0B,GAAG,KAAK,CAAC;QACvC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;YACzB,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,cAAc,CAAC,EAAE;gBACpE,0BAA0B,GAAG,IAAI,CAAC;gBAClC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAO,EAAE,CAAC,wBAAwB,0CAAuC,EAAE,SAAS,CAAC,CAAC;aAC3G;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,0BAA0B,EAAE;YAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,0CAAkB,GAAlB;QACE,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC3D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,sBAAoB,WAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxG,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,2CAAmB,GAAnB;QACE,IAAI,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,6CAA6C,EAA3D,CAA2D,CAAC,CAAC;QAC/H,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,+CAA+C,EAA7D,CAA6D,CAAC,CAAC;QAChI,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,2BAA2B,EAAzC,CAAyC,CAAC,CAAC;QAC5G,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,MAAM,KAAK,4BAA4B,EAA1C,CAA0C,CAAC,CAAC;QAC7G,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC3D,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACpE,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC1B,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC;YACjB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC;QACV,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE;YAClC,KAAK,GAAG,oBAAkB,WAAa,CAAC;SACzC;aAAM,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,EAAE;YACzC,KAAK,GAAG,oBAAkB,WAAa,CAAC;SACzC;QACD,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE,wBAAwB,CAAC,CAAC;QACpF,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,kCAAU,GAAV;QAAA,iBAqDC;QApDC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;YAC9B,EAAE,CAAC,YAAY,GAAG,EAAE,CAAC;YACrB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC;YACjB,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC;YAClB,EAAE,CAAC,IAAI,GAAG,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzC,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC1B,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC1B,EAAE,CAAC,iBAAiB,GAAG,KAAK,CAAC;YAC7B,QAAQ,KAAI,CAAC,oBAAoB,EAAE;gBACjC,KAAK,CAAC;oBAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC;oBAClC,EAAE,CAAC,8BAA8B,GAAG,EAAE,CAAC,2BAA2B,CAAC;oBACnE,EAAE,CAAC,gCAAgC,GAAG,EAAE,CAAC,6BAA6B,CAAC;oBACvE,EAAE,CAAC,oBAAoB,GAAG,EAAE,CAAC,iBAAiB;oBAC9C,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC,kBAAkB,CAAC;oBACjD,EAAE,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBAChC,MAAM;gBACR,KAAK,CAAC;oBAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC;oBAClC,EAAE,CAAC,gCAAgC,GAAG,EAAE,CAAC,6BAA6B,CAAC;oBACvE,EAAE,CAAC,oBAAoB,GAAG,EAAE,CAAC,iBAAiB,CAAC;oBAC/C,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC,kBAAkB,CAAC;oBACjD,EAAE,CAAC,aAAa,GAAG,EAAE,CAAC;oBACtB,EAAE,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBAChC,MAAM;gBACR,KAAK,CAAC;oBAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,aAAa,CAAC;oBACrC,EAAE,CAAC,0BAA0B,GAAG,EAAE,CAAC,uBAAuB,CAAC;oBAC3D,EAAE,CAAC,sBAAsB,GAAG,EAAE,CAAC,mBAAmB,CAAC;oBACnD,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC;oBACzB,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC;oBAC9B,MAAM;gBACR,KAAK,CAAC;oBAAE,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,UAAU,CAAC;oBAClC,EAAE,CAAC,8BAA8B,GAAG,EAAE,CAAC,2BAA2B,CAAC;oBACnE,EAAE,CAAC,gCAAgC,GAAG,EAAE,CAAC,6BAA6B,CAAC;oBACvE,EAAE,CAAC,oBAAoB,GAAG,EAAE,CAAC,iBAAiB;oBAC9C,EAAE,CAAC,qBAAqB,GAAG,EAAE,CAAC,kBAAkB,CAAC;oBACjD,EAAE,CAAC,qBAAqB,GAAG,IAAI,CAAC;oBAChC,KAAI,CAAC,oBAAoB,GAAG,CAAC;oBAC7B,MAAM;gBACR,OAAO,CAAC,CAAC,MAAM;aAChB;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;YACtE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;aAC7D;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;aAC9B;SACF;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;SAC/B;IACH,CAAC;IAED,0CAAkB,GAAlB;QACE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;SAC7D;aAAM;YACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;SACnC;IACH,CAAC;IAED,uCAAe,GAAf;QACE,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;SAC7D;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;SAC9B;IACH,CAAC;IAED,6CAAqB,GAArB;QACE,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;IAC1C,CAAC;IAID,gDAAwB,GAAxB,UAAyB,OAAY;QACnC,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,4BAA4B,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,IAAI,EAAE;YAC5G,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,OAAO,CAAC,cAAc,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,KAAK,CAAC;aACd;YACD,IAAI,QAAQ,GAAG,OAAO,CAAC,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SAC/C;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;IAEH,CAAC;IAED,6CAAqB,GAArB,UAAsB,OAAO,EAAE,QAAQ;QAAvC,iBAwBC;QAvBC,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,cAAc,EACzF,OAAO,CAAC,sBAAsB,EAAE,QAAQ,EAAE,OAAO,CAAC,+BAA+B,EACjF,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC9D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;oBAC9B,IAAI,EAAE,CAAC,wBAAwB,KAAK,OAAO,CAAC,wBAAwB,EAAE;wBACpE,EAAE,CAAC,2BAA2B,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAClE,KAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;qBACrC;gBACH,CAAC,CAAC,CAAC;aACJ;iBACI;gBACH,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;oBAC9B,IAAI,EAAE,CAAC,wBAAwB,KAAK,OAAO,CAAC,wBAAwB,EAAE;wBACpE,EAAE,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAC;qBACtE;gBACH,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6CAAqB,GAArB,UAAsB,OAAO;QAC3B,IAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC/D,IAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACtE,IAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,IAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/E,IAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC;QAC1D,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAChE,IAAI,cAAmB,CAAC;QACxB,IAAI,OAAO,CAAC,YAAY,IAAI,EAAE,IAAI,OAAO,CAAC,iBAAiB,IAAI,EAAE,EAAE;YACjE,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;SAC7F;aACI;YACH,cAAc,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACjE;QACD,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,mDAA2B,GAA3B,UAA4B,OAAY,EAAE,EAAO,EAAE,QAAa,EAAE,EAAO,EAAE,EAAO,EAAE,KAAU,EAAE,EAAO;QACrG,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAE,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;YACvF,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjG,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SAC5G;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE;YACtF,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvE,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtE,6GAA6G;SAC9G;QACD,IAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,WAAW,IAAI,OAAO,CAAC,cAAc,KAAK,WAAW,CAAC,EAAE;YACtI,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;YAC3F,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACzG;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,oDAA4B,GAA5B,UAA6B,OAAY,EAAE,EAAO;QAChD,IAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,WAAW,IAAI,OAAO,CAAC,cAAc,KAAK,WAAW,CAAC,EAAE;YACtI,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;SACtC;aAAM,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,OAAO,CAAC,cAAc,KAAK,KAAK,EAAE;YAC3F,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACzG;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gDAAwB,GAAxB,UAAyB,OAAY;QAArC,iBAcC;QAbC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;YAC9B,IAAI,EAAE,CAAC,wBAAwB,KAAK,OAAO,CAAC,wBAAwB,EAAE;gBACpE,EAAE,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC1D,EAAE,CAAC,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;gBAC5D,EAAE,CAAC,qBAAqB,GAAG,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,KAAI,CAAC,EAAE,IAAI,IAAI,IAAI,KAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,cAAc,IAAI,KAAK,EAAE;oBACtE,EAAE,CAAC,qBAAqB,GAAG,IAAI,CAAC;iBACjC;gBACD,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE;oBAC7B,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;iBAC1D;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAqB,GAArB,UAAsB,OAAO;QAC3B,IAAI,OAAO,CAAC,YAAY,IAAI,EAAE,IAAI,OAAO,CAAC,iBAAiB,IAAI,EAAE,IAAI,OAAO,CAAC,QAAQ,EAAE;YACrF,IAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACzD,IAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC7C,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE;gBACtC,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACjF,IAAI,OAAO,CAAC,cAAc,KAAK,IAAI,EAAE;oBACnC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7H;qBAAM;oBACL,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;iBAC7H;aACF;YACD,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC;SAC/C;IACH,CAAC;IAED,uDAA+B,GAA/B,UAAgC,OAAO;QAAvC,iBAWC;QAVC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;YAC9B,IAAI,EAAE,CAAC,wBAAwB,KAAK,OAAO,CAAC,wBAAwB,EAAE;gBACpE,EAAE,CAAC,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;gBAC9D,EAAE,CAAC,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpC,EAAE,CAAC,mBAAmB,GAAG,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC/D,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE;oBAC3B,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;iBAC1D;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAc,GAAd,UAAe,KAAK,EAAE,OAAO;QAC3B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;YAC9B,IAAI,EAAE,CAAC,wBAAwB,KAAK,OAAO,CAAC,wBAAwB,EAAE;gBACpE,EAAE,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,wCAAgB,GAAhB;QAAA,iBAuBC;QAtBC,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAG,IAAI,QAAC,GAAG,CAAC,iBAAiB,EAAtB,CAAsB,CAAC,CAAC;QACxE,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,QAAQ,CAAC,CAAC;YAC3D,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;YAC9B,cAAc,CAAC,IAAI,CAAC,KAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACjG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAC1C,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,KAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;gBAC3B,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC;aAC5D;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC;IACJ,CAAC;IAED,2CAAmB,GAAnB,UAAoB,EAAO;QACzB,QAAQ,IAAI,CAAC,oBAAoB,EAAE;YACjC,KAAK,CAAC,CAAC,CAAC,OAAO;gBACb,UAAU,EAAE,EAAE,CAAC,QAAQ;gBACvB,MAAM,EAAE,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACtC,6BAA6B,EAAE,EAAE,CAAC,8BAA8B;gBAChE,+BAA+B,EAAE,EAAE,CAAC,gCAAgC;gBACpE,yBAAyB,EAAE,CAAC;gBAC5B,mBAAmB,EAAE,CAAC;gBACtB,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;gBACvC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAC/B,0BAA0B,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1E,yBAAyB,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3E,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACjD,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,UAAU,EAAE,EAAE,CAAC,iBAAiB;gBAChC,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,EAAE,CAAC,IAAI;aACzB,CAAC;YACF,KAAK,CAAC,CAAC,CAAC,OAAO;gBACb,UAAU,EAAE,EAAE,CAAC,QAAQ;gBACvB,MAAM,EAAE,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACtC,6BAA6B,EAAE,EAAE,CAAC,2BAA2B;gBAC7D,+BAA+B,EAAE,EAAE,CAAC,gCAAgC;gBACpE,yBAAyB,EAAE,CAAC;gBAC5B,mBAAmB,EAAE,EAAE,CAAC,oBAAoB;gBAC5C,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;gBACvC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAC/B,0BAA0B,EAAE,CAAC;gBAC7B,yBAAyB,EAAE,CAAC;gBAC5B,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACjD,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,UAAU,EAAE,EAAE,CAAC,iBAAiB;gBAChC,eAAe,EAAE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC;gBACzC,eAAe,EAAE,EAAE,CAAC,IAAI;gBACxB,gBAAgB,EAAG,CAAC,IAAI,CAAC,aAAa;aACvC,CAAC;YACF,KAAK,CAAC,CAAC,CAAC,OAAO;gBACb,UAAU,EAAE,EAAE,CAAC,QAAQ;gBACvB,MAAM,EAAE,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACtC,6BAA6B,EAAE,CAAC;gBAChC,+BAA+B,EAAE,CAAC;gBAClC,yBAAyB,EAAE,EAAE,CAAC,0BAA0B;gBACxD,mBAAmB,EAAE,CAAC;gBACtB,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;gBACvC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;gBAC/B,0BAA0B,EAAE,CAAC;gBAC7B,yBAAyB,EAAE,CAAC;gBAC5B,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;gBACjD,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,UAAU,EAAE,EAAE,CAAC,iBAAiB;gBAChC,eAAe,EAAE,CAAC;gBAClB,eAAe,EAAE,EAAE,CAAC,IAAI;gBACxB,QAAQ,EAAE,EAAE,CAAC,SAAS;aACvB,CAAC;YACF,KAAK,CAAC;gBAAE,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;gBACpC,OAAO;oBACL,UAAU,EAAE,EAAE,CAAC,QAAQ;oBACvB,MAAM,EAAE,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACtC,6BAA6B,EAAE,EAAE,CAAC,8BAA8B;oBAChE,+BAA+B,EAAE,EAAE,CAAC,gCAAgC;oBACpE,yBAAyB,EAAE,CAAC;oBAC5B,mBAAmB,EAAE,CAAC;oBACtB,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC;oBACvC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;oBAC/B,0BAA0B,EAAE,CAAC,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC1E,yBAAyB,EAAE,CAAC,EAAE,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC3E,mBAAmB,EAAE,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC;oBACjD,WAAW,EAAE,IAAI,CAAC,MAAM;oBACxB,UAAU,EAAE,EAAE,CAAC,iBAAiB;oBAChC,eAAe,EAAE,CAAC;oBAClB,eAAe,EAAE,EAAE,CAAC,IAAI;iBACzB,CAAC;YACJ,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;SACnB;IACH,CAAC;IAED,wCAAgB,GAAhB;QACE,IAAI,CAAC,0BAA0B,GAAG,IAAI;IACxC,CAAC;IAED,8CAAsB,GAAtB;QACE,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;IAC5C,CAAC;IAED,wCAAgB,GAAhB;QACE,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,kCAAU,GAAV,UAAW,KAAK;QAAhB,iBAiCC;QAhCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,YAAU,GAAG,IAAI,UAAU,EAAE,CAAC;YAClC,YAAU,CAAC,MAAM,GAAG,UAAC,EAAE;gBACrB,KAAI,CAAC,UAAU,GAAG,YAAU,CAAC,MAAM,CAAC;gBACpC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAQ,KAAI,CAAC,QAAQ,aAAU,EAAE,EAAE,CAAC,CAAC;gBAC/E,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,UAAU,GAAG;oBAChB,gBAAgB,EAAE,KAAI,CAAC,oBAAoB;oBAC3C,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,cAAc,EAAE,KAAI,CAAC,UAAU;oBAC/B,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACtD,yBAAyB,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;iBACrF,CAAC;YACJ,CAAC;YACD,YAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,oCAAY,GAAZ,UAAa,WAAW;QACtB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,cAAc,KAAK,mBAAmB,EAAE;YAC/C,IAAI,CAAC,6BAA6B,EAAE,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAChC;IACH,CAAC;IAED,qDAA6B,GAA7B;QAAA,iBAiBC;QAhBC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACvE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBAAE,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;iBAAE;qBACrF;oBACH,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;oBACpC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBAC1C,KAAI,CAAC,WAAW,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAI,CAAC,oBAAoB,CAAC,CAAC;iBAC5D;gBACD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAuB,GAAvB;QAAA,iBAgBC;QAfC,IAAI,CAAC,YAAY,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACnF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAC3C,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;oBAAE,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;iBAAE;qBACrF;oBACH,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;oBACpC,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBAC3C;gBACD,KAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAa,GAAb;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,sCAAc,GAAd,UAAe,MAAM,EAAE,OAAO;QAC5B,QAAQ,IAAI,CAAC,oBAAoB,EAAE;YACjC,KAAK,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAAC,MAAM;YAC5C,KAAK,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAAC,MAAM;YAC5C,KAAK,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAAC,MAAM;YAC5C,KAAK,CAAC;gBAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;gBAAC,MAAM;YAC5C,OAAO,CAAC,CAAC,MAAM;SAChB;IACH,CAAC;IAED,sCAAc,GAAd,UAAe,OAAO;QAAtB,iBAWC;QAVC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAE;YAC9B,IAAI,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACpC,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG,EAAE;oBAChC,KAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;iBACpC;qBAAM;oBACL,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;iBAC/B;gBACD,KAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAc,GAAd,UAAe,OAAO;QAAtB,iBAWC;QAVC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG,EAAE;oBAChC,KAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;iBACpC;qBAAM;oBACL,KAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;iBAC/B;gBACD,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAAoB,GAApB,UAAqB,OAAY;QAAjC,iBAUC;QATC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,EAAE;oBACrC,KAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;iBAC5C;qBAAM;oBACL,KAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;iBAC5C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,4CAAoB,GAApB,UAAqB,OAAY;QAAjC,iBAUC;QATC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,EAAE;oBACrC,KAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;iBAC5C;qBAAM;oBACL,KAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;iBAC5C;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAA4B,GAA5B,UAA6B,OAAY;QACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;oBAC3B,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;iBAC/J;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;oBAC5B,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;iBACtK;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,oDAA4B,GAA5B,UAA6B,OAAY;QACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;oBAC3B,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;iBAC/J;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;oBAC5B,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;iBACtK;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAA4B,GAA5B,UAA6B,OAAY;QACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;oBAC3B,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;iBAC/J;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;oBAC5B,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;iBACtK;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAA4B,GAA5B,UAA6B,OAAY;QACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;oBAC3B,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;iBAC/J;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;oBAC5B,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;iBACtK;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAe,GAAf,UAAgB,OAAY;QAA5B,iBAUC;QATC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,EAAE;oBACrC,KAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;iBACvC;qBAAM;oBACL,KAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;iBACvC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAuB,GAAvB,UAAwB,OAAY;QAClC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;oBAC3B,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBACrG;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;oBAC5B,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC1G;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAuB,GAAvB,UAAwB,OAAY;QAClC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;oBAC3B,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBACrG;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;oBAC5B,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC1G;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,uCAAe,GAAf,UAAgB,OAAY;QAA5B,iBAUC;QATC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,EAAE;oBACrC,KAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;iBACvC;qBAAM;oBACL,KAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;iBACvC;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAuB,GAAvB,UAAwB,OAAY;QAClC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;oBAC3B,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBACrG;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;oBAC5B,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC1G;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAAuB,GAAvB,UAAwB,OAAY;QAClC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,EAAE,EAAE;oBAC3B,GAAG,CAAC,8BAA8B,GAAG,MAAM,CAAC,GAAG,CAAC,2BAA2B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBACrG;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,EAAE,EAAE;oBAC5B,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC1G;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAc,GAAd,UAAe,OAAO;QAAtB,iBAUC;QATC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG,EAAE;oBAChC,KAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;iBAClC;qBAAM;oBACL,KAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;iBAC7B;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAkB,GAAlB,UAAmB,OAAY;QAA/B,iBAyBC;QAxBC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,EAAE;oBACrC,QAAQ,GAAG,CAAC,aAAa,EAAE;wBACzB,KAAK,GAAG;4BAAE,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;4BAAC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;4BAAC,MAAM;wBAC/O,KAAK,GAAG;4BAAE,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAAC,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;4BAAC,MAAM;wBACnO,KAAK,GAAG;4BAAE,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;4BAC5K,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAChI,MAAM;wBACR,OAAO,CAAC,CAAC,MAAM;qBAChB;iBACF;qBAAM;oBACL,QAAQ,GAAG,CAAC,aAAa,EAAE;wBACzB,KAAK,GAAG;4BAAE,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;4BAAC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;4BAAC,MAAM;wBAC/O,KAAK,GAAG;4BAAE,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAAC,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;4BAAC,MAAM;wBACnO,KAAK,GAAG;4BAAE,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;4BAC5K,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;4BAChI,MAAM;wBACR,OAAO,CAAC,CAAC,MAAM;qBAChB;iBACF;gBACD,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAa,GAAb,UAAc,OAAY;QAA1B,iBAuBC;QAtBC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,EAAE;oBACrC,QAAQ,GAAG,CAAC,aAAa,EAAE;wBACzB,KAAK,GAAG;4BAAE,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAAC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;4BAAC,MAAM;wBACnL,KAAK,GAAG;4BAAE,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAAC,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;4BAAC,MAAM;wBACnL,KAAK,GAAG;4BAAE,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAChH,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAAC,MAAM;wBACzF,OAAO,CAAC,CAAC,MAAM;qBAChB;iBACF;qBAAM;oBACL,QAAQ,GAAG,CAAC,aAAa,EAAE;wBACzB,KAAK,GAAG;4BAAE,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAAC,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;4BAAC,MAAM;wBACnL,KAAK,GAAG;4BAAE,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAAC,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;4BAAC,MAAM;wBACnL,KAAK,GAAG;4BAAE,GAAG,CAAC,gCAAgC,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAChH,GAAG,CAAC,oBAAoB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;4BAAC,MAAM;wBACzF,OAAO,CAAC,CAAC,MAAM;qBAChB;iBACF;gBACD,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAc,GAAd,UAAe,OAAO;QAAtB,iBAmBC;QAlBC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,OAAO,CAAC,YAAY,KAAK,GAAG,EAAE;oBAChC,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,EAAE;wBACrC,GAAG,CAAC,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;qBACnJ;yBAAM;wBACL,GAAG,CAAC,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;qBACnJ;iBACF;qBAAM;oBACL,IAAI,OAAO,CAAC,iBAAiB,KAAK,GAAG,EAAE;wBACrC,GAAG,CAAC,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;qBAC7F;yBAAM;wBACL,GAAG,CAAC,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;qBAC7F;iBACF;gBACD,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAyB,GAAzB,UAA0B,OAAO;QAAjC,iBA4BC;QA3BC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,cAAc,GAAG,mCAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACtK,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACxE,IAAI,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;gBACzC,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;gBACtD,IAAI,MAAM,GAAG;oBACX,IAAI,EAAE,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,OAAO,CAAC,WAAW,EAAtC,CAAsC,CAAC;iBACtE;gBACD,IAAI,MAAM,CAAC,IAAI,EAAE;oBACf,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBACvC;gBACD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3C;QACH,CAAC,CAAC;IACJ,CAAC;IAED,sCAAc,GAAd,UAAe,OAAO;QAAtB,iBAmBC;QAlBC,IAAI,SAAS,GAAG,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACnG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC1F,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5B,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,YAAE;oBACpC,EAAE,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC1D,EAAE,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC,mBAAmB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;oBAClF,EAAE,CAAC,wBAAwB,GAAG,mCAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACvF,EAAE,CAAC,eAAe,GAAG,mCAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvE,CAAC,CAAC;gBACF,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAE;oBACvB,EAAE,CAAC,aAAa,GAAG,mCAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;aACpD;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAmB,GAAnB,UAAoB,IAAS,EAAE,OAAO;QACpC,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,YAAE,IAAI,WAAI,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAA1E,CAA0E,CAAC,CAAC;YACtH,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,0CAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,mCAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAjG,CAAiG,CAAC;YACzI,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;gBACnC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;aAC/C;YACD,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;gBACtE,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;aAC/C;SACF;IACH,CAAC;IAED,0CAAkB,GAAlB,UAAmB,WAAW,EAAE,OAAO;QAAvC,iBA+BC;QA9BC,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,IAAI,SAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAnF,CAAmF,CAAC;YAC/H,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE;gBAC5E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAChC;YACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;oBACrC,GAAG,CAAC,yBAAyB,CAAC,GAAG,SAAO,CAAC,yBAAyB,CAAC,CAAC;oBACpE,GAAG,CAAC,4BAA4B,CAAC,GAAG,SAAO,CAAC,yBAAyB,CAAC,CAAC;oBACvE,GAAG,CAAC,qBAAqB,CAAC,GAAG,SAAO,CAAC,qBAAqB,CAAC,CAAC;oBAC5D,GAAG,CAAC,wBAAwB,CAAC,GAAG,SAAO,CAAC,qBAAqB,CAAC,CAAC;oBAC/D,GAAG,CAAC,QAAQ,CAAC,GAAG,SAAO,CAAC,QAAQ,CAAC;oBACjC,GAAG,CAAC,WAAW,CAAC,GAAG,SAAO,CAAC,QAAQ,CAAC,CAAC;oBACrC,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;oBACrC,IAAI,QAAQ,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAjC,CAAiC,CAAC,CAAC;oBACvF,GAAG,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;oBACrE,GAAG,CAAC,4BAA4B,CAAC,GAAG,QAAQ,CAAC,yBAAyB,CAAC,CAAC;oBACxE,GAAG,CAAC,qBAAqB,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;oBAC7D,GAAG,CAAC,wBAAwB,CAAC,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAAC;oBAChE,GAAG,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBAClC,GAAG,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACtC,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBAC1B;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED,0CAAkB,GAAlB,UAAmB,WAAW,EAAE,OAAO;QAAvC,iBAuBC;QAtBC,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,IAAI,SAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA3D,CAA2D,CAAC;YACvG,IAAI,mCAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,mCAAM,CAAC,SAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE;gBAClH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;aAChC;YACD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;gBAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;oBACrC,GAAG,CAAC,6BAA6B,CAAC,GAAG,SAAO,CAAC,6BAA6B,CAAC,CAAC;oBAC5E,GAAG,CAAC,gCAAgC,CAAC,GAAG,SAAO,CAAC,6BAA6B,CAAC,CAAC;oBAC/E,GAAG,CAAC,+BAA+B,CAAC,GAAG,SAAO,CAAC,+BAA+B,CAAC,CAAC;oBAChF,GAAG,CAAC,kCAAkC,CAAC,GAAG,SAAO,CAAC,+BAA+B,CAAC,CAAC;oBACnF,GAAG,CAAC,mBAAmB,CAAC,GAAG,SAAO,CAAC,mBAAmB,CAAC;oBACvD,GAAG,CAAC,sBAAsB,CAAC,GAAG,SAAO,CAAC,mBAAmB,CAAC,CAAC;oBAC3D,GAAG,CAAC,oBAAoB,CAAC,GAAG,SAAO,CAAC,oBAAoB,CAAC;oBACzD,GAAG,CAAC,uBAAuB,CAAC,GAAG,SAAO,CAAC,oBAAoB,CAAC,CAAC;oBAC7D,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;iBACjC;YACH,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;SACvC;IACH,CAAC;IAED,+CAAuB,GAAvB,UAAwB,OAAO;QAA/B,iBAeC;QAdC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,QAAQ,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAjC,CAAiC,CAAC,CAAC;gBACvF,GAAG,CAAC,6BAA6B,CAAC,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC;gBAC7E,GAAG,CAAC,gCAAgC,CAAC,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC;gBAChF,GAAG,CAAC,+BAA+B,CAAC,GAAG,QAAQ,CAAC,+BAA+B,CAAC,CAAC;gBACjF,GAAG,CAAC,kCAAkC,CAAC,GAAG,QAAQ,CAAC,+BAA+B,CAAC,CAAC;gBACpF,GAAG,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBACxD,GAAG,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAC5D,GAAG,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC;gBAC1D,GAAG,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;gBAC9D,KAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,OAAO,GAAG;gBACZ,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,yCAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,yCAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,yCAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,yCAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,yCAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,yCAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,QAAQ,GAAG;YACb,MAAM,EAAE,CAAC;YACT,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,eAAe,CAAC,UAAU;YACvC,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACrE,YAAY,EAAE,YAAY;SAC3B;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAED,uCAAe,GAAf,UAAgB,MAAM,EAAE,OAAO;QAC7B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,aAAG;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBACjD,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClD,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClD,GAAG,CAAC,eAAe,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aACpD;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,mCAAW,GAAX,UAAY,UAAU,EAAE,QAAQ,EAAE,YAA2B;QAA3B,0DAA2B;QAC3D,IAAI,KAAK,GAAG,mCAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,mCAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC;IAED,iCAAS,GAAT,UAAU,OAAO;QACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAjC,CAAiC,CAAC,CAAC;IACjG,CAAC;IAED,uCAAe,GAAf,UAAgB,OAAO,EAAE,GAAG;QAC1B,IAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,OAAO,CAAC,MAAM,CAAC,UAAC,GAAG;YACjB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBAC/B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE;oBACtC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;qBACpB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;oBACpC,MAAM,GAAG,IAAI,CAAC;iBACf;aACF;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;QACH,IAAM,cAAc,GAAG,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;QAC3P,IAAM,WAAW,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAC7E,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC7B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzB,IAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC5B,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxD,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;aACI,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;gBAChB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;SACJ;aACI;YACH,OAAO,CAAC,IAAI,EAAE,CAAC;SAChB;QACD,IAAI,MAAM;YAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;;gBA5pDiC,qEAAW;gBAAkB,sDAAM;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IAD7E;QAA1D,+DAAS,CAAC,gHAA2B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;kCAAY,gHAA2B;oDAAa;IAtQnG,aAAa;QANzB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,qLAAoC;YAEpC,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAwQkC,qEAAW,EAAkB,sDAAM,EAAmB,6DAAiB,EAAkB,wDAAa;OAvQ7H,aAAa,CAo6DzB;IAAD,oBAAC;CAAA;AAp6DyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACrBwB;AACT;AACO;AACQ;AAOxD;IASE,4BAAoB,MAAc,EAAU,QAAqB,EAAU,OAA0B;QAAjF,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QANrG,SAAI,GAAG,EAAE,CAAC;IAOV,CAAC;IAED,qCAAQ,GAAR;QAAA,iBAaC;QAZC,yBAAyB;QACzB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC,kBAAQ;YACzC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,EAAX,CAAW,CAAC,CAAC;gBAC/D,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACzC,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAQ,GAAR;QAAA,iBA0DC;QAzDC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC5D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,SAAS,EAAE;oBAClB,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC/D,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBAC/D,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC/D,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;oBACpD,mFAAmF;oBACjF,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;oBACzD,GAAG;oBACH,KAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACtD,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACzD,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;oBAC5E,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,KAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;oBAC1E,IAAI,KAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;wBACtC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;qBAC5C;yBACI;wBACH,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;qBAC5D;oBACD,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,KAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBAClE,KAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;oBACvE,IAAI,aAAa,GAAG;wBAClB,OAAO,EAAE,KAAI,CAAC,SAAS,CAAC,QAAQ;wBAChC,aAAa,EAAE,KAAI,CAAC,SAAS,CAAC,mBAAmB;wBACjD,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;qBAC/C,CAAC;oBACF,KAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;oBAE/C,QAAQ,KAAI,CAAC,SAAS,CAAC,eAAe,EAAE;wBACtC,KAAK,CAAC;4BAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAAC,MAAM;wBAClD,KAAK,CAAC;4BAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAAC,MAAM;wBAClD,KAAK,CAAC;4BAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAAC,MAAM;wBAClD,KAAK,CAAC;4BAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAAC,MAAM;wBAClD;4BAAS,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;4BAAC,MAAM;qBACpD;oBACD,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;oBAChE,KAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBACxD,KAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC7D,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC9D,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,KAAI,CAAC,SAAS,IAAI,SAAS,IAAI,KAAI,CAAC,SAAS,IAAI,EAAE,EAAE;wBACvD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;qBACjC;yBACI;wBACH,KAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;wBACpD,KAAI,CAAC,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC7D,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;qBAC3C;iBACF;qBAAM;oBACL,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBA5E2B,sDAAM;gBAAoB,qEAAW;gBAAmB,6DAAiB;;IAT1F,kBAAkB;QAL9B,+DAAS,CAAC;YACT,QAAQ,EAAE,gBAAgB;YAC1B,uMAA0C;SAE3C,CAAC;yCAU4B,sDAAM,EAAoB,qEAAW,EAAmB,6DAAiB;OAT1F,kBAAkB,CAsF9B;IAAD,yBAAC;CAAA;AAtF8B;;;;;;;;;;;;;ACV/B;AAAe,qEAAM,0CAA0C,8BAA8B,yBAAyB,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,4BAA4B,KAAK,aAAa,wBAAwB,oBAAoB,qBAAqB,KAAK,iCAAiC,oBAAoB,uBAAuB,KAAK,oBAAoB,mBAAmB,qBAAqB,wCAAwC,uBAAuB,uCAAuC,KAAK,WAAW,2BAA2B,2EAA2E,wDAAwD,KAAK,wCAAwC,wBAAwB,2BAA2B,KAAK,gBAAgB,2BAA2B,yBAAyB,yBAAyB,KAAK,oBAAoB,sBAAsB,4BAA4B,uBAAuB,KAAK,oCAAoC,wBAAwB,KAAK,gBAAgB,oBAAoB,KAAK,gBAAgB,yBAAyB,KAAK,wCAAwC,sBAAsB,KAAK,SAAS,uBAAuB,mBAAmB,kCAAkC,yBAAyB,yBAAyB,yBAAyB,QAAQ,gBAAgB,4BAA4B,4BAA4B,oBAAoB,KAAK,iBAAiB,kBAAkB,KAAK,SAAS,2BAA2B,oBAAoB,qCAAqC,KAAK,qBAAqB,2BAA2B,2BAA2B,KAAK,MAAM,8BAA8B,iCAAiC,KAAK,6HAA6H,SAAS,uJAAuJ,WAAW,4JAA4J,wBAAwB,uBAAuB,yBAAyB,4CAA4C,2BAA2B,2CAA2C,SAAS,aAAa,2BAA2B,SAAS,OAAO,wLAAwL,WAAW,iLAAiL,wBAAwB,uBAAuB,yBAAyB,4CAA4C,2BAA2B,2CAA2C,SAAS,aAAa,2BAA2B,SAAS,OAAO,6KAA6K,wBAAwB,uBAAuB,yBAAyB,4CAA4C,2BAA2B,2CAA2C,SAAS,aAAa,2BAA2B,SAAS,OAAO,+CAA+C,mkN;;;;;;;;;;;;;;;;;;;;;;;;ACArgH;AAQlD;IALA;QAOE,cAAS,GAAG,KAAK,CAAC;QAClB,YAAO,GAAY,KAAK,CAAC;QAGzB,gBAAW,GAAY,KAAK,CAAC;IAa/B,CAAC;IANC,iCAAQ,GAAR;QACE,IAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE;YACjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;SAC3D;IACH,CAAC;IAjBU,cAAc;QAL1B,+DAAS,CAAC;YACT,QAAQ,EAAE,WAAW;YACrB,wLAAqC;;SAEtC,CAAC;OACW,cAAc,CAmB1B;IAAD,qBAAC;CAAA;AAnB0B;;;;;;;;;;;;;ACR3B;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,sBAAsB,mCAAmC,sCAAsC,uBAAuB,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,sCAAsC,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,sCAAsC,KAAK,iBAAiB,qBAAqB,qBAAqB,+BAA+B,oBAAoB,sCAAsC,KAAK,WAAW,oCAAoC,KAAK,sBAAsB,6BAA6B,sBAAsB,+BAA+B,KAAK,qCAAqC,+BAA+B,2CAA2C,KAAK,qDAAqD,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,yDAAyD,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,qDAAqD,wBAAwB,8BAA8B,4BAA4B,yBAAyB,yBAAyB,kCAAkC,qBAAqB,yBAAyB,gDAAgD,mCAAmC,uCAAuC,KAAK,uDAAuD,gCAAgC,0BAA0B,KAAK,iEAAiE,2BAA2B,qBAAqB,KAAK,+CAA+C,m3H;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAx7D;AAC5B;AACO;AACL;AACa;AACxB;AAQhC;IA0HE,gCAAoB,MAAc,EAAU,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAhH,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAzHpI,aAAQ,GAAG,EAAE,CAAC;QACd,iBAAY,GAAQ,EAAE,CAAC;QACvB,eAAU,GAAG;YACX,eAAe,EAAE,CAAC;YAClB,iBAAiB,EAAE,0BAA0B;YAC7C,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,0BAA0B;YAC5C,iBAAiB,EAAE,0BAA0B;YAC7C,iBAAiB,EAAE,EAAE;YACrB,gBAAgB,EAAE,CAAC;YACnB,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,EAAE;YACpB,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,CAAC;YAChB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,CAAC;YAClB,eAAe,EAAE,EAAE;YACnB,mBAAmB,EAAE,CAAC;YACtB,yBAAyB,EAAE,CAAC;YAC5B,gBAAgB,EAAE,CAAC;YACnB,yBAAyB,EAAE,CAAC;YAC5B,qBAAqB,EAAE,CAAC;YACxB,mBAAmB,EAAE,CAAC;YACtB,QAAQ,EAAE,CAAC;YACX,eAAe,EAAE,EAAE;YACnB,SAAS,EAAE,CAAC;YACZ,gBAAgB,EAAE,EAAE;YACpB,eAAe,EAAE,EAAE;YACnB,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,CAAC;YACZ,aAAa,EAAE,EAAE;YACjB,qBAAqB,EAAE,EAAE;YACzB,SAAS,EAAE,EAAE;YACb,mBAAmB,EAAE,EAAE;YACvB,sBAAsB,EAAE,EAAE;YAC1B,YAAY,EAAE,EAAE;YAChB,oBAAoB,EAAE,CAAC;YACvB,oBAAoB,EAAE,KAAK;YAC3B,mBAAmB,EAAE,EAAE;YACvB,mBAAmB,EAAE,EAAE;YACvB,kBAAkB,EAAE,KAAK;YACzB,0BAA0B,EAAE,CAAC;SAC9B;QACD,gBAAW,GAAG;YACZ,WAAW,EAAE,CAAC;YACd,aAAa,EAAE,EAAE;YACjB,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,eAAe,EAAE,CAAC;YAClB,sBAAsB,EAAE,CAAC;SAC1B,CAAC;QA2BF,aAAQ,GAAG,KAAK,CAAC;QASjB,qBAAgB,GAAY,KAAK,CAAC;QAElC,qBAAgB,GAAY,KAAK,CAAC;QAGlC,WAAM,GAAG,EAAE,CAAC;QACZ,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QAEd,oBAAe,GAAY,KAAK,CAAC;QAGjC,+BAA0B,GAAY,KAAK,CAAC;QAG5C,qBAAgB,GAAY,KAAK,CAAC;QAKlC,yBAAoB,GAAY,KAAK,CAAC;QAItC,sBAAiB,GAAY,KAAK,CAAC;QACnC,kBAAa,GAAY,KAAK,CAAC;IAEyG,CAAC;IAEzI,yCAAQ,GAAR;QACE,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,IAAI,CAAC,0BAA0B,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACnJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SACjC;aACI;YACH,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE;gBACrC,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;iBAAM;gBACL,IAAI,CAAC,aAAa,EAAE,CAAC;aACtB;YACD,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACrC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAChC;IACH,CAAC;IAED,mDAAkB,GAAlB,UAAmB,QAAQ;QAA3B,iBAwBC;QAvBC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBAC9G,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,IAAI,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;oBACjG,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC7C,KAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,GAAG,QAAQ,CAAC;oBACpD,KAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,KAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;oBACzF,KAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;oBAC5C,KAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;oBACxC,KAAI,CAAC,YAAY,CAAC,YAAY,CAAC,GAAG,KAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;oBACjE,KAAI,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAC5E,KAAI,CAAC,oBAAoB,EAAE,CAAC;iBAC7B;qBAAM,IAAI,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBAChE,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAM,IAAI,CAAC,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;oBACjE,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAM;oBACL,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;iBAC1C;gBACD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC,CAAC;SACH;IACH,CAAC;IAED,gDAAe,GAAf,UAAgB,QAAQ;QACtB,IAAI,QAAQ,IAAI,CAAC,EAAE;YACjB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,wFAAwF;SACzF;aACI;YAEH,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;SAEnC;IACH,CAAC;IAED,qDAAoB,GAApB;QAAA,iBAYC;QAXC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,UAAC,QAAQ;YACvE,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACtC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;YACD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC;IAED,+CAAc,GAAd,UAAe,YAAY;QAA3B,iBAwBC;QAvBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,GAAM,WAAW,UAAK,IAAI,CAAC,WAAW,cAAS,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,QAAK,CAAC;QACxG,IAAI,YAAY,KAAK,UAAU,EAAE;YAC/B,IAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzE,IAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAO,IAAI,CAAC,WAAa;YAC1E,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAI,IAAM,CAAC,CAAC,CAAC,KAAG,IAAI,CAAC,WAAa,CAAC;SACnI;QACD,IAAI,OAAO,GAAG;YACZ,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;YAC5C,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,YAAY;YACjC,iBAAiB,EAAE,YAAY;YAC/B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;SAClC;QACD,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAEtD,KAAI,CAAC,KAAK,EAAE,CAAC;YACb,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACtC,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC3B,iDAAiD;QACnD,CAAC,CAAC;IACJ,CAAC;IAED,sCAAK,GAAL;QACE,IAAI,CAAC,WAAW,GAAG,EAAE;QACrB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;IACjC,CAAC;IAED,uDAAsB,GAAtB;QAAA,iBA4BC;QA3BC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACrF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;gBACxB,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7F,KAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,IAAI,KAAI,CAAC,IAAI,IAAI,MAAM,EAAE;oBACvB,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAC7B,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;wBACtF,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;qBAC9B;iBACF;qBAAM;oBACL,KAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;oBAC9B,KAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC/B,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;oBACxC,KAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;iBACzC;gBACD,KAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,KAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC/C,KAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,8CAAa,GAAb;QAAA,iBAqBC;QApBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1F,IAAI,CAAC,SAAS,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5H,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAC,GAAQ;YACpE,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBACnB,KAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;gBAC7B,KAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAE;oBACtB,EAAE,CAAC,cAAc,GAAM,EAAE,CAAC,cAAc,WAAM,EAAE,CAAC,wBAA0B,CAAC;gBAC9E,CAAC,CAAC;gBACF,IAAI,KAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;oBAC5B,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,sBAAsB,KAAK,KAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAA3E,CAA2E,CAAC,CAAC;oBAC5H,KAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;gBACD,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;aAClC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,sDAAqB,GAArB;QAAA,iBAsBC;QArBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC3K,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;gBAC9B,KAAI,CAAC,kBAAkB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBAC5C,KAAI,CAAC,eAAe,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBACzC,KAAI,CAAC,oBAAoB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBAC9C,KAAI,CAAC,mBAAmB,CAAC,KAAI,CAAC,aAAa,CAAC,CAAC;gBAC7C,KAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,KAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,KAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,EACC,UAAC,KAAK;YACJ,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;IACN,CAAC;IAED,oDAAmB,GAAnB,UAAoB,UAAU;QAA9B,iBAOC;QANC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,gBAAgB,CAAC;QAClD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,mBAAmB,KAAK,KAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAzE,CAAyE,CAAC,CAAC;SACtI;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,KAAK,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAApD,CAAoD,CAAC,CAAC;SACjH;IACH,CAAC;IAED,sDAAqB,GAArB;QAAA,iBAoBC;QAnBC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,WAAW,KAAK,KAAI,CAAC,iBAAiB,CAAC,WAAW,EAApD,CAAoD,CAAC,CAAC;YACxH,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC/B,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,eAAe,KAAK,KAAI,CAAC,gBAAgB,CAAC,eAAe,EAA5D,CAA4D,CAAC,CAAC;gBAC3G,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,KAAK,KAAI,CAAC,gBAAgB,CAAC,IAAI,EAAtC,CAAsC,CAAC,CAAC;gBACnF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE;oBAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,OAAO,KAAK,KAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAA9C,CAA8C,CAAC,CAAC;oBAC7F,IAAI,cAAc,EAAE;wBAClB,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;qBACtC;iBACF;aACF;YACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,KAAI,CAAC,iBAAiB,CAAC,OAAO,EAAlD,CAAkD,CAAC,CAAC;SACxG;IACH,CAAC;IAED,gDAAe,GAAf,UAAgB,GAAG,EAAE,GAAG;QACtB,gBAAW,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAI,IAAI,QAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,EAAjB,CAAiB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAC;IAClE,CAAC;IAED,mDAAkB,GAAlB,UAAmB,UAAU;QAC3B,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,yBAAyB,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAED,gDAAe,GAAf,UAAgB,UAAU;QAA1B,iBAQC;QAPC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,iBAAiB,CAAC,UAAU,EAAlD,CAAkD,CAAC,CAAC;YACvG,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;aAC9B;SACF;IACH,CAAC;IAED,4CAAW,GAAX;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;IAC5C,CAAC;IAED,8CAAa,GAAb;QAAA,iBAQC;QAPC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC;QAC3D,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,kBAAkB,KAAK,KAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAlE,CAAkE,CAAC,CAAC;YAC1H,IAAI,IAAI,CAAC,gBAAgB,EAAE;gBACzB,IAAI,CAAC,uBAAuB,EAAE,CAAC;aAChC;SACF;IACH,CAAC;IAED,wDAAuB,GAAvB;QACE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;IACzE,CAAC;IAED,iDAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,mDAAkB,GAAlB,UAAmB,IAAI;QACrB,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7E,CAAC;IAED,sDAAqB,GAArB;QAAA,iBAWC;QAVC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,eAAe,CAAC,UAAU,EAAhD,CAAgD,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE;YACpF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,CAAC,yBAAyB,EAAE,CAAC;SAClC;IACH,CAAC;IAED,sDAAqB,GAArB;QACE,IAAI,CAAC,QAAQ,GAAG;YACd;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,aAAa;gBACtB,QAAQ,EAAE,gBAAgB;gBAC1B,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;YACD;gBACE,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,cAAc;gBACvB,QAAQ,EAAE,eAAe;gBACzB,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,KAAK;gBACpB,WAAW,EAAE,CAAC;aACf;SACF,CAAC;IACJ,CAAC;IAED,0DAAyB,GAAzB;QAAA,iBA8BC;QA7BC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChL,IAAI,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBAC/L,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;oBACxB,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACxE,IAAI,YAAY,GAAG,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBACxD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;oBACtD,KAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,KAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;oBAC1C,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;iBACrB;qBAAM;oBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC;SACH;aACI;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;IACH,CAAC;IAED,oDAAmB,GAAnB,UAAoB,eAAoB;QAAxC,iBAmBC;QAlBC,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE;YAC5G,IAAI,MAAM,GAAG;gBACX,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,YAAY,KAAK,KAAI,CAAC,iBAAiB,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,KAAK,KAAI,CAAC,iBAAiB,CAAC,aAAa,EAA/G,CAA+G,CAAC;aAC/I;YACD,IAAI,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC7B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aACjE;SACF;aAAM;YACL,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC;SACpC;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,OAAO,GAAG;gBACZ,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SAC7B;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,eAAe,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,iBAAiB,CAAC,EAAE;YACxE,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,eAAe,CAAC,iBAAiB,CAAC;gBAChD,WAAW,EAAE,eAAe,CAAC,aAAa,CAAC;gBAC3C,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACzE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,kDAAiB,GAAjB,UAAkB,eAAoB,EAAE,YAAY;QAClD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,QAAQ,GAAG;gBACb,MAAM,EAAE,CAAC;gBACT,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,eAAe,CAAC,UAAU;gBACvC,WAAW,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBACrE,YAAY,EAAE,YAAY;aAC3B;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC9B;IACH,CAAC;IAED,gDAAe,GAAf,UAAgB,OAAY;QAC1B,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,kDAAiB,GAAjB;QAAA,iBAKC;QAJC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,UAAU,KAAK,KAAI,CAAC,eAAe,CAAC,UAAU,EAAhD,CAAgD,CAAC,CAAC;QACtG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,CAAC;IAED,qDAAoB,GAApB,UAAqB,UAAU;QAA/B,iBAiBC;QAhBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,oBAAoB,GAAG,UAAU,CAAC,aAAa,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,WAAW,EAA9B,CAA8B,CAAC,CAAC;QAC/F,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,oBAAoB,EAAvC,CAAuC,CAAC,CAAC;QACzG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,QAAQ,EAA3B,CAA2B,CAAC,CAAC;QACpF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,UAAU,EAA7B,CAA6B,CAAC,CAAC;QACxF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,aAAa,EAAhC,CAAgC,CAAC,CAAC;QAC9F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,SAAS,EAA5B,CAA4B,CAAC,CAAC;QACtF,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,aAAa,EAAhC,CAAgC,CAAC,CAAC;QACvG,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAhE,CAAgE,CAAC,CAAC;YAC9H,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAvD,CAAuD,CAAC,CAAC;YAC3G,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,OAAO,EAAtD,CAAsD,CAAC,CAAC;YACxG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,iBAAiB,KAAK,KAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAhE,CAAgE,CAAC,CAAC;SACxI;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,2DAA0B,GAA1B;QAAA,iBAWC;QAVC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC;QACvE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC;QAC1E,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,WAAW,KAAK,UAAU,IAAI,EAAE,CAAC,iBAAiB,KAAK,KAAI,CAAC,mBAAmB,CAAC,SAAS,EAA5F,CAA4F,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAGnL,CAAC;IAED,wDAAuB,GAAvB;QACE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QACnD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC;IAClE,CAAC;IAED,+CAAc,GAAd;QACE,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACvD,IAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QAClD,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,oBAAoB,EAAE;YACzC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAClF,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,KAAK,IAAI,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aACrI;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;aACrI;SACF;IACH,CAAC;IAED,iDAAgB,GAAhB;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1G,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9J,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACnI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,mCAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QAC3F,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QAChF,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACxE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACrE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,8CAAa,GAAb;QACE,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,EAAE;gBACvB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;aAChE;SACF;IACH,CAAC;IAED,oDAAmB,GAAnB;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,gBAAgB,IAAI,SAAS,EAAE;YACtC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,gBAAgB,CAAC,aAAa,IAAI,EAAE,CAAC,eAAe,KAAK,KAAI,CAAC,aAAa,CAAC,eAAe,IAAI,EAAE,CAAC,IAAI,KAAK,KAAI,CAAC,YAAY,CAAC,IAAI,EAA3J,CAA2J,CAAC,CAAC;YACvN,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;SAExD;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,EAAE,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,EAAE;SACpC;IACH,CAAC;IAED,gDAAe,GAAf;QACE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;YAChG,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;YAClG,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAClE,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,2BAA0B;YACjF,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC;YACnF,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACzF,IAAI,CAAC,UAAU,CAAC,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,UAAU,CAAC,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;YACtF,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;YAChF,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEzD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;YAC5E,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,YAAY,EAAE,CAAC;YAC/F,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC/D,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;YAC9E,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC;YAC3D,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC9D,IAAI,WAAW,GAAG,mCAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAI,WAAW,UAAK,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAS,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,QAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5L,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC,CAAC,CAAI,WAAW,UAAK,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,cAAS,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,QAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5L,IAAI,CAAC,UAAU,CAAC,wBAAwB,GAAG,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;YACzH,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;IACH,CAAC;IAED,uDAAsB,GAAtB;QACE,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YAC9E,IAAI,CAAC,6BAA6B,EAAE,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,gCAAgC,EAAE,CAAC;SACzC;IACH,CAAC;IAGD,uDAAsB,GAAtB;QAAA,iBAeC;QAdC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC/D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACpB,IAAI,KAAI,CAAC,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,KAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;oBAChH,KAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;iBACzB;qBAAM;oBACL,cAAc,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;oBAC/C,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,UAAU,CAAC,CAAC;iBACnE;gBACD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8DAA6B,GAA7B;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;QAAC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,iEAAgC,GAAhC;QACE,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,uCAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,iDAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE;YACpC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;YACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YACtC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE;YACnE,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,2DAA0B,GAA1B;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;SACzC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;SACzC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yDAAwB,GAAxB;QACE,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACnC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACxC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,IAAI,CAAC,0BAA0B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACjE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC7C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA8B,GAA9B;QACE,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACvC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YACtC,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACzC,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAgB,GAAhB;QACE,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,KAAK,CAAC,EAAE;YAC3C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;SAC/B;IACH,CAAC;IAED,uDAAsB,GAAtB;QAAA,iBAGC;QAFC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,gBAAgB,CAAC,aAAa,EAAxD,CAAwD,CAAC,CAAC;QACtH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IACvE,CAAC;IAED,sDAAqB,GAArB;QAAA,iBAGC;QAFC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,gBAAgB,CAAC,aAAa,IAAI,EAAE,CAAC,eAAe,KAAK,KAAI,CAAC,aAAa,CAAC,eAAe,EAArH,CAAqH,CAAC,CAAC;QAClL,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED,+CAAc,GAAd;QACE,IAAI,CAAC,WAAW,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;QACrE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,4CAAW,GAAX;QAAA,iBAqCC;QApCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;SAClE;QACD,IAAI,CAAC,WAAW,CAAC,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC;QACrF,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;YAClC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,mBAAS;gBAChE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE;oBACzB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAI,CAAC,MAAM,EAAE,KAAI,CAAC,cAAc,CAAC,sBAAsB,EAAE,CAAC,EAAE,KAAI,CAAC,cAAc,CAAC,cAAc,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,mBAAS;wBAC7J,KAAI,CAAC,aAAa,GAAG,SAAS,CAAC;wBAC/B,KAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC7B,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,aAAa,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,IAAI,CAAC,CAAC,eAAe,KAAK,KAAI,CAAC,WAAW,CAAC,eAAe,IAAI,CAAC,CAAC,IAAI,KAAK,KAAI,CAAC,WAAW,CAAC,IAAI,EAAhJ,CAAgJ,CAAC,CAAC;wBACpN,KAAI,CAAC,sBAAsB,EAAE,CAAC;wBAC9B,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,eAAe,KAAK,KAAI,CAAC,gBAAgB,CAAC,eAAe,EAA5D,CAA4D,CAAC,CAAC;wBAC3G,KAAI,CAAC,qBAAqB,EAAE,CAAC;wBAC7B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,IAAI,KAAK,KAAI,CAAC,gBAAgB,CAAC,IAAI,EAAtC,CAAsC,CAAC,CAAC;wBACnF,KAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;wBAClD,KAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;wBAClC,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,aAAa,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,EAApD,CAAoD,CAAC,CAAC;wBAC3G,KAAI,CAAC,WAAW,CAAC,aAAa,GAAG,EAAE,CAAC;wBACpC,KAAI,CAAC,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;wBAC9B,KAAI,CAAC,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;wBAC3B,KAAI,CAAC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;wBACtC,KAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,EAAE,CAAC;wBAC/B,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBACpB,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,6BAA6B,EAAE,UAAU,CAAC,CAAC;oBACjE,CAAC,CAAC,CAAC;iBACJ;qBAAM;oBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;iBACxC;YACH,CAAC,CAAC;SACH;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;IACH,CAAC;IAED,wDAAuB,GAAvB;QACE,IAAI,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACtD,IAAI,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACtD,IAAI,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACxD,IAAI,qBAAqB,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;QACjE,OAAO,iBAAiB,IAAI,iBAAiB,IAAI,kBAAkB,IAAI,qBAAqB,CAAC;IAC/F,CAAC;IAED,8DAA6B,GAA7B;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,IAAI,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,aAAa,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC,eAAe,KAAK,KAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC,IAAI,KAAK,KAAI,CAAC,WAAW,CAAC,IAAI,EAAnJ,CAAmJ,CAAC,CAAC;YAClN,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;gBACzF,OAAO,KAAK;aACb;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,uDAAsB,GAAtB;QAAA,iBAYC;QAXC,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,IAAI,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,kBAAQ,IAAI,eAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,EAAE,EAArF,CAAqF,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC/J,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,QAAQ,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aACd;iBAAM;gBACL,OAAO,IAAI,CAAC;aACb;SACF;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,0DAAyB,GAAzB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,EAAE,EAAE;YAClC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,uDAAsB,GAAtB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,wDAAuB,GAAvB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE,EAAE;YAChC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,0DAAyB,GAAzB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,EAAE;YACnC,OAAO,IAAI,CAAC;SACb;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IAED,yDAAwB,GAAxB;QACE,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC;SACd;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oDAAmB,GAAnB;QACE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;IAChC,CAAC;;gBAv7B2B,sDAAM;gBAAoB,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IA1HzH,sBAAsB;QANlC,+DAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,sNAA+C;YAE/C,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCA2H4B,sDAAM,EAAoB,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OA1HzH,sBAAsB,CAojClC;IAAD,6BAAC;CAAA;AApjCkC;;;;;;;;;;;;;ACbnC;AAAe,8GAA+C,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,0DAA0D,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,sDAAsD,wBAAwB,8BAA8B,4BAA4B,yBAAyB,wBAAwB,qBAAqB,yBAAyB,gCAAgC,mDAAmD,gCAAgC,uCAAuC,KAAK,mCAAmC,iCAAiC,yBAAyB,8BAA8B,KAAK,uCAAuC,iCAAiC,yBAAyB,6BAA6B,KAAK,oCAAoC,oCAAoC,2CAA2C,gCAAgC,gCAAgC,KAAK,2FAA2F,6CAA6C,gCAAgC,KAAK,4DAA4D,gCAAgC,8BAA8B,KAAK,0GAA0G,gCAAgC,2CAA2C,KAAK,gEAAgE,yCAAyC,6CAA6C,kCAAkC,KAAK,sCAAsC,+BAA+B,KAAK,gCAAgC,qCAAqC,KAAK,+EAA+E,iCAAiC,yBAAyB,gCAAgC,sBAAsB,KAAK,sDAAsD,sCAAsC,KAAK,gDAAgD,mDAAmD,KAAK,iCAAiC,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,kBAAkB,2BAA2B,KAAK,+CAA+C,gDAAgD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,+CAA+C,gDAAgD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,+CAA+C,gDAAgD,uDAAuD,SAAS,aAAa,uCAAuC,SAAS,KAAK,+CAA+C,m8L;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/yG;AAChE;AACe;AACL;AACa;AAQxD;IAiBE,oCAAoB,OAAyB,EAAU,MAAqB,EAAU,OAAoB;QAAtF,YAAO,GAAP,OAAO,CAAkB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,YAAO,GAAP,OAAO,CAAa;QAbhG,uBAAkB,GAAG,IAAI,0DAAY,EAAE,CAAC;QAElD,iBAAY,GAAG,EAAE,CAAC;QAElB,gCAA2B,GAAG,CAAC,CAAC;QAChC,uBAAkB,GAAG,CAAC,CAAC;QACvB,sBAAiB,GAAG,CAAC,CAAC;QACtB,eAAU,GAAG,CAAC,CAAC;IAM+F,CAAC;IAE/G,6CAAQ,GAAR;QACE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,CAAE,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC/I,CAAC;IACD,wDAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAI,WAAW,GAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAE;YACvB,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;YACxD,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE;gBACjD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aACtB;QACH,CAAC,CAAC,CAAC;QACH,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,kDAAa,GAAb,UAAc,WAAiB;QAA/B,iBAmBC;QAlBC,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;SAClC;aACI;YACH,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;YACnF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;YAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;YACjE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC,CAAC;SAC5H;QACD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;YACzB,IAAI,EAAE,CAAC,UAAU,KAAK,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE;gBACjD,EAAE,CAAC,2BAA2B,GAAG,KAAI,CAAC,2BAA2B,CAAC;gBAClE,EAAE,CAAC,kBAAkB,GAAG,KAAI,CAAC,kBAAkB,CAAC;gBAChD,EAAE,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC;gBAC9C,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,kBAAkB,GAAG,KAAI,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;aACvF;QACH,CAAC,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;IACD,wDAAmB,GAAnB,UAAoB,IAAS;QAA7B,iBA4BC;QA3BC,IAAI,WAAW,GAAO,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,iBAAiB,EAAE;gBACvC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;aACjC;iBAAM;gBACL,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,0CAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,mCAAM,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAAjG,CAAiG,CAAC,CAAC;gBAC1I,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChD;SACF;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,KAAK,iBAAiB,EAAE;gBACvC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;gBACnF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;gBAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;oBACzB,IAAI,EAAE,CAAC,UAAU,KAAK,KAAI,CAAC,WAAW,CAAC,UAAU,EAAE;wBACjD,EAAE,CAAC,2BAA2B,GAAG,KAAI,CAAC,2BAA2B,CAAC;wBAClE,EAAE,CAAC,kBAAkB,GAAG,KAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;wBAC/D,EAAE,CAAC,iBAAiB,GAAG,KAAI,CAAC,iBAAiB,CAAC;wBAC9C,EAAE,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,kBAAkB,GAAG,KAAI,CAAC,2BAA2B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;qBACvF;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;aAChD;YACD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAChD;IACH,CAAC;IAED,qDAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,mDAAc,GAAd,UAAe,WAAkB;QAC/B,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAnF,CAAmF,CAAC;QAC/H,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACjE,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAChE,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IACpE,CAAC;IAED,uDAAkB,GAAlB,UAAmB,WAAW,EAAE,OAAO;QAAvC,iBAoBC;QAnBC,IAAI,WAAW,CAAC,MAAM,EAAE;YACtB,IAAI,SAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAA3D,CAA2D,CAAC;YACvG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAG;gBAC1B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;oBACrC,GAAG,CAAC,6BAA6B,CAAC,GAAG,SAAO,CAAC,6BAA6B,CAAC,CAAC;oBAC5E,GAAG,CAAC,gCAAgC,CAAC,GAAG,SAAO,CAAC,6BAA6B,CAAC,CAAC;oBAC/E,GAAG,CAAC,+BAA+B,CAAC,GAAG,SAAO,CAAC,+BAA+B,CAAC,CAAC;oBAChF,GAAG,CAAC,kCAAkC,CAAC,GAAG,SAAO,CAAC,+BAA+B,CAAC,CAAC;oBACnF,GAAG,CAAC,mBAAmB,CAAC,GAAG,SAAO,CAAC,mBAAmB,CAAC;oBACvD,GAAG,CAAC,sBAAsB,CAAC,GAAG,SAAO,CAAC,mBAAmB,CAAC,CAAC;oBAC3D,GAAG,CAAC,oBAAoB,CAAC,GAAG,SAAO,CAAC,oBAAoB,CAAC;oBACzD,GAAG,CAAC,uBAAuB,CAAC,GAAG,SAAO,CAAC,oBAAoB,CAAC,CAAC;oBAC7D,KAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;iBAC/B;YACH,CAAC,CAAC,CAAC;SACJ;aACI;YACH,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;SACvC;IACH,CAAC;IAED,4DAAuB,GAAvB,UAAwB,OAAO;QAA/B,iBAeC;QAdC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,aAAG;YAC1B,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAE;gBACrC,IAAI,QAAQ,GAAG,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAG,IAAI,UAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,EAAjC,CAAiC,CAAC,CAAC;gBACvF,GAAG,CAAC,6BAA6B,CAAC,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC;gBAC7E,GAAG,CAAC,gCAAgC,CAAC,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC;gBAChF,GAAG,CAAC,+BAA+B,CAAC,GAAG,QAAQ,CAAC,+BAA+B,CAAC,CAAC;gBACjF,GAAG,CAAC,kCAAkC,CAAC,GAAG,QAAQ,CAAC,+BAA+B,CAAC,CAAC;gBACpF,GAAG,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;gBACxD,GAAG,CAAC,sBAAsB,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAC5D,GAAG,CAAC,oBAAoB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC;gBAC1D,GAAG,CAAC,uBAAuB,CAAC,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAC;gBAC9D,KAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wDAAmB,GAAnB,UAAoB,OAAO;QAA3B,iBAwBC;QAtBG,IAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAC;QAC/D,IAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QACtE,IAAM,EAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,IAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/E,IAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC;QAE9D,OAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjG,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAI7G,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;YACzB,IAAI,EAAE,CAAC,wBAAwB,KAAK,OAAO,CAAC,wBAAwB,EAAE;gBACpE,EAAE,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;gBAC1D,EAAE,CAAC,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;gBAC5D,EAAE,CAAC,qBAAqB,GAAG,KAAI,CAAC,cAAc,CAAC,EAAE,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE;oBAC7B,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;iBAC1D;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mDAAc,GAAd,UAAe,KAAK,EAAE,OAAO;QAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,YAAE;YACzB,IAAG,EAAE,CAAC,wBAAwB,KAAK,OAAO,CAAC,wBAAwB,EAAE;gBACnE,EAAE,CAAC,iBAAiB,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1C;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAED,qDAAgB,GAAhB,UAAiB,SAAc;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,+CAAU,GAAV,UAAW,KAAK,EAAE,OAAO;QACvB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,sDAAiB,GAAjB,UAAkB,IAAI;QAAtB,iBAoBC;QAnBC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC1G,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;YACxB,IAAG,CAAC,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC3B,KAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACtE,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,YAAE;oBACpC,EAAE,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAC1D,EAAE,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC,mBAAmB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;oBAClF,EAAE,CAAC,wBAAwB,GAAG,mCAAM,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBACvF,EAAE,CAAC,eAAe,GAAG,mCAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvE,CAAC,CAAC;gBACF,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzE,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAE;oBACvB,EAAE,CAAC,aAAa,GAAG,mCAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;gBACH,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;aAChC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;;gBAtL2B,6DAAiB;gBAAkB,wDAAa;gBAAmB,qEAAW;;IAhBjG;QAAR,2DAAK,EAAE;;mEAAkB;IACjB;QAAR,2DAAK,EAAE;;mEAAkB;IACjB;QAAR,2DAAK,EAAE;;gEAAe;IACb;QAAT,4DAAM,EAAE;;0EAAyC;IAJvC,0BAA0B;QANtC,+DAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,kOAAmD;YAEnD,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAkB4B,6DAAiB,EAAkB,wDAAa,EAAmB,qEAAW;OAjB/F,0BAA0B,CAwMtC;IAAD,iCAAC;CAAA;AAxMsC;;;;;;;;;;;;;ACZvC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,sBAAsB,mCAAmC,sCAAsC,uBAAuB,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,WAAW,oCAAoC,KAAK,sBAAsB,6BAA6B,sBAAsB,+BAA+B,KAAK,+CAA+C,2/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhpB;AACT;AACR;AACe;AACL;AACa;AAOxD;IA0CE,8BAAoB,MAAc,EAAU,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAhH,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAvCpI,aAAQ,GAAG,EAAE,CAAC;QAGd,eAAU,GAAG;YACX,uBAAuB,EAAE,CAAC;YAC1B,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;YACf,4BAA4B,EAAE,EAAE;YAChC,cAAc,EAAE,0BAA0B;YAC1C,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,EAAE;YAChB,mBAAmB,EAAE,CAAC;YACtB,iBAAiB,EAAE,CAAC;YACpB,6BAA6B,EAAC,CAAC;YAC/B,YAAY,EAAC,CAAC;YACd,mBAAmB,EAAE,CAAC;YACtB,oBAAoB,EAAE,CAAC;SACxB,CAAC;QAIF,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QAET,kBAAa,GAAG;YACd,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAC;YACzB,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAC;YAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAC;SAC3B,CAAC;QACF,cAAS,GAAY,KAAK,CAAC;IAE6G,CAAC;IAEzI,uCAAQ,GAAR;QAAA,iBAgCC;QA/BC,IAAI,CAAC,SAAS,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5H,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;SACpC;aAAM;YACL,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,QAAQ,IAAI,CAAC,EAAE,EAAE;gBACf,KAAK,IAAI;oBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;oBAAC,MAAM;gBACxD,KAAK,IAAI;oBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;oBAAC,MAAM;gBACxD,KAAK,IAAI;oBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;oBAAC,MAAM;gBACxD,KAAK,IAAI;oBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;oBAAC,MAAM;gBACxD;oBAAS,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;oBAAC,MAAM;aACvD;YACD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACjD,IAAI,CAAC,IAAI,GAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC3F,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,SAAS,CAAC,kBAAQ;oBACrH,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;wBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;wBACxB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC3E,KAAI,CAAC,mBAAmB,EAAE,CAAC;qBAC5B;yBAAM;wBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;qBACvC;gBACH,CAAC,CAAC;aACH;SACF;IACH,CAAC;IAED,+CAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IACD,kDAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAG,KAAK,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE;YACtC,IAAM,aAAa,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAE/C,OAAO,mCAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACnD;aACI;YACH,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,kDAAmB,GAAnB;QAAA,iBAOC;QANC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC/F,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;QAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,KAAK,KAAI,CAAC,cAAc,CAAC,MAAM,EAApC,CAAoC,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC;IAC/F,CAAC;IAED,6CAAc,GAAd;QACE,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC,CAAC;QACnE,IAAI,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACnF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,GAAG,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjG,IAAI,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACrC,IAAI,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACxG;IACH,CAAC;IAED,kDAAmB,GAAnB,UAAoB,IAAS;QAC3B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAE;gBACvB,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;gBACxD,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAI,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE;oBACjD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,EAAG;gBAC/F,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;aAClC;iBACI,IAAI,WAAW,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;gBAC9D,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;gBACzF,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;gBACxF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;aAC3F;SACF;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,CAAC;YACzF,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACxF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,+BAA+B,CAAC,CAAC;SAC3F;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED,6CAAc,GAAd,UAAe,WAAkB;QAC/B,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAnF,CAAmF,CAAC;QAC/H,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChF,CAAC;IAED,6CAAc,GAAd,UAAe,WAAkB;QAAjC,iBAMC;QALC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,QAAQ,KAAK,KAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAzD,CAAyD,CAAC,CAAC;QAClG,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAnF,CAAmF,CAAC;QAC/H,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;QAC5E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAChF,CAAC;IAED,+CAAgB,GAAhB,UAAiB,SAAc;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAGD,2CAAY,GAAZ;QAAA,iBAuCC;QAtCC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,0BAA0B,GAAG,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;YACzF,IAAI,CAAC,UAAU,CAAC,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAC7D,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;YACnE,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;YACvE,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,2BAA2B,GAAG,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;YAC3F,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;gBAC/E,IAAI,CAAC,UAAU,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;aACvF;YACD,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC5D,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE;gBAC1F,IAAI,CAAC,mBAAmB,EAAE,CAAC;aAC5B;iBACI;gBACH,IAAI,CAAC,sBAAsB,EAAE,CAAC;aAC/B;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBAC5D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBAC1B,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;oBACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACtC,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;iBAClC;qBAAK;oBACJ,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC;SACH;IACH,CAAC;IAED,qDAAsB,GAAtB;QACE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,EAAE,CAAC;IAClD,CAAC;IAED,kDAAmB,GAAnB;QACE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACtF,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IACpE,CAAC;IAED,qCAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;YAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;YACzD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;gBApM2B,sDAAM;gBAAoB,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IA1CzH,oBAAoB;QALhC,+DAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,qNAA4C;;SAE7C,CAAC;yCA2C4B,sDAAM,EAAoB,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OA1CzH,oBAAoB,CA+OhC;IAAD,2BAAC;CAAA;AA/OgC;;;;;;;;;;;;;ACZjC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,sBAAsB,mCAAmC,sCAAsC,uBAAuB,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,iBAAiB,qBAAqB,qBAAqB,kCAAkC,oBAAoB,2BAA2B,KAAK,WAAW,oCAAoC,KAAK,sBAAsB,6BAA6B,sBAAsB,+BAA+B,KAAK,+CAA+C,uhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAhpB;AACT;AACR;AACe;AACL;AACa;AAOxD;IAkCE,kCAAoB,MAAc,EAAU,QAAqB,EAAU,OAA0B,EAAU,MAAqB;QAAhH,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QA5BpI,eAAU,GAAG;YACX,uBAAuB,EAAE,CAAC;YAC1B,eAAe,EAAE,CAAC;YAClB,YAAY,EAAE,CAAC;YACf,4BAA4B,EAAE,EAAE;YAChC,cAAc,EAAE,EAAE;YAClB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE,CAAC;YACpB,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,CAAC;YACjB,YAAY,EAAE,EAAE;YAChB,mBAAmB,EAAE,CAAC;YACtB,iBAAiB,EAAE,CAAC;YACpB,QAAQ,EAAC,CAAC;YACV,kBAAkB,EAAE,CAAC;YACrB,eAAe,EAAE,CAAC;SACnB,CAAC;QACF,aAAQ,GAAG,KAAK,CAAC;QAGjB,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;IAE+H,CAAC;IAEzI,2CAAQ,GAAR;QAAA,iBA8BC;QA7BC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YACjD,IAAI,CAAC,IAAI,GAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;YACnC,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;gBACtC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAQ;oBACxF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;wBAC1B,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;wBACxB,KAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC9E;yBAAM;wBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;qBACvC;gBACH,CAAC,CAAC;gBACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,mCAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aAC5F;iBAAM;gBACL,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,kBAAQ;oBACxF,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;wBAC1B,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;wBACxB,KAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBACxE;yBAAM;wBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;qBACvC;gBACH,CAAC,CAAC;aACH;SACA;IACH,CAAC;IAED,sDAAmB,GAAnB,UAAoB,IAAS;QAC3B,IAAI,WAAW,GAAS,EAAE,CAAC;QAC3B,IAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YACxB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAE;gBACvB,IAAI,WAAW,GAAI,IAAI,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC;gBACzD,IAAI,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjC,IAAG,WAAW,CAAC,OAAO,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE;oBAChD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACtB;YACH,CAAC,CAAC,CAAC;YACH,IAAI,WAAW,CAAC,MAAM,EAAE;gBACtB,IAAI,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,WAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAnF,CAAmF,CAAC;gBAC/H,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;gBACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;gBACxE,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC;aACpI;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;gBAC9E,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;gBAC1F,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;aACvE;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB;IACH,CAAC;IAED,iDAAc,GAAd;QACC,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,mDAAgB,GAAhB,UAAiB,SAAc;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,+CAAY,GAAZ;QAAA,iBAgCC;QA/BC,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;YAC3B,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/K,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAC1D,IAAI,CAAC,UAAU,CAAC,qBAAqB,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3G,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YACvC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;YACnH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;YACtF,IAAI,CAAC,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC/D,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;gBAC5D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACxB,KAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;oBACxB,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBACnC,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAM;oBACL,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;YACH,CAAC,CAAC;SACH;IACH,CAAC;IAED,mDAAgB,GAAhB,UAAiB,IAAI;QACnB,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,sDAAmB,GAAnB,UAAoB,IAAI;QACtB,IAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC3B,IAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,IAAG,KAAK,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE;YACtC,IAAM,aAAa,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;YACxC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAE/C,OAAO,mCAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACnD;aACI;YACH,OAAO,mCAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yCAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACrC,CAAC;;gBA/I2B,sDAAM;gBAAoB,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;;IAlCzH,wBAAwB;QALpC,+DAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,oOAAiD;;SAElD,CAAC;yCAmC4B,sDAAM,EAAoB,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa;OAlCzH,wBAAwB,CAmLpC;IAAD,+BAAC;CAAA;AAnLoC;;;;;;;;;;;;;ACZrC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,iBAAiB,wBAAwB,wBAAwB,8BAA8B,KAAK,gBAAgB,wBAAwB,yBAAyB,8BAA8B,KAAK,+CAA+C,+yB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA1R;AACT;AACO;AACQ;AAOxD;IAUE,6BAAoB,MAAc,EAAU,OAA0B,EAAU,QAAqB;QAAjF,WAAM,GAAN,MAAM,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,aAAQ,GAAR,QAAQ,CAAa;QANrG,eAAU,GAAG,CAAC,CAAC;IAM0F,CAAC;IAE1G,sCAAQ,GAAR;QACE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC9C,IAAG,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE;gBACvC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAE;oBACvB,IAAG,EAAE,CAAC,KAAK,KAAK,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAI,CAAC,EAAE;wBACpE,EAAE,CAAC,eAAe,GAAG,IAAI,CAAC;qBAC3B;oBACD,IAAG,EAAE,CAAC,KAAK,KAAK,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAI,CAAC,EAAE;wBAC5E,EAAE,CAAC,eAAe,GAAG,KAAK,CAAC;qBAC5B;gBACH,CAAC,CAAC;aACH;YAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,eAAe,EAAnB,CAAmB,CAAC,CAAC;YACnE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;gBACxC,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YACnC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACzD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC;YAC7D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;SAC7D;IACH,CAAC;IAED,oCAAM,GAAN;QACE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACrC,CAAC;;gBAlC2B,sDAAM;gBAAmB,6DAAiB;gBAAoB,qEAAW;;IAV1F,mBAAmB;QAL/B,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;YAC3B,kNAA2C;;SAE5C,CAAC;yCAW4B,sDAAM,EAAmB,6DAAiB,EAAoB,qEAAW;OAV1F,mBAAmB,CA8C/B;IAAD,0BAAC;CAAA;AA9C+B;;;;;;;;;;;;;ACVhC;AAAe,+EAAgB,wBAAwB,yBAAyB,KAAK,yBAAyB,0BAA0B,2BAA2B,wBAAwB,yBAAyB,qBAAqB,oBAAoB,KAAK,iBAAiB,qBAAqB,gCAAgC,kCAAkC,oBAAoB,sCAAsC,KAAK,6BAA6B,kCAAkC,2BAA2B,qBAAqB,2BAA2B,gCAAgC,KAAK,8JAA8J,iCAAiC,KAAK,6BAA6B,gCAAgC,6CAA6C,sCAAsC,gCAAgC,gCAAgC,KAAK,sEAAsE,+BAA+B,mCAAmC,KAAK,2BAA2B,iKAAiK,KAAK,+BAA+B,kCAAkC,qBAAqB,wBAAwB,sBAAsB,+BAA+B,+BAA+B,oCAAoC,sBAAsB,KAAK,2BAA2B,gBAAgB,uBAAuB,qBAAqB,wBAAwB,yBAAyB,+IAA+I,KAAK,6BAA6B,wBAAwB,qBAAqB,0BAA0B,wBAAwB,uBAAuB,OAAO,4BAA4B,yBAAyB,wBAAwB,yBAAyB,iJAAiJ,OAAO,eAAe,0CAA0C,uBAAuB,cAAc,eAAe,mBAAmB,qBAAqB,sBAAsB,KAAK,cAAc,6BAA6B,oBAAoB,sBAAsB,KAAK,oBAAoB,yBAAyB,KAAK,qBAAqB,qBAAqB,qBAAqB,KAAK,mBAAmB,gCAAgC,0BAA0B,KAAK,qBAAqB,iBAAiB,KAAK,iBAAiB,qBAAqB,KAAK,yBAAyB,wBAAwB,oJAAoJ,oDAAoD,8RAA8R,6CAA6C,6CAA6C,KAAK,qBAAqB,sCAAsC,kCAAkC,0BAA0B,qBAAqB,iBAAiB,2BAA2B,KAAK,uBAAuB,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,iBAAiB,2BAA2B,KAAK,+CAA+C,+8N;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAnzH;AAC5B;AACO;AACL;AACa;AAChB;AACX;AAE7B,IAAM,UAAU,GAAG,iFAAiF,CAAC;AAErG,IAAM,eAAe,GAAG,OAAO,CAAC;AAQhC;IAiCE,0BAAoB,QAAqB,EAAU,OAA0B,EAAU,MAAqB,EAAU,MAAc;QAAhH,aAAQ,GAAR,QAAQ,CAAa;QAAU,YAAO,GAAP,OAAO,CAAmB;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,WAAM,GAAN,MAAM,CAAQ;QA1BpI,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,SAAI,GAAG,CAAC,CAAC;QACT,kBAAa,GAAU,EAAE,CAAC;QAC1B,aAAQ,GAAG,EAAE,CAAC;QACd,aAAQ,GAAG,EAAE,CAAC;QACd,eAAU,GAAG,KAAK,CAAC;QACnB,aAAQ,GAAE,EAAE,CAAC;QAGb,kBAAa,GAAG,KAAK,CAAC;QAEtB,OAAE,GAAG,IAAI,CAAC;QACV,kBAAa,GAAG,KAAK,CAAC;QAEtB,aAAQ,GAAG,CAAC,CAAC;QACb,YAAO,GAAG,CAAC,CAAC;QACZ,aAAQ,GAAG,CAAC,CAAC;QACb,QAAG,GAAG,CAAC,CAAC;QACR,iBAAY,GAAG,CAAC,CAAC;QAEjB,mBAAc,GAAG,EAAE,CAAC;QAGpB,8BAAyB,GAAG,CAAC,CAAC;IAC0G,CAAC;IAEzI,mCAAQ,GAAR;QACE,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,IAAI,CAAC,kBAAkB,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QACnJ,QAAQ,IAAI,CAAC,EAAE,EAAE;YACf,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,MAAM;YACxD,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,MAAM;YACxD,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,MAAM;YACxD,KAAK,IAAI;gBAAE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,MAAM;YACxD;gBAAS,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC;gBAAC,MAAM;SACvD;QAED,IAAI,CAAC,yBAAyB,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAC3F,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;IAED,yCAAc,GAAd,UAAe,YAAiB,EAAE,YAAY;QAA9C,iBA2BC;QA1BC,IAAI,CAAC,oBAAoB,GAAG,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC5G,KAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACxB,KAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;gBAC5B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,WAAW,CAAC,aAAa,CAAC;gBACnD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,eAAe,EAAnB,CAAmB,CAAC,CAAC;gBACzE,IAAG,KAAI,CAAC,aAAa,IAAI,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAC,CAAC,EAAC;oBACnF,KAAI,CAAC,YAAY,GAAC,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAE,UAAG,CAAC,KAAK,KAAI,eAAe,EAA5B,CAA4B,CAAC,CAAC;iBAC/E;gBACD,IAAG,CAAC,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;oBACnE,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,KAAK,KAAK,eAAe,EAA5B,CAA4B,CAAE,CAAC;iBACnF;gBACD,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,EAAE;oBAClE,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC;iBACxD;gBACD,IAAI,YAAY,KAAK,CAAC,EAAE;oBACtB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC;iBACtD;gBACD,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACjE,KAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACvE;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,sCAAW,GAAX,UAAY,KAAK;QACf,QAAO,KAAK,CAAC,KAAK,EAAE;YAClB,KAAK,CAAC;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAAC,MAAM;YACjD,KAAK,CAAC;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC;gBAAC,MAAM;YAChD,KAAK,CAAC;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAAC,MAAM;YACjD,KAAK,CAAC;gBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC;gBAAC,MAAM;YAC5C;gBAAS,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAAC,MAAM;SACnD;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACpE,CAAC;IAED,sCAAW,GAAX,UAAY,SAAS;QACb,+BAAO,EAAE,qBAAI,CAAe;QAClC,IAAG,IAAI,IAAI,MAAM,EAAE;YACjB,IAAI,IAAI,GAAG,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,0BAA0B,CAAC;YACnG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,QAAC,EAAE,EAAE,CAAC,CAAC;SACtG;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,QAAC,EAAE,EAAE,CAAC,CAAC;SACzI;IACH,CAAC;IAED,qCAAU,GAAV,UAAW,KAAK;QAAhB,iBAkCC;QAjCC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACxB,IAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,IAAI,GAAG,OAAO,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;aAAM;YACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,IAAI,YAAU,GAAG,IAAI,UAAU,EAAE,CAAC;YAClC,YAAU,CAAC,MAAM,GAAG,UAAC,EAAE;gBACrB,KAAI,CAAC,UAAU,GAAG,YAAU,CAAC,MAAM,CAAC;gBACpC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAQ,KAAI,CAAC,QAAQ,aAAU,EAAE,EAAE,CAAC,CAAC;gBAC/E,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,KAAI,CAAC,UAAU,GAAG;oBAChB,gBAAgB,EAAE,KAAI,CAAC,oBAAoB;oBAC3C,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,UAAU,EAAE,KAAI,CAAC,QAAQ;oBACzB,cAAc,EAAE,KAAI,CAAC,UAAU;oBAC/B,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACtD,yBAAyB,EAAE,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;iBACrF,CAAC;YACJ,CAAC;YACD,YAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACpC;QACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAED,uCAAY,GAAZ,UAAa,WAAW;QAAxB,iBAKC;QAJC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YACpE,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAgB,GAAhB,UAAiB,QAAQ;QACvB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACxB,IAAI,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gBAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC;aAAE;iBACrF;gBACH,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAClE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;aAAM;YACL,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;SACvC;IACH,CAAC;IAED,iDAAsB,GAAtB;QAAA,iBAIC;QAHC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAClE,KAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAa,GAAb;QACE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,qCAAU,GAAV;QACE,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,EAAE;QACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IACzB,CAAC;IAED,8CAAmB,GAAnB,UAAoB,KAAK;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,qCAAU,GAAV,UAAW,SAAS;QACb,2BAAK,EAAE,yBAAM,CAAe;QACjC,IAAI,KAAK,IAAI,EAAE,EAAE;YACf,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;gBAC9B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,KAAK,MAAM,EAAvB,CAAuB,CAAC,CAAC;aACjF;iBAAM;gBACL,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;aAC1B;SACF;aAAM;YACL,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,SAAS,IAAI,MAAM,EAAtB,CAAsB,CAAC,CAAC;YAC1E,IAAI,UAAU,CAAC,MAAM,EAAE;gBACrB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;oBAC5B,IAAI,EAAE,CAAC,SAAS,IAAI,MAAM,EAAE;wBAC1B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC;qBAClB;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,QAAQ,GAAG;oBACb,SAAS,EAAE,MAAM;oBACjB,KAAK,EAAE,KAAK;iBACb,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;YAC9B,IAAI,MAAI,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAE;gBAC5B,MAAI,GAAG,MAAI,CAAC,MAAM,CAAC,YAAE,IAAI,SAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAA/D,CAA+D,CAAC,CAAC;YAC5F,CAAC,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,MAAI,CAAC;SAC1B;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;SAClE;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,sCAAW,GAAX;QAAA,iBAiCC;QAhCC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC9F;iBACI;gBACH,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;aAC/F;SACF;aAAM;YACL,IAAI,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,oBAAkB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,oBAAoB,KAAK,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE;gBAChG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAE;oBAC7B,oBAAkB,GAAG,oBAAkB,GAAG,GAAG,GAAG,EAAE,CAAC,uBAAuB;gBAC5E,CAAC,CAAC,CAAC;gBACH,oBAAkB,GAAG,oBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAClD;iBACI;gBACH,oBAAkB,GAAG,IAAI,CAAC;aAC3B;YACD,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,EAAE,oBAAkB,CAAC,CAAC,SAAS,CAAC,UAAC,QAAa;gBAC/G,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBACxB,KAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;oBAC3B,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC;oBAClD,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,aAAG,IAAI,UAAG,CAAC,eAAe,EAAnB,CAAmB,CAAC,CAAC;oBACzE,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,UAAU,CAAC,cAAc,CAAC;oBACrD,KAAI,CAAC,iBAAiB,CAAC,KAAI,CAAC,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;iBAC9F;qBAAM;oBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;iBACvC;gBACD,KAAI,CAAC,cAAc,CAAC,KAAI,CAAC,oBAAoB,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YACpE,CAAC,CAAC;SACH;IACH,CAAC;IAED,4CAAiB,GAAjB,UAAkB,IAAW,EAAE,aAAqB,EAAE,SAAiB,EAAE,YAAmB;;QAC1F,IAAI,WAAW,GAAU,YAAY,CAAC,GAAG,CAAC,eAAK,IAAI,YAAK,CAAC,KAAK,EAAX,CAAW,CAAC,CAAC;QAChE,IAAI,YAAY,GAAa,YAAY,CAAC,GAAG,CAAC,gBAAM,IAAI,aAAM,CAAC,MAAM,EAAb,CAAa,CAAC,CAAC;QACvE,IAAI,aAAa,GAAU,EAAE,CAAC;QAC9B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;;gBACnC,KAA0B,0BAAI,uEAAE;oBAA3B,IAAI,aAAa;oBACpB,IAAI,UAAU,GAAQ,EAAE,CAAC;;wBACzB,KAAuB,uDAAW,2GAAE;4BAA/B,IAAI,UAAU;4BACjB,UAAU,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;yBACpD;;;;;;;;;oBACD,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBAC5C,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;iBAC5C;;;;;;;;;YACD,IAAM,SAAS,GAAmB,0CAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC1E,IAAI,KAAK,GAAG,0CAAU,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACvD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;gBAC3C,IAAI,OAAO,GAAG,0CAAU,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,iCAAiC;gBAC/E,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAClC,SAAS,CAAC,OAAO,CAAC,GAAG;oBACnB,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;oBAClB,CAAC,EAAE,GAAG;oBACN,CAAC,EAAE;wBACD,SAAS,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE;wBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;qBACrB;iBACF,CAAC;aACH;YACD,0CAAU,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAM,QAAQ,GAAkB,EAAE,MAAM,YAAI,GAAC,SAAS,IAAG,SAAS,KAAE,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;YAChG,IAAM,WAAW,GAAQ,0CAAU,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;SAClD;IAEH,CAAC;IAED,0CAAe,GAAf,UAAgB,MAAW,EAAE,QAAgB;QAC3C,IAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QAC5D,iDAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,eAAe,CAAC,CAAC;IACrD,CAAC;;gBAnQ6B,qEAAW;gBAAmB,6DAAiB;gBAAkB,wDAAa;gBAAkB,sDAAM;;IAjCzH,gBAAgB;QAN5B,+DAAS,CAAC;YACT,QAAQ,EAAE,aAAa;YACvB,8LAAuC;YAEvC,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAkC8B,qEAAW,EAAmB,6DAAiB,EAAkB,wDAAa,EAAkB,sDAAM;OAjCzH,gBAAgB,CAyS5B;IAAD,uBAAC;CAAA;AAzS4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClBqB;AACO;AAGD;AASxD;IAKE,uBAAoB,KAAqB,EAAU,MAAc,EAAU,QAAqB;QAA5E,UAAK,GAAL,KAAK,CAAgB;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,aAAQ,GAAR,QAAQ,CAAa;QAEhG,kBAAa,GAAG,KAAK,CAAC;QACtB,cAAS,GAAG,IAAI,CAAC;QACjB,aAAQ,GAAQ;YACd,KAAK,EAAE,EAAE;YACT,EAAE,EAAE,CAAC;YACL,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,CAAC;YACf,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,aAAa,EAAE,KAAK;SACrB,CAAC;IAbkG,CAAC;IAmBrG,gCAAQ,GAAR;QAAA,iBA2BC;QAzBC,IAAI;aACD,KAAK;aACL,WAAW;aACX,SAAS,CAAC,gBAAM;YACf,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,SAAS,EAAE;gBACpC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;aAC1D;YACD,KAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;YACjC,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACvD,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACjD,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5D,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;YAClD,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,KAAI,CAAC,SAAS,IAAI,SAAS,IAAI,KAAI,CAAC,SAAS,IAAI,EAAE,EAAE;gBACvD,KAAI,CAAC,WAAW,EAAE,CAAC;aACpB;iBACI;gBACH,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;oBACrB,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBACpC;qBACI;oBACH,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBAClC;aACF;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IACD,uCAAe,GAAf,UAAgB,MAAM;QAAtB,iBAsBC;QArBC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAQ;YAC/D,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBAC1B,KAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAI,CAAC,SAAS,EAAE;oBAClB,KAAI,CAAC,uBAAuB,EAAE,CAAC;oBAC/B,KAAI,CAAC,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACrD,IAAI,KAAI,CAAC,SAAS,IAAI,SAAS,IAAI,KAAI,CAAC,SAAS,IAAI,EAAE,EAAE;wBACvD,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;qBACjC;yBACI;wBACH,KAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;wBACpD,KAAI,CAAC,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;wBAC7D,KAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;qBAC3C;iBACF;qBAAM;oBACL,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;iBAChC;aACF;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACvC;QACD,CAAC,CAAC;IACJ,CAAC;IAED,+CAAuB,GAAvB;QACE,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC/D,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/D,cAAc,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,mFAAmF;QACjF,cAAc,CAAC,OAAO,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QACzD,GAAG;QACH,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACzD,cAAc,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC5E,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE;YACtC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC5C;aACI;YACH,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;SAC5D;QACD,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACvE,IAAI,aAAa,GAAG;YAClB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;YAChC,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,mBAAmB;YACjD,SAAS,EAAE,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC;SAC/C,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QAE/C,QAAQ,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE;YACtC,KAAK,CAAC;gBAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAAC,MAAM;YAClD,KAAK,CAAC;gBAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAAC,MAAM;YAClD,KAAK,CAAC;gBAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAAC,MAAM;YAClD,KAAK,CAAC;gBAAE,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAAC,MAAM;YAClD;gBAAS,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAAC,MAAM;SACpD;QACD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAChE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,mCAAW,GAAX;QAAA,iBAWC;QAVC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,gBAAM;YAC7C,IAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAC;gBACtB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;aACpD;iBAAM;gBACL,KAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;aACrC;QACH,CAAC,EACC,UAAC,KAAK;YACJ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACP,CAAC;;gBA1H0B,8DAAc;gBAAkB,sDAAM;gBAAoB,qEAAW;;IALrF,aAAa;QALzB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,qLAAoC;SAErC,CAAC;yCAM2B,8DAAc,EAAkB,sDAAM,EAAoB,qEAAW;OALrF,aAAa,CAiIzB;IAAD,oBAAC;CAAA;AAjIyB;;;;;;;;;;;;;ACb1B;AAAe,qHAAsD,kCAAkC,oBAAoB,wBAAwB,yBAAyB,qBAAqB,2BAA2B,kCAAkC,KAAK,iEAAiE,8BAA8B,4BAA4B,yBAAyB,gCAAgC,KAAK,6DAA6D,wBAAwB,8BAA8B,4BAA4B,yBAAyB,wBAAwB,qBAAqB,yBAAyB,gCAAgC,mDAAmD,gCAAgC,uCAAuC,KAAK,0CAA0C,iCAAiC,yBAAyB,8BAA8B,qBAAqB,KAAK,8CAA8C,iCAAiC,yBAAyB,6BAA6B,KAAK,2CAA2C,oCAAoC,2CAA2C,gCAAgC,gCAAgC,KAAK,kGAAkG,6CAA6C,gCAAgC,KAAK,mEAAmE,8BAA8B,4BAA4B,KAAK,iHAAiH,8BAA8B,yCAAyC,KAAK,uEAAuE,yCAAyC,6CAA6C,kCAAkC,KAAK,6CAA6C,+BAA+B,KAAK,uCAAuC,qCAAqC,KAAK,sFAAsF,iCAAiC,yBAAyB,gCAAgC,yBAAyB,QAAQ,6DAA6D,sCAAsC,KAAK,uDAAuD,mDAAmD,KAAK,wCAAwC,yBAAyB,wBAAwB,kCAAkC,qBAAqB,2BAA2B,qBAAqB,0BAA0B,kBAAkB,2BAA2B,KAAK,+CAA+C,qDAAqD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,+CAA+C,uDAAuD,uDAAuD,SAAS,aAAa,wCAAwC,SAAS,OAAO,+CAA+C,uDAAuD,uDAAuD,SAAS,aAAa,uCAAuC,SAAS,KAAK,mDAAmD,uqM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA96G;AACnF;AACO;AACQ;AACd;AACT;AACK;AAQtC;IAuCE,qCAAoB,YAAyB,EAAU,MAAc,EAAU,OAA0B;QAArF,iBAAY,GAAZ,YAAY,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QAAU,YAAO,GAAP,OAAO,CAAmB;QAtB/F,eAAU,GAAG,IAAI,0DAAY,EAAE,CAAC;QAChC,cAAS,GAAG,IAAI,0DAAY,EAAE,CAAC;QAC/B,qBAAgB,GAAG,IAAI,0DAAY,EAAE,CAAC;QAKhD,cAAS,GAAY,KAAK,CAAC;QAE3B,mBAAc,GAAG,EAAE,CAAC;QAEpB,UAAK,GAAG,cAAc,CAAC;QAIvB,YAAO,GAAG,EAAE,CAAC;QAGb,kBAAa,GAAY,KAAK,CAAC;QAI8E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;IAE1I,8CAAQ,GAAR;QAAA,iBA0BC;QAzBC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;YACjD,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;SAChB;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,CAAC,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5I,uDAAW,CAAC,QAAQ,CAAC,GAAG,UAAC,KAAK,EAAE,MAAM;YACpC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACnE,OAAO,IAAI,CAAC;aACb;YAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;gBACzC,OAAO,KAAK,CAAC;aACd;YAED,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,gBAAM;YAChD,KAAI,CAAC,UAAU,GAAG,MAAM,CAAC;QAC3B,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,SAAS,CAAC,eAAK;YAC9C,KAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC,CAAC;IACJ,CAAC;IAED,iDAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,OAAO,CAAC,QAAQ,EAAE;YACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;SAC3E;IACH,CAAC;IAED,+CAAS,GAAT,UAAU,MAAM;QACd,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,yDAAmB,GAAnB,UAAoB,WAAW;QAC7B,OAAO,WAAW,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;QACnC,CAAC,CAAC;IACJ,CAAC;IAED,8CAAQ,GAAR,UAAS,KAAY;QACnB,IAAI,IAAI,GAAG,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAAC,sBAAsB,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,oDAAc,GAAd,UAAe,KAAU;QAAzB,iBAOC;QANC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAC,GAAQ;YAC7B,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,EAA5B,CAA4B,CAAC,GAAG,CAAC,CAAC;YAC/E,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YAC5B,IAAI,SAAS,GAAG,EAAE,OAAO,WAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAChD,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAc,GAAd,UAAe,KAAK,EAAE,MAAM;QAC1B,IAAI,SAAS,GAAG;YACd,KAAK,SAAE,MAAM;SACd,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,iDAAW,GAAX,UAAY,OAAY,EAAE,IAAI;QAC5B,IAAI,SAAS,GAAG,EAAE,OAAO,WAAE,IAAI,QAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,iDAAW,GAAX,UAAY,OAAY,EAAE,IAAI;QAC5B,IAAI,SAAS,GAAG,EAAE,OAAO,WAAE,IAAI,QAAE,CAAC;QAClC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,sDAAgB,GAAhB,UAAiB,MAAM;QACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;IAC/C,CAAC;IAED,oDAAc,GAAd,UAAe,SAAS;QACtB,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iDAAW,GAAX,UAAY,KAAK,EAAE,SAAS;QAC1B,IAAI,SAAS,GAAG;YACd,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;SAC1B,CAAC;QACF,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC9B;iBACI;gBACH,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;aACpE;SACF;aAAM;YACL,IAAI,SAAS,CAAC,KAAK,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAE;oBACrB,IAAI,EAAE,CAAC,SAAS,KAAK,SAAS,EAAE;wBAC9B,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;qBAC/B;gBACH,CAAC,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAC,IAAI,QAAC,CAAC,SAAS,KAAK,SAAS,EAAzB,CAAyB,CAAC,CAAC;aACpE;SACF;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,kDAAY,GAAZ;QACE,IAAI,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAM;YACzB,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,WAAC,IAAI,0CAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,mCAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAA5E,CAA4E,CAAC,CAAC;QAC9H,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,CAAC;;gBA1HiC,qEAAW;gBAAkB,sDAAM;gBAAmB,6DAAiB;;IAtChG;QAAR,2DAAK,EAAE;;iEAAe;IACd;QAAR,2DAAK,EAAE;;iEAAe;IACd;QAAR,2DAAK,EAAE;;qEAAmB;IAClB;QAAR,2DAAK,EAAE;;iEAAe;IACd;QAAR,2DAAK,EAAE;;mEAAiB;IAChB;QAAR,2DAAK,EAAE;;iEAAe;IACd;QAAR,2DAAK,EAAE;;kEAAgB;IACf;QAAR,2DAAK,EAAE;;mEAAiB;IAChB;QAAR,2DAAK,EAAE;;mEAAiB;IAChB;QAAR,2DAAK,EAAE;;kEAAgB;IACf;QAAR,2DAAK,EAAE;;qEAAmB;IAClB;QAAR,2DAAK,EAAE;;mEAAiB;IAChB;QAAR,2DAAK,EAAE;;gEAAc;IACb;QAAR,2DAAK,EAAE;;oEAAkB;IACjB;QAAR,2DAAK,EAAE;;6DAAW;IAET;QAAT,4DAAM,EAAE;;mEAAiC;IAChC;QAAT,4DAAM,EAAE;;kEAAgC;IAC/B;QAAT,4DAAM,EAAE;;yEAAuC;IAmBC;QAAhD,+DAAS,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;kCAAmB,mDAAK;yEAAa;IAtC1E,2BAA2B;QAPvC,+DAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;YACpC,qOAAoD;YAEpD,aAAa,EAAE,+DAAiB,CAAC,IAAI;;SACtC,CAAC;yCAyCkC,qEAAW,EAAkB,sDAAM,EAAmB,6DAAiB;OAvC9F,2BAA2B,CAkKvC;IAAD,kCAAC;CAAA;AAlKuC;;;;;;;;;;;;;;;;;;ACdxC,IAAM,OAAO,GAAC,EAAE,CAAC;AACjB,gDAAgD;AAChD,+DAA+D;AAC/D,+DAA+D;AAExD,IAAM,WAAW,GAAG;IACzB,UAAU,EAAE,KAAK;IACjB,MAAM,EAAE,EAAE;IACV,sBAAsB;IACtB,aAAa,EAAE,6CAA6C;IAC5D,WAAW,EAAE,iDAAiD;IAC9D,cAAc,EAAE,oDAAoD;IACpE,kBAAkB,EAAC,2CAA2C;IAC9D,iBAAiB,EAAE,0CAA0C;IAC7D,iBAAiB,EAAE,gDAAgD;IACnE,eAAe,EAAE,wCAAwC;IACzD,iBAAiB,EAAE,8CAA8C;IACjE,kBAAkB,EAAE,kDAAkD;IACtE,aAAa,EAAE,sCAAsC;IACrD,WAAW,EAAE,iDAAiD;IAC9D,sBAAsB,EAAE,+CAA+C;IACvE,gBAAgB,EAAE,gDAAgD;IAClE,qBAAqB,EAAE,8CAA8C;IACrE,UAAU,EAAE,uCAAuC;IACnD,cAAc,EAAE,+CAA+C;IAC/D,iBAAiB,EAAE,0CAA0C;IAC7D,iBAAiB,EAAE,0CAA0C;IAC7D,cAAc,EAAE,uCAAuC;IACvD,gBAAgB,EAAE,yCAAyC;IAC3D,2BAA2B,EAAE,oDAAoD;IACjF,aAAa,EAAE,sCAAsC;IAErD,sBAAsB;IACtB,qBAAqB,EAAE,wCAAwC;IAC/D,yBAAyB,EAAE,4CAA4C;IACvE,0BAA0B,EAAE,gDAAgD;IAC5E,wBAAwB,EAAE,4CAA4C;IACtE,iCAAiC,EAAE,kDAAkD;IACrF,mBAAmB,EAAE,sCAAsC;IAC3D,sBAAsB,EAAE,4CAA4C;IACpE,mBAAmB,EAAE,wCAAwC;IAC7D,eAAe,EAAE,qCAAqC;IACtD,qBAAqB,EAAE,wCAAwC;IAC/D,sBAAsB,EAAE,yCAAyC;IAEjE,oBAAoB;IACpB,UAAU,EAAE,8BAA8B;IAC1C,QAAQ,EAAE,qBAAqB;IAC/B,WAAW,EAAE,wBAAwB;IACrC,oBAAoB,EAAE,iCAAiC;IACvD,iBAAiB,EAAE,8BAA8B;IACjD,eAAe,EAAE,4BAA4B;IAC7C,oBAAoB,EAAE,wCAAwC;IAC9D,kBAAkB,EAAE,uCAAuC;IAC3D,UAAU,EAAE,6BAA6B;IACzC,qBAAqB,EAAE,kCAAkC;IACzD,UAAU,EAAE,8BAA8B;IAC1C,yBAAyB,EAAE,qCAAqC;IAChE,sBAAsB,EAAE,kCAAkC;IAG1D,iBAAiB,EAAE,6CAA6C;IAChE,wBAAwB,EAAE,6CAA6C;IACvE,6BAA6B,EAAE,+CAA+C;IAC9E,2BAA2B,EAAE,mDAAmD;IAEhF,iBAAiB,EAAE,8BAA8B;IACjD,0BAA0B,EAAE,uCAAuC;IACnE,0BAA0B,EAAE,uCAAuC;IACnE,oBAAoB,EAAE,mCAAmC;IACzD,uBAAuB,EAAE,gCAAgC;IACzD,wBAAwB,EAAE,gCAAgC;IAC1D,iBAAiB,EAAE,oCAAoC;IACvD,cAAc,EAAE,2BAA2B;IAC3C,gBAAgB,EAAE,6BAA6B;IAE/C,yBAAyB;IACzB,oBAAoB,EAAC,uCAAuC;IAC5D,oBAAoB,EAAC,0CAA0C;IAC/D,oBAAoB,EAAC,0CAA0C;IAC/D,oBAAoB,EAAC,0CAA0C;IAC/D,cAAc,EAAC,wCAAwC;IAEvD,cAAc;IACd,YAAY,EAAE,kCAAkC;IAChD,iBAAiB,EAAE,sCAAsC;IACzD,mBAAmB,EAAE,iCAAiC;IAEtD,gBAAgB,EAAE,sCAAsC;IACxD,kBAAkB,EAAE,uCAAuC;IAC3D,oBAAoB,EAAE,kCAAkC;IACxD,eAAe,EAAE,6BAA6B;IAC9C,kBAAkB,EAAE,gCAAgC;IAEpD,iBAAiB;IACjB,cAAc,EAAE,oCAAoC;IACpD,gBAAgB,EAAE,4CAA4C;IAC9D,kBAAkB,EAAE,kCAAkC;IACtD,mBAAmB,EAAE,gDAAgD;IACrE,yBAAyB,EAAE,yCAAyC;IACpE,8BAA8B,EAAE,8CAA8C;IAE9E,YAAY;IACZ,UAAU,EAAE,iBAAiB;IAC7B,eAAe,EAAE,cAAc;IAE/B,cAAc;IACd,mBAAmB,EAAE,iCAAiC;IACtD,qBAAqB,EAAE,mCAAmC;CAC3D,CAAC;;;;;;;;;;;;;;;;;;;;;;AC7G6C;AAC4B;AAE9B;AACY;AAElD,SAAS,UAAU;IACxB,OAAO,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,IAAM,SAAS,GAAG;IAChB,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;CAC1D,CAAC;AAEF,IAAI,qEAAW,CAAC,UAAU,EAAE;IAC1B,oEAAc,EAAE,CAAC;CAClB;AAED,gGAAsB,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,yDAAS,CAAC;KACzD,KAAK,CAAC,aAAG,IAAI,cAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;ACnBS;AAK3C;IAAA;IAIA,CAAC;IAHC,0CAAQ,GAAR;QACE,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAHQ,uBAAuB;QAHnC,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;OACW,uBAAuB,CAInC;IAAD,8BAAC;CAAA;AAJmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLO;AACO;AACb;AACqB;AACP;AACR;AAK3C;IAYE,qBAAoB,KAAiB,EAAU,MAAqB;QAAhD,UAAK,GAAL,KAAK,CAAY;QAAU,WAAM,GAAN,MAAM,CAAe;QAVpE,iBAAY,GAAG,IAAI,oDAAe,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACjE,YAAO,GAAG,IAAI,oDAAe,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACjE,kBAAa,GAAG,IAAI,oDAAe,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QAC7E,mBAAc,GAAG,IAAI,oDAAe,CAAC,cAAc,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC/E,eAAU,GAAG,IAAI,oDAAe,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACvE,WAAM,GAAG,IAAI,oDAAe,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC/D,kBAAa,GAAG,IAAI,oDAAe,CAAC,EAAE,CAAC,CAAC;QACxC,eAAU,GAAG,IAAI,oDAAe,CAAC,YAAY,CAAC,CAAC;QAC/C,cAAS,GAAG,IAAI,oDAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAEoC,CAAC;IAEzE,oCAAc,GAAd,UAAe,MAAc;QAC3B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,mCAAa,GAAb;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAED,mCAAa,GAAb,UAAc,KAAa;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,kCAAY,GAAZ;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;IAED,qCAAe,GAAf;QACE,OAAO,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;IAC5C,CAAC;IAED,kCAAY,GAAZ;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED,mCAAa,GAAb,UAAc,KAAK;QACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,sCAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,iCAAW,GAAX;QACE,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;IACxC,CAAC;IAED,kCAAY,GAAZ,UAAa,KAAK;QAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,sCAAgB,GAAhB,UAAiB,EAAU;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,qCAAe,GAAf;QACE,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED,oCAAc,GAAd,UAAe,KAAK;QAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,mCAAa,GAAb;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;IACrC,CAAC;IAED,0CAAoB,GAApB,UAAqB,KAAK;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,sCAAgB,GAAhB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED,uCAAiB,GAAjB,UAAkB,KAAK;QACrB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,yCAAmB,GAAnB;QACE,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;IAC3C,CAAC;IAED,uCAAiB,GAAjB,UAAkB,SAAS,EAAE,cAAc,EAAE,UAAkB,EAAE,UAAkB,EAAE,aAAa;QAChG,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,iBAAiB,SAAI,SAAS,SAAI,cAAc,SAAI,UAAU,SAAI,UAAU,SAAI,aAAe,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC1K,CAAC;IAED,oDAA8B,GAA9B,UAA+B,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,8BAA8B,SAAI,SAAS,SAAI,cAAc,SAAI,UAAU,SAAI,aAAe,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACzK,CAAC;IAED,mCAAa,GAAb,UAAc,SAAS,EAAE,cAAc;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,aAAa,SAAI,SAAS,SAAI,cAAgB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACzH,CAAC;IAED,uBAAuB;IACvB,mCAAa,GAAb,UAAc,kBAAuB,EAAE,QAAa,EAAE,QAAa,EAAE,aAAkB,EAAE,cAAmB;QAC1G,IAAI,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3I,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,aAAa,SAAI,kBAAkB,SAAI,QAAQ,SAAI,QAAQ,SAAI,aAAa,SAAI,CAAC,aAAe,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC3K,CAAC;IAED,iCAAW,GAAX,UAAY,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,uBAAuB;QACjF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,WAAW,SAAI,aAAa,SAAI,QAAQ,SAAI,MAAM,SAAI,aAAa,SAAI,uBAAyB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC3K,CAAC;IAED,oCAAc,GAAd,UAAe,QAAQ,EAAE,MAAM,EAAE,aAAa;QAC5C,IAAI,uBAAuB,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,WAAW,WAAM,QAAQ,SAAI,MAAM,SAAI,aAAa,SAAI,uBAAyB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC5J,CAAC;IAED,wCAAkB,GAAlB,UAAmB,OAAY,EAAE,MAAW,EAAE,aAAkB;QAC9D,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAI,qEAAW,CAAC,kBAAkB,SAAI,MAAM,SAAI,aAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACpI,CAAC;IACD,uCAAiB,GAAjB,UAAkB,SAAS;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,iBAAiB,SAAI,SAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,mCAAa,GAAb,UAAc,WAAW;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,iBAAmB,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,qCAAe,GAAf,UAAgB,WAAW;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,eAAiB,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,wCAAkB,GAAlB,UAAmB,aAAa,EAAE,QAAQ;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,kBAAkB,SAAI,aAAa,SAAI,QAAU,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC5H,CAAC;IAED,0CAAoB,GAApB,UAAqB,SAAc,EAAE,cAAmB;QACtD,IAAI,uBAAuB,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,iBAAiB,SAAI,SAAS,SAAI,cAAc,SAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,SAAI,uBAAyB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACnM,CAAC;IAED,iDAA2B,GAA3B,UAA4B,MAAW,EAAE,cAAmB,EAAE,UAAe,EAAE,YAAiB;QAC9F,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,2BAA2B,SAAI,MAAM,SAAI,cAAc,SAAI,UAAU,SAAI,YAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAClK,CAAC;IAED,+BAAS,GAAT,UAAU,MAAW,EAAE,YAAiB,EAAE,cAAmB;QAC3D,IAAI,aAAa,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3I,IAAI,uBAAuB,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,aAAa,SAAI,MAAM,SAAI,YAAY,SAAI,CAAC,aAAa,SAAI,uBAAyB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACjK,CAAC;IAED,uCAAiB,GAAjB,UAAkB,WAAW;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,WAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,kCAAY,GAAZ,UAAa,YAAiB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,sBAAsB,uBAAkB,YAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACjI,CAAC;IAED,6CAAuB,GAAvB,UAAwB,WAAW;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,gBAAkB,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,kDAA4B,GAA5B,UAA6B,WAAW;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,qBAAuB,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAChH,CAAC;IAED,sCAAgB,GAAhB,UAAiB,WAAW,EAAE,YAAiB;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAI,qEAAW,CAAC,UAAU,YAAO,YAAc,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACxH,CAAC;IAED,sCAAgB,GAAhB,UAAiB,wBAAwB,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY;QACzE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,gBAAgB,SAAI,wBAAwB,SAAI,UAAU,SAAI,MAAM,SAAI,YAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACjK,CAAC;IAED,wBAAwB;IACxB,2CAAqB,GAArB,UAAsB,aAAkB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,qBAAqB,SAAI,aAAe,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,+CAAyB,GAAzB,UAA0B,aAAkB;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,yBAAyB,SAAI,aAAe,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IACtH,CAAC;IAED,yCAAmB,GAAnB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,mBAAqB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IAC/F,CAAC;IAED,2CAAqB,GAArB,UAAsB,mBAAwB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,qBAAqB,SAAI,mBAAqB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IACxH,CAAC;IAED,4CAAsB,GAAtB,UAAuB,sBAA2B;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,sBAAwB,EAAE,sBAAsB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IAC3H,CAAC;IAED,qCAAe,GAAf;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,eAAiB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IAC3F,CAAC;IAED,gDAA0B,GAA1B,UAA2B,cAAmB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,0BAA0B,SAAI,cAAgB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACzH,CAAC;IAED,2CAAqB,GAArB,UAAsB,WAAgB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,wBAA0B,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IAClH,CAAC;IAED,uDAAiC,GAAjC,UAAkC,WAAgB;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,iCAAmC,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IAC3H,CAAC;IACD,6CAAuB,GAAvB,UAAwB,YAAiB,EAAE,MAAW,EAAE,aAAkB;QACxE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,sBAAsB,SAAI,YAAY,SAAI,MAAM,SAAI,aAAe,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC9I,CAAC;IAED,oCAAc,GAAd,UAAe,YAAiB;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,cAAgB,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,sCAAgB,GAAhB,UAAiB,cAAmB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,gBAAkB,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,iBAAiB;IACjB,gCAAU,GAAV,UAAW,WAAgB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,UAAY,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IACpG,CAAC;IAED,8BAAQ,GAAR;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,QAAU,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACrF,CAAC;IAED,iCAAW,GAAX;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,WAAa,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACxF,CAAC;IACD,oCAAc,GAAd;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,UAAY,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,0CAAoB,GAApB,UAAqB,YAAiB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,oBAAoB,SAAI,YAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,gCAAU,GAAV,UAAW,YAAiB;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,UAAU,SAAI,YAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,wCAAkB,GAAlB,UAAmB,YAAiB;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,kBAAkB,SAAI,YAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC/G,CAAC;IAED,wCAAkB,GAAlB,UAAmB,OAAY;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,iBAAiB,SAAI,OAAS,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,2CAAqB,GAArB,UAAsB,SAAc,EAAE,aAAkB;QACtD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,qBAAqB,SAAI,SAAS,SAAI,aAAe,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAChI,CAAC;IAED,gCAAU,GAAV,UAAW,WAAgB;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,UAAY,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IACpG,CAAC;IAED,iCAAiC;IACjC,0CAAoB,GAApB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,oBAAsB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACjG,CAAC;IACD,qCAAe,GAAf,UAAgB,eAAe;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,eAAiB,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IAC7G,CAAC;IACD,uCAAiB,GAAjB,UAAkB,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM;QAClE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,iBAAiB,SAAI,QAAQ,SAAI,SAAS,SAAI,cAAc,SAAI,KAAK,SAAI,MAAQ,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC5J,CAAC;IAED,mBAAmB;IACnB,uCAAiB,GAAjB,UAAkB,SAAc,EAAE,cAAmB;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,iBAAiB,SAAI,SAAS,SAAI,cAAgB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC7H,CAAC;IAED,sCAAgB,GAAhB,UAAiB,eAAoB,EAAE,cAAmB;QACxD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,gBAAgB,SAAI,eAAe,SAAI,cAAgB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAClI,CAAC;IAED,kCAAY,GAAZ,UAAa,WAAgB;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,YAAc,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC;IACtG,CAAC;IAED,uCAAiB,GAAjB,UAAkB,cAAmB,EAAE,YAAiB,EAAE,uBAA+B;QACvF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,kBAAkB,SAAI,cAAc,SAAI,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAI,cAAc,CAAC,OAAO,CAAC,eAAe,CAAC,SAAI,YAAY,SAAI,uBAAyB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC3O,CAAC;IAED,0CAAoB,GAApB,UAAqB,cAAmB;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,oBAAsB,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,wCAAkB,GAAlB,UAAmB,cAAmB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,kBAAoB,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAChH,CAAC;IAED,qCAAe,GAAf,UAAgB,cAAmB,EAAE,iBAAsB;QACzD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,eAAe,SAAI,cAAc,SAAI,iBAAmB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC7J,CAAC;IAED,yCAAmB,GAAnB,UAAoB,cAAmB,EAAE,MAAW,EAAE,eAAoB;QACxE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,mBAAmB,SAAI,cAAc,SAAI,MAAM,SAAI,eAAiB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC/I,CAAC;IAED,mBAAmB;IACnB,0CAAoB,GAApB,UAAqB,OAAY;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,cAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,4CAAsB,GAAtB,UAAuB,OAAY;QACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,gBAAkB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,8CAAwB,GAAxB,UAAyB,MAAW,EAAE,KAAU,EAAE,YAAiB,EAAE,iBAAsB;QACzF,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,kBAAkB,SAAI,MAAM,SAAI,KAAK,SAAI,YAAY,SAAI,iBAAmB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACvJ,CAAC;IAED,sDAAgC,GAAhC,UAAiC,YAAiB,EAAE,YAAiB,EAAE,MAAW,EAAE,iBAAsB;QACxG,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,mBAAmB,SAAI,YAAY,SAAI,YAAY,SAAI,MAAM,SAAI,iBAAmB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC/J,CAAC;IAED,+CAAyB,GAAzB,UAA0B,OAAY;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,yBAA2B,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAChH,CAAC;IAED,QAAQ;IACR,yCAAmB,GAAnB,UAAoB,cAAmB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,mBAAqB,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,qDAA+B,GAA/B,UAAgC,cAAmB;QACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,qBAAuB,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACnH,CAAC;IAED,+CAAyB,GAAzB,UAA0B,cAAmB;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,yBAA2B,EAAE,cAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACvH,CAAC;IAED,4CAAsB,GAAtB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,sBAAwB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,QAAQ;IACR,2CAAqB,GAArB,UAAsB,IAAS;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,iBAAmB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,8CAAwB,GAAxB,UAAyB,IAAS;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,wBAA0B,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC5G,CAAC;IAED,mDAA6B,GAA7B,UAA8B,eAAoB;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,6BAA6B,sBAAiB,eAAiB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC1I,CAAC;IAED,iDAA2B,GAA3B,UAA4B,eAAoB;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,2BAA2B,sBAAiB,eAAiB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACxI,CAAC;IAED,uCAAiB,GAAjB,UAAkB,EAAO,EAAE,SAAc;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,iBAAiB,SAAI,EAAE,SAAI,SAAW,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACjH,CAAC;IAED,gDAA0B,GAA1B,UAA2B,IAAS;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,0BAA4B,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,gDAA0B,GAA1B,UAA2B,SAAS,EAAE,UAAU;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAI,qEAAW,CAAC,0BAA0B,SAAI,SAAS,SAAI,UAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACvI,CAAC;IAED,4CAAsB,GAAtB,UAAuB,IAAS;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,oBAAsB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACxG,CAAC;IAED,yCAAmB,GAAnB,UAAoB,SAAS,EAAE,UAAU;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAI,qEAAW,CAAC,uBAAuB,SAAI,SAAS,SAAI,UAAY,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACpI,CAAC;IAED,0CAAoB,GAApB,UAAqB,oBAAoB,EAAE,kBAAkB;QAC3D,IAAM,MAAM,GAAG;YACb,oBAAoB,EAAE,oBAAoB;YAC1C,kBAAkB,EAAE,kBAAkB;SACvC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qEAAW,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,mCAAa,GAAb,UAAc,QAAQ;QACpB,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE;YACpF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,CAAC;SAC9D;QACD,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE;YACtD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC;SACtD;IACH,CAAC;IAED,oCAAc,GAAd,UAAe,OAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,cAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,6CAAuB,GAAvB,UAAwB,IAAS,EAAE,YAAiB,EAAE,MAAW,EAAE,MAAW,EAAE,YAAiB,EAAE,aAAkB,EAAE,QAAgB,EAAE,WAAmB;QAC1J,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,iBAAiB,SAAI,IAAI,SAAI,YAAY,SAAI,MAAM,SAAI,MAAM,SAAI,YAAY,SAAI,aAAa,SAAI,QAAQ,SAAI,WAAa,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACtM,CAAC;IAED,qCAAe,GAAf,UAAgB,QAAQ,EAAE,cAAc,EAAE,aAAa;QACrD,IAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChD,IAAI,uBAAuB,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,cAAc,eAAU,QAAQ,YAAO,cAAc,wBAAmB,aAAa,gBAAW,MAAM,iCAA4B,uBAAyB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IACtO,CAAC;IAED,oCAAc,GAAd;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,cAAgB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,aAAG,IAAI,UAAG,EAAH,CAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,uCAAiB,GAAjB;QACE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAG,qEAAW,CAAC,oBAAsB,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,aAAG,IAAI,UAAG,EAAH,CAAG,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,0CAAoB,GAApB,UAAqB,GAAQ;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,oBAAsB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,aAAG,IAAI,UAAG,EAAH,CAAG,CAAC,CAAC,CAAC;IAE3F,CAAC;IACD,2CAAqB,GAArB,UAAsB,GAAQ;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,oBAAsB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,aAAG,IAAI,UAAG,EAAH,CAAG,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,0CAAoB,GAApB,UAAqB,GAAQ;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAG,qEAAW,CAAC,oBAAsB,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,aAAG,IAAI,UAAG,EAAH,CAAG,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,yCAAmB,GAAnB,UAAoB,aAAqB,EAAE,aAAoB,EAAC,KAAY,EAAE,YAAoB;QAChG,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAI,qEAAW,CAAC,mBAAmB,SAAI,aAAa,SAAI,aAAa,SAAI,KAAK,SAAI,YAAc,CAAC,CAAC,IAAI,CAAC,0DAAG,CAAC,UAAC,QAAQ,IAAK,eAAQ,EAAR,CAAQ,CAAC,CAAC,CAAC;IAC3J,CAAC;;gBA/Z0B,+DAAU;gBAAkB,wDAAa;;IAZzD,WAAW;QAHvB,gEAAU,CAAC;YACV,UAAU,EAAE,MAAM;SACnB,CAAC;yCAa2B,+DAAU,EAAkB,wDAAa;OAZzD,WAAW,CA4avB;IAAD,kBAAC;CAAA;AA5auB;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVmE;AAK3F;IAHA;QAIc,kBAAa,GAAG,IAAI,0DAAY,EAAO,CAAC;QAEH,eAAU,GAAG,SAAS;QAC/B,YAAO,GAAG,GAAG;IA8BvD,CAAC;IA3BG,mBAAmB;IACmB,sCAAU,GAAV,UAAW,GAAG;QAChD,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK;IACxB,CAAC;IACD,oBAAoB;IAC0B,uCAAW,GAAlB,UAAmB,GAAG;QACzD,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS;QAC3B,IAAI,CAAC,OAAO,GAAG,GAAG;IACtB,CAAC;IACD,eAAe;IAC0B,kCAAM,GAAb,UAAc,GAAG;QAC/C,GAAG,CAAC,cAAc,EAAE,CAAC;QACrB,GAAG,CAAC,eAAe,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS;QAC3B,IAAI,CAAC,OAAO,GAAG,GAAG;QAClB,IAAI,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;SACjC;IAEL,CAAC;IA/BS;QAAT,4DAAM,EAAE;;4DAAyC;IAEX;QAAtC,iEAAW,CAAC,wBAAwB,CAAC;;yDAA+B;IACvC;QAA7B,iEAAW,CAAC,eAAe,CAAC;;sDAAsB;IAIb;QAArC,kEAAY,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;uDAKpC;IAEsC;QAAtC,kEAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;wDAKrC;IAEiC;QAAjC,kEAAY,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;mDAUhC;IAhCQ,iBAAiB;QAH7B,+DAAS,CAAC;YACP,QAAQ,EAAE,eAAe;SAC5B,CAAC;OACW,iBAAiB,CAkC7B;IAAD,wBAAC;CAAA;AAlC6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACLuB;AAKrD;IAEE,gCAAoB,MAAkB;QAAlB,WAAM,GAAN,MAAM,CAAY;QACpC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IAChD,CAAC;;gBAF2B,wDAAU;;IAF3B,sBAAsB;QAHlC,+DAAS,CAAC;YACT,QAAQ,EAAE,iBAAiB;SAC5B,CAAC;yCAG4B,wDAAU;OAF3B,sBAAsB,CAOlC;IAAD,6BAAC;CAAA;AAPkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACL2B;AACnB;AAK3C;IAGE,8BAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAI,CAAC;IAEV,sCAAO,GAAP,UAAQ,KAAK;QAC9C,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE;YAC1B,IAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,KAAK,IAAI,EAAE,EAAE;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC9D,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE;iBAAM;gBACL,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACvC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACnE;SACF;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;YAC3B,IAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;SACxD;IACL,CAAC;;gBAjB8B,wDAAS;;IAFxB;QAAf,2DAAK,CAAC,OAAO,CAAC;;uDAAO;IAIa;QAAlC,kEAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;uDAejC;IApBU,oBAAoB;QAHhC,+DAAS,CAAC;YACT,QAAQ,EAAE,eAAe;SAC1B,CAAC;yCAI+B,wDAAS;OAH7B,oBAAoB,CAqBhC;IAAD,2BAAC;CAAA;AArBgC;;;;;;;;;;;;;;;;;;;;;;;;;ACNmB;AAKpD;IAAA;IASA,CAAC;IARC,sCAAS,GAAT,UAAU,KAAU,EAAE,IAAU;QAC9B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,EAAE;YAC3D,IAAI,CAAC,GAAG,MAAI,KAAO,CAAC;YACpB,OAAO,CAAC,CAAC;SACR;aAAM;YACH,OAAO,GAAG,CAAC;SACd;IACH,CAAC;IARU,kBAAkB;QAH9B,0DAAI,CAAC;YACJ,IAAI,EAAE,gBAAgB;SACvB,CAAC;OACW,kBAAkB,CAS9B;IAAD,yBAAC;CAAA;AAT8B;;;;;;;;;;;;;;;;;;;;;;;;;ACLqB;AAKpD;IAAA;IAQA,CAAC;IAPC,mCAAS,GAAT,UAAU,KAAa;QACrB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACzC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAChC;aAAM;YACL,OAAO,EAAE,CAAC;SACX;IACH,CAAC;IAPU,eAAe;QAH3B,0DAAI,CAAC;YACJ,IAAI,EAAE,aAAa;SACpB,CAAC;OACW,eAAe,CAQ3B;IAAD,sBAAC;CAAA;AAR2B;;;;;;;;;;;;;;;;;;;;;;;;ACL5B,e;;;;;;;;;;;ACAA,e;;;;;;;;;;;ACAA,e","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}} \\r\\n \\r\\n \\r\\n Edit\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData[col.field]}}\\r\\n \\r\\n \\r\\n \\\"edit\\\"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Region selection is\\r\\n required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Country selection is\\r\\n required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Business Unit selection is\\r\\n required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n SBU selection is\\r\\n required\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n >\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n <

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n Greater than \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ApprovalConfigTypetwo().controls[i].controls.variant1.value}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{ApprovalConfigTypetwo().controls[i].controls.variant2.value}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n Username\\r\\n \\r\\n Email Address\\r\\n \\r\\n SBU\\r\\n
\\r\\n {{user.basf_user_id}}\\r\\n \\r\\n {{user.email}}\\r\\n \\r\\n {{user.sbuName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData[col.field]}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData[label.field]}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n {{sbu.distributor_sbu_name}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n {{product.product_name}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
    \\r\\n
  • \\r\\n {{shipTo.distributor_ship_to_Full_name ? shipTo.distributor_ship_to_Full_name : shipTo.distributor_ship_to_name}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Industry Name\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{row.industry_name}}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{businessName == 'ED' ? 'Region Name' : 'Industry Name' }}\\r\\n \\r\\n \\r\\n Sales Rep Name\\r\\n \\r\\n \\r\\n Sales Rep Email\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{businessName == 'ED' ? row.distributor_region_name : row.industry_name }}\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.first_name}} {{row.last_name}}\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.email}}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Industry\\r\\n \\r\\n \\r\\n Pricing Admin Email\\r\\n \\r\\n \\r\\n Distributor Contact For Price Support Email\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{row.industryName}}\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.pricingAdminEmail}}\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.distPriceSupportEmail}}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Username\\r\\n \\r\\n \\r\\n Email\\r\\n \\r\\n \\r\\n SBU\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{row.basf_user_id}}\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.email}}\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.sbuName}}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n First Name\\r\\n \\r\\n \\r\\n Last Name\\r\\n \\r\\n \\r\\n Email\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{row.first_name}}\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.last_name}}\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.email}}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

File Upload

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

Drag and Drop Template file to Upload

\\r\\n

or Click Browse

\\r\\n
\\r\\n
\\r\\n

Attached File: {{fileName}}

\\r\\n \\r\\n \\r\\n Remove\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{productInfo.product_name}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n * \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n \\r\\n
\\r\\n \\r\\n \\\"Export\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n {{((businessId == 1 || businessId == 4) && formData['cups_intostock'] != 'CUP' && label.header == 'Cust Freight Terms') ? \\\"\\\" : formData[label.field]}}\\r\\n {{ ((businessId == 1 || businessId == 4) && formData['cups_intostock'] != 'CUP' && label.header == 'Distributor Price from BASF ($/KG)') ? \\\"\\\" : (formData[label.field] | number:'1.2-2' ) | customCurrency | removeComma}}\\r\\n {{ (formData[label.field] | number:'1.2-2' ) | removeComma}}\\r\\n

\\r\\n

{{formData[label.field]}}

\\r\\n

\\r\\n {{formData[label.field]}}\\r\\n 0)) || (userId != formData['product_manager'] && (isDistributor || isSalesSupportDistributor > 0)) || isSalesSupportDistributor > 0 || isDistributor)\\\">{{formData[label.field]}}\\r\\n

\\r\\n

\\r\\n {{formData[label.field]}}\\r\\n {{formData[label.field]}}\\r\\n

\\r\\n

\\r\\n {{formData[label.field]}} \\r\\n (Pending\\r\\n with\\r\\n {{formData.pending_approver}})\\r\\n \\r\\n \\r\\n (Pending\\r\\n with\\r\\n {{formData.pending_approver}})\\r\\n \\r\\n

\\r\\n

\\r\\n {{formData[label.field]}}\\r\\n

\\r\\n

\\r\\n {{formData[label.field]}}\\r\\n {{formData[label.field]}}\\r\\n

\\r\\n

\\r\\n Show Comments\\r\\n

\\r\\n

\\r\\n \\r\\n Show\\r\\n Comments\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n {{((businessId == 1 || businessId == 4) && formData['cups_intostock'] != 'CUP' && label.header == 'Cust Freight Terms') ? \\\"\\\" : formData[label.field]}}\\r\\n {{ ((businessId == 1 || businessId == 4) && formData['cups_intostock'] != 'CUP' && label.header == 'Distributor Price from BASF ($/KG)') ? \\\"\\\" : (formData[label.field] | number:'1.2-2' ) | customCurrency | removeComma}}\\r\\n {{ (formData[label.field] | number:'1.2-2' ) | removeComma}}\\r\\n

\\r\\n

\\r\\n {{formData[label.field]}}\\r\\n \\r\\n (Pending\\r\\n with\\r\\n {{formData.pending_approver}})\\r\\n \\r\\n \\r\\n (Pending\\r\\n with\\r\\n {{formData.pending_approver}})\\r\\n \\r\\n

\\r\\n

\\r\\n {{formData[label.field]}}\\r\\n

\\r\\n

\\r\\n {{formData[label.field]}}\\r\\n {{formData[label.field]}}\\r\\n

\\r\\n

\\r\\n Show Comments\\r\\n

\\r\\n

\\r\\n \\r\\n Show\\r\\n Comments\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n

\\r\\n \\r\\n Open\\r\\n Workflow History\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n Open\\r\\n Workflow History\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Delegate this Price Support\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData.product_name}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData.article_number}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData.distributor_price_from_basf}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData.product_name}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData.article_number}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData.distributor_price_from_basf}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.support_price_to_end_user}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.discount_percentage}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.frieght_allowance}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.other_allowance}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.net_support_price}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.credit_back_amount}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData.list_price_lb}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{formData.list_price_kg}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.suggested_selling_price}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.selling_margin}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.supported_buy_price}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.rebate}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

{{rejectWithCounterOfferData.approvar_comments}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{comment}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n

\\r\\n No comments present. Click on Add Comments\\r\\n to provide comments\\r\\n

\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{comment}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n

\\r\\n No comments present. Click on Add Comments\\r\\n to provide comments\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{comment}}\\r\\n
  • \\r\\n
\\r\\n
\\r\\n

\\r\\n No\\r\\n comments present\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n \\r\\n Note: Credit requests are to be\\r\\n submitted to\\r\\n BASF with-in {{businessName === 'EM' ? '15' : '30'}}days of the month close.\\r\\n Credit requested outside of this time period may be denied. All required fields must be completed for\\r\\n pricing to be submitted\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n For into Stock\\r\\n the Customer info can be left blank. CUPS and 3rd party require customer\\r\\n information\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n For\\r\\n Competitive Information\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n Status \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{rowData[col.field]}}\\r\\n {{rowData[col.field]}}\\r\\n {{(rowData[col.field] | number:'1.2-2' ) | customCurrency | removeComma}}\\r\\n {{(rowData[col.field] | number:'1.2-2' ) | removeComma}}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n \\\"view\\\"\\r\\n \\\"edit\\\"\\r\\n \\\"clone\\\"\\r\\n \\\"delete\\\"\\r\\n \\\"review\\\"\\r\\n \\\"review\\\"\\r\\n \\\"conEmail\\\"\\r\\n \\\"email\\\"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"

\\r\\n You don't have access to this application. Contact\\r\\n Application administrator\\r\\n

\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n Copyright © {{currentYear}} BASF Corporation    |     Privacy policy    ⧁  US     ⧁   Canada\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\\"Export\\r\\n \\r\\n \\\"Mass\\r\\n \\\"Mass\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

To download the excel template for mass change, select cups and click on 'Generate Excel' button. Please don't modify 'CUP Ref#', 'Distributor Price from BASF',\\r\\n 'Support Price to End Customer'.\\r\\n

\\r\\n

To upload the excel template for mass change, click on 'Upload Excel' button and upload valid excel template

\\r\\n

To do mass change through application, select cups and click on 'Quick Mass Change' button

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n

To download the excel template for mass cancellation, click on 'Generate Excel' button.\\r\\n

\\r\\n

To upload the excel template for mass cancellation, click on 'Upload Excel' button and upload valid excel template

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n

Template Generated. You can download the template from here

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{row[col.field]}}\\r\\n

\\r\\n \\r\\n

\\r\\n {{row.distributor_price_from_basf_MC | number: '1.0-2'}}

\\r\\n

\\r\\n {{row.support_price_to_end_customer_MC | number: '1.0-2'}}

\\r\\n

\\r\\n {{row.net_support_price_MC | number: '1.0-2'}}

\\r\\n

\\r\\n {{row.credit_back_amount_MC | number: '1.0-2'}}

\\r\\n

\\r\\n \\r\\n \\r\\n

\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Remove Cup\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n CUP Request Id\\r\\n \\r\\n \\r\\n Date\\r\\n \\r\\n \\r\\n Distributor Price from BASF\\r\\n \\r\\n \\r\\n Support Price to End Customer\\r\\n \\r\\n \\r\\n New Support Price to End Customer\\r\\n \\r\\n \\r\\n Net Support Price\\r\\n \\r\\n \\r\\n New Net Support Price\\r\\n \\r\\n \\r\\n New Credit Back Amount\\r\\n \\r\\n \\r\\n Change Type\\r\\n \\r\\n \\r\\n Direction of Change\\r\\n \\r\\n \\r\\n Change Value\\r\\n \\r\\n \\r\\n Scope of Change\\r\\n \\r\\n \\r\\n Comments\\r\\n \\r\\n \\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{row.request_reference_number}}

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{row.distributor_price_from_basf}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.support_price_to_end_customer}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.support_price_to_end_customer_MC | number: '1.0-2'}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.net_support_price}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.net_support_price_MC | number: '1.0-2'}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.credit_back_amount_MC | number: '1.0-2'}}

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Remove Cup\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n CUP Request Id\\r\\n \\r\\n \\r\\n Date\\r\\n \\r\\n \\r\\n Selling Margin\\r\\n \\r\\n \\r\\n List Price LB\\r\\n \\r\\n \\r\\n Suggested Selling Price\\r\\n \\r\\n \\r\\n New Suggested Selling Price\\r\\n \\r\\n \\r\\n New Supported Buy Price\\r\\n \\r\\n \\r\\n New Rebate\\r\\n \\r\\n \\r\\n Change Type\\r\\n \\r\\n \\r\\n Direction of Change\\r\\n \\r\\n \\r\\n Change Value\\r\\n \\r\\n \\r\\n Comments\\r\\n \\r\\n \\r\\n Action\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{row.request_reference_number}}

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

{{row.selling_margin}}

\\r\\n \\r\\n \\r\\n

{{row.list_price_lb}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.suggested_selling_price}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.suggested_selling_price_MC | number: '1.0-2'}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.supported_buy_price_MC | number: '1.0-2'}}

\\r\\n \\r\\n \\r\\n

\\r\\n {{row.rebate_MC | number: '1.0-2'}}

\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Remove Cup\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

File Upload

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

Drag and Drop Template file to Upload

\\r\\n

or Click Browse

\\r\\n
\\r\\n
\\r\\n

Attached File: {{fileName}}

\\r\\n \\r\\n Remove\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"\\\"\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n For completing your logout please close the browser window.\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{rowData[col.field]}}

\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{rowData[col.field]}}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\"","export default \"
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n {{formData[left.field]}}\\r\\n {{ (formData[left.field] | number:'1.2-2' ) |\\r\\n customCurrency | removeComma}}\\r\\n {{ (formData[left.field] | number:'1.2-2' ) |\\r\\n removeComma}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n {{formData[right.field]}}\\r\\n {{ (formData[right.field] | number:'1.2-2' ) |\\r\\n customCurrency | removeComma}}\\r\\n {{ (formData[right.field] | number:'1.2-2' ) |\\r\\n removeComma}}\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\\"Export\\r\\n \\r\\n 0)\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n

File Upload

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n

\\r\\n

Drag and Drop Template file to Upload

\\r\\n

or Click Browse

\\r\\n
\\r\\n
\\r\\n

Attached File: {{fileName}}

Remove\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n

\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n

\\r\\n

\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n \"","export default \"
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{col.header}}\\r\\n \\r\\n \\r\\n \\r\\n Status\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n

\\r\\n {{rowData[col.field]}}\\r\\n \\r\\n {{rowData[col.field]}}\\r\\n {{(col.field == 'distributor_price_from_basf' && rowData[col.field] == \\\"\\\" && (bu === 'EM' || bu === 'ED')) ? \\\"\\\" : ((rowData[col.field] | number:'1.2-2' ) | customCurrency | removeComma)}}\\r\\n {{(rowData[col.field] | number:'1.2-2' ) | removeComma}}\\r\\n

\\r\\n \\r\\n \\r\\n
\\r\\n \\\"view\\\"\\r\\n \\\"edit\\\"\\r\\n \\\"clone\\\"\\r\\n \\\"delete\\\"\\r\\n \\\"review\\\"\\r\\n \\\"review\\\"\\r\\n \\\"conEmail\\\"\\r\\n \\\"email\\\"\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\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 = \"./src/$$_lazy_route_resource lazy recursive\";","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpRequest, HttpResponse, HttpHandler, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n@Injectable()\r\n\r\nexport class HttpConfigInterceptor implements HttpInterceptor {\r\n constructor(\r\n private cookieService: CookieService\r\n ) {}\r\n \r\n private router:Router \r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n let tokenInfo = sessionStorage.getItem('jwtToken');\r\n\r\n if (!request.url.includes('add')) {\r\n if (!request.headers.has('Content-Type')) {\r\n request = request.clone({ headers: request.headers.set('Content-Type', 'application/json') });\r\n request = request.clone({ headers: request.headers.set('Accept', 'application/json') });\r\n request = request.clone({ headers: request.headers.set('Cache-Control', 'no-cache') });\r\n request = request.clone({ headers: request.headers.set('Pragma', 'no-cache') });\r\n request = request.clone({ headers: request.headers.set('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT') });\r\n request = request.clone({ headers: request.headers.set('If-Modified-Since', '0') });\r\n }\r\n request = request.clone({\r\n headers: request.headers.set('Access-Control-Allow-Origin', ['https://localhost:44381', 'https://distributorconnect-qa.basf.com', 'https://distributorconnect-dev.basf.com', 'https://distributorconnect.basf.com', 'https://federation-qa.basf.com', 'https://federation.basf.com']),\r\n });\r\n }\r\n if(tokenInfo!=null)\r\n request = request.clone({ headers: request.headers.set('Authorization', `${tokenInfo}`) });\r\n\r\n let cooval=this.cookieService.get(\"Authorizarion\");\r\n if(cooval!=\"\" && cooval!=null && cooval!=undefined)\r\n {\r\n if(cooval.length>0)\r\n {\r\n request = request.clone({ headers: request.headers.set('Authorization', cooval.replace(\"Bearer \",\"\").toString()) });\r\n }\r\n }\r\n else{\r\n if (document.location.hostname == \"localhost\") {\r\n request = request.clone({ headers: request.headers.set('Authorization', `${tokenInfo}`) }); //btoa(\"IllaS\")\r\n }\r\n /*if (document.location.hostname == \"10.201.72.112\") { uncomment if needed\r\n request = request.clone({ headers: request.headers.set('Authorization', `${tokenInfo}`) }); //btoa(\"IllaS\") \r\n } uncomment if needed */\r\n }\r\n console.log(\"Before making api call : \", request);\r\n return next.handle(request).pipe(\r\n tap(\r\n event => {\r\n this.eventFunction(event);\r\n },\r\n error => {\r\n this.errorFunction(error);\r\n },\r\n\r\n )\r\n );\r\n }\r\n\r\n eventFunction(event: any) {\r\n if (event instanceof HttpResponse) {\r\n console.log(\"api call success :\", event);\r\n }\r\n }\r\n\r\n errorFunction(error: any) { \r\n if (error instanceof HttpErrorResponse) {\r\n console.log(\"api call error :\", error);\r\n console.log(\"api call error status:\", error.status);\r\n if (error.status == 401 || error.status == 0) {\r\n this.router.navigate(['/home']);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Component, HostBinding, OnInit } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent implements OnInit {\r\n name = 'NavigationBarProject';\r\n\r\n @HostBinding(\"class.drawer-open\")\r\n isDrawerOpen: boolean = false;\r\n \r\n toggleDrawer(isDrawerOpen: boolean) {\r\n this.isDrawerOpen = isDrawerOpen;\r\n }\r\n enableBg = true;\r\n userAccess = false;\r\n userAdmin = false;\r\n\r\n unAuthorised = false;\r\n title = 'app';\r\n loginuser: boolean=false;\r\n constructor(\r\n public router: Router) {\r\n router.events.pipe(\r\n filter(event => event instanceof NavigationEnd) \r\n ).subscribe((event: NavigationEnd) => {\r\n this.unAuthorised =false;\r\n let expectedurl = event.url;\r\n this.userAccess= false;\r\n if(event.url == '/' ||event.url == '/login-test' || event.url == '/login' || event.url == '/logout'|| event.url=='/registration' || event.url=='/saml' || event.url =='/error') {\r\n this.userAccess = false;\r\n \r\n } else {\r\n this.userAccess = true;\r\n }\r\n if(expectedurl =='admin' || expectedurl == 'addadminprice' || expectedurl == 'addadminuser'|| expectedurl =='contactdetails'\r\n || expectedurl =='userdetails'|| expectedurl =='usercompany' ){\r\n \r\n if(JSON.parse(sessionStorage.getItem('IsAdmin')) && !!sessionStorage.getItem('UserToken')){\r\n this.unAuthorised =false;\r\n this.userAccess =true;\r\n }\r\n else{\r\n this.unAuthorised =true;\r\n this.userAccess =false;\r\n }\r\n }\r\n if(expectedurl == 'home' || expectedurl =='contact'){\r\n if(!!sessionStorage.getItem('UserToken')){\r\n this.unAuthorised =false;\r\n this.userAccess =true;\r\n }\r\n else\r\n {\r\n this.unAuthorised =true;\r\n this.userAccess =false;\r\n }\r\n }\r\n });\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.title = 'app';\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { HttpConfigInterceptor } from './_helpers/httpconfig.interceptor';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AppComponent } from './app.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { CupsRequestComponent } from './components/cups-request/cups-request.component';\r\nimport { DynamicGridComponent } from './components/dynamic-grid/dynamic-grid.component';\r\nimport { CupsRequestInfoComponent } from './components/cups-request-info/cups-request-info.component';\r\nimport { PmCupsRequestComponent } from './components/pm-cups-request/pm-cups-request.component';\r\nimport { NumbersOnlyDirective } from 'src/services/directives/numbers-only.directive';\r\nimport { DragDropDirective } from 'src/services/directives/drag-drop.directive';\r\nimport { LineSeparatorDirective } from 'src/services/directives/line-separator.directive';\r\nimport { DistributorRequestComponent } from './components/admin/distributor/distributor-request/distributor-request.component';\r\nimport { UserRegistrationComponent } from './components/admin/user/user-registration/user-registration.component';\r\nimport { UserGridComponent } from './components/admin/user/user-grid/user-grid.component';\r\nimport { AdminComponent } from './components/admin/admin.component';\r\nimport { RebatesComponent } from './components/rebates/rebates.component';\r\nimport { EvemRequestComponent } from './components/rebates/evem-request/evem-request.component';\r\nimport { PmRebateRequestComponent } from './components/rebates/pm-rebate-request/pm-rebate-request.component';\r\nimport { RebateInfoComponent } from './components/rebates/rebate-info/rebate-info.component';\r\nimport { DistributorGridComponent } from './components/admin/distributor/distributor-grid/distributor-grid.component';\r\nimport { DistributorViewComponent } from './components/admin/distributor/distributor-view/distributor-view.component';\r\nimport { ApprovalConfigComponent } from './components/admin/approval-config/approval-config.component';\r\nimport { CupRequestTabComponent } from './components/cup-request-tab/cup-request-tab.component';\r\nimport { SamlComponent } from './components/saml/saml.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { AuthenticationGuard } from './authentication.guard';\r\nimport { ErrorComponent } from './components/error/error.component';\r\nimport { LoginTestComponent } from './components/login-test/login-test.component';\r\nimport { SalesSupportComponent } from './components/admin/sales-support/sales-support/sales-support.component';\r\nimport { SalesCommericalManagerComponent } from './components/admin/sales-commerical-manager/sales-commerical-manager.component';\r\nimport { ProductManagerComponent } from './components/admin/product-manager/product-manager.component';\r\nimport { CupHistoryComponent } from './components/cup-history/cup-history.component';\r\nimport { PriceHistoryRevisionComponent } from './components/admin/price-history-revision/price-history-revision.component';\r\n\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { CookieService } from 'ngx-cookie-service';\r\n\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { TableModule } from 'primeng/table';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { FieldsetModule } from 'primeng/fieldset';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { AccordionModule } from 'primeng/accordion';\r\nimport { CardModule } from 'primeng/card';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { ChipsModule } from 'primeng/chips';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { RebateShippedFormComponent } from './components/rebate-shipped-form/rebate-shipped-form.component';\r\nimport { AccountDetailsComponent } from './components/admin/account-details/account-details.component';\r\nimport { CustomCurrencyPipe } from 'src/services/pipes/custom-currency.pipe';\r\nimport { RemoveCommaPipe } from 'src/services/pipes/remove-comma.pipe';\r\nimport { SupportRequestGridComponent } from './components/support-request-grid/support-request-grid.component';\r\nimport { EndmarketSalesReportComponent } from './components/admin/endmarket-sales-report/endmarket-sales-report.component';\r\nimport { DistributorMappingComponent } from './components/admin/distributor-mapping/distributor-mapping.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HomeComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n CupsRequestComponent,\r\n DynamicGridComponent,\r\n SupportRequestGridComponent,\r\n CupsRequestInfoComponent,\r\n PmCupsRequestComponent,\r\n NumbersOnlyDirective,\r\n DragDropDirective,\r\n LineSeparatorDirective,\r\n DistributorRequestComponent,\r\n UserRegistrationComponent,\r\n UserGridComponent,\r\n AdminComponent,\r\n RebatesComponent,\r\n EvemRequestComponent,\r\n PmRebateRequestComponent,\r\n RebateInfoComponent,\r\n DistributorGridComponent,\r\n DistributorViewComponent,\r\n ApprovalConfigComponent,\r\n CupRequestTabComponent,\r\n SamlComponent,\r\n LoginComponent,\r\n ErrorComponent,\r\n LoginTestComponent,\r\n SalesSupportComponent,\r\n SalesCommericalManagerComponent,\r\n ProductManagerComponent,\r\n CupHistoryComponent,\r\n PriceHistoryRevisionComponent,\r\n RebateShippedFormComponent,\r\n AccountDetailsComponent,\r\n EndmarketSalesReportComponent,\r\n CustomCurrencyPipe,\r\n RemoveCommaPipe,\r\n DistributorMappingComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastrModule.forRoot({\r\n timeOut: 5000,\r\n positionClass: 'toast-top-right',\r\n preventDuplicates: true,\r\n closeButton: true\r\n }),\r\n ToastrModule,\r\n NgxSpinnerModule,\r\n MultiSelectModule,\r\n AutoCompleteModule,\r\n TableModule,\r\n DropdownModule,\r\n ConfirmDialogModule,\r\n CalendarModule,\r\n TabViewModule,\r\n CheckboxModule,\r\n FileUploadModule,\r\n DialogModule,\r\n FieldsetModule,\r\n OverlayPanelModule,\r\n RadioButtonModule,\r\n AccordionModule,\r\n CardModule,\r\n InputSwitchModule,\r\n ChipsModule,\r\n TooltipModule,\r\n CommonModule,\r\n RouterModule.forRoot([\r\n { path: '', pathMatch: 'full', component: LoginComponent },\r\n { path: 'saml', pathMatch: 'full', component: SamlComponent },\r\n { path: 'home', pathMatch: 'full', component: HomeComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'home' } },\r\n { path: 'cups-request', component: CupsRequestComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'cups-request' } },\r\n { path: 'cups-request/info', component: CupRequestTabComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'cups-request/info' } },\r\n { path: 'pm-cups-request', component: PmCupsRequestComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'pm-cups-request' } },\r\n { path: 'distributor-request', component: DistributorRequestComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'distributor-request' } },\r\n { path: 'users', component: UserGridComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'users' } },\r\n { path: 'admin', component: AdminComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'admin' } },\r\n { path: 'rebates', component: RebatesComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'rebates' } },\r\n { path: 'price-history-revision', component: PriceHistoryRevisionComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'price-history-revision' } },\r\n { path: 'rebates/evem-rebate-form', component: EvemRequestComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'rebates/evem-rebate-form' } },\r\n { path: 'rebates/pm-rebate-form', component: PmRebateRequestComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'rebates/pm-rebate-form' } },\r\n { path: 'rebates/rebate-info', component: RebateInfoComponent, canActivate: [AuthenticationGuard], data: { expectedurl: 'rebates/rebate-info' } },\r\n { path: 'error', component: ErrorComponent },\r\n { path: 'login-test', pathMatch: 'full', component: LoginTestComponent}\r\n\r\n ], { useHash: true, onSameUrlNavigation: 'reload' })\r\n ],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpConfigInterceptor, multi: true },\r\n CookieService,\r\n\r\n ConfirmationService,\r\n ],\r\n bootstrap: [AppComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA]\r\n})\r\nexport class AppModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router, CanActivateChild, UrlTree, ActivatedRoute } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthguardServiceService } from '../services/authguard-service.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationGuard implements CanActivate, CanActivateChild {\r\n loginvalue: any;\r\n expireDate: Date;\r\n authService: any;\r\n childactive = false;\r\n routparams: any;\r\n constructor(private actroute: ActivatedRoute, private Authguardservice: AuthguardServiceService, public router: Router) {\r\n\r\n }\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n const expectedurl = route.data.expectedurl;\r\n this.routparams = route.queryParams;\r\n\r\n if (!this.Authguardservice.gettoken()) {\r\n if (this.routparams != null) {\r\n sessionStorage.setItem('returnUrlparams', JSON.stringify(this.routparams));\r\n if (JSON.stringify(this.routparams).includes('RequestId')) {\r\n sessionStorage.setItem('paramsExist', 'true');\r\n }\r\n sessionStorage.setItem('returnUrlpath', JSON.stringify(state.url));\r\n }\r\n else {\r\n sessionStorage.setItem('paramsExist', 'false');\r\n }\r\n sessionStorage.setItem('returnUrl', expectedurl);\r\n this.router.navigate(['/saml'], { queryParams: { returnUrl: expectedurl } });\r\n return false;\r\n } else {\r\n this.loginvalue = JSON.parse(sessionStorage.getItem('loginJWT'));\r\n if (expectedurl == 'admin') {\r\n if (JSON.parse(sessionStorage.getItem('IsAdmin')))\r\n return true;\r\n else {\r\n this.router.navigate(['/error']);\r\n return false;\r\n }\r\n }\r\n else {\r\n return true;\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n canActivateChild(_childRoute: ActivatedRouteSnapshot, _state: RouterStateSnapshot): boolean {\r\n return true;\r\n }\r\n}\r\n","export default \"\\r\\n.account-add-btn {\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:0px 10px;\\r\\n border-radius: 5px;\\r\\n float: right;\\r\\n}\\r\\n.header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n#accountGrid .ui-table .ui-table-thead>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n#accountGrid .ui-table .ui-table-thead>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n#accountGrid .ui-table .ui-table-tbody>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n#accountGrid .edit-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n right: 0px !important;\\r\\n}\\r\\n#accountGrid .checkbox-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n left: 0px !important;\\r\\n}\\r\\n#accountGrid .ui-paginator {\\r\\n margin-top: 10px !important;\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n float: right !important;\\r\\n}\\r\\n#accountGrid .ui-paginator .ui-paginator-pages .ui-paginator-page.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n color: white !important;\\r\\n}\\r\\n#accountGrid .ui-multiselect .ui-multiselect-panel {\\r\\n left: -292px !important;\\r\\n right: 0px !important;\\r\\n}\\r\\n#accountGrid .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {\\r\\n color: black !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n#accountGrid .ui-chkbox .ui-chkbox-box.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n#accountGrid .ui-table table {\\r\\n width: 100% !important;\\r\\n}\\r\\n#accountGrid .ui-table {\\r\\n max-height: 700px !important;\\r\\n}\\r\\n#accountGrid .ui-table-scrollable-header, .ui-table-scrollable-footer {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n z-index: 9999;\\r\\n}\\r\\n#accountGrid .ui-table-scrollable-header-box {\\r\\n margin-right: 60px !important;\\r\\n}\\r\\n#accountGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 280px) !important;\\r\\n}\\r\\n#accountGrid .excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n@media screen and (min-width: 1000px) {\\r\\n #accountGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:140px !important;\\r\\n }\\r\\n }\\r\\n@media screen and (min-width: 1052px) {\\r\\n #accountGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 320px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:110px !important;\\r\\n }\\r\\n }\\r\\n@media screen and (min-width: 1407px) {\\r\\n #accountGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 300px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:80px !important;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9hY2NvdW50LWRldGFpbHMvYWNjb3VudC1kZXRhaWxzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLFlBQVk7QUFDaEI7QUFDQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFJQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQzNCO0FBQ0E7SUFDSSxlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLDBDQUEwQztJQUMxQyx1QkFBdUI7SUFDdkIsOEJBQThCO0FBQ2xDO0FBQ0E7SUFDSSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtBQUN6QjtBQUNBO0lBQ0ksd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixvQkFBb0I7QUFDeEI7QUFDQTtJQUNJLDJCQUEyQjtJQUMzQixrQ0FBa0M7SUFDbEMsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtBQUMzQjtBQUNBO0lBQ0ksb0NBQW9DO0lBQ3BDLHVCQUF1QjtBQUMzQjtBQUNBO0lBQ0ksdUJBQXVCO0lBQ3ZCLHFCQUFxQjtBQUN6QjtBQUNBO0lBQ0ksdUJBQXVCO0lBQ3ZCLGtDQUFrQztBQUN0QztBQUNBO0lBQ0ksZ0NBQWdDO0lBQ2hDLG9DQUFvQztJQUNwQyx5QkFBeUI7QUFDN0I7QUFDQTtJQUNJLHNCQUFzQjtBQUMxQjtBQUNBO0lBQ0ksNEJBQTRCO0FBQ2hDO0FBQ0E7SUFDSSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixhQUFhO0FBQ2pCO0FBQ0E7SUFDSSw2QkFBNkI7QUFDakM7QUFDQTtJQUNJLDBDQUEwQztBQUM5QztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFNBQVM7SUFDVCxrQkFBa0I7QUFDdEI7QUFFQTtJQUNJO1FBQ0ksMENBQTBDO0lBQzlDO0lBQ0E7UUFDSSwyQkFBMkI7SUFDL0I7RUFDRjtBQUVBO0lBQ0U7UUFDSSwwQ0FBMEM7SUFDOUM7SUFDQTtRQUNJLDJCQUEyQjtJQUMvQjtFQUNGO0FBQ0E7SUFDRTtRQUNJLDBDQUEwQztJQUM5QztJQUNBO1FBQ0ksMEJBQTBCO0lBQzlCO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2FkbWluL2FjY291bnQtZGV0YWlscy9hY2NvdW50LWRldGFpbHMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uYWNjb3VudC1hZGQtYnRuIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBtYXJnaW46MHB4IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuLmhlYWRlci1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG5cclxuXHJcbiNhY2NvdW50R3JpZCAudWktdGFibGUgLnVpLXRhYmxlLXRoZWFkPnRyPnRoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBjb2xvcjp3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFmMGZmO1xyXG59XHJcblxyXG4jYWNjb3VudEdyaWQgLnVpLXRhYmxlIC51aS10YWJsZS10aGVhZD50cj50aD5kaXYge1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4jYWNjb3VudEdyaWQgLnVpLXRhYmxlIC51aS10YWJsZS10Ym9keT50cj50ZCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0ZjRmNGYgIWltcG9ydGFudDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xyXG59XHJcbiNhY2NvdW50R3JpZCAuZWRpdC1jb2x1bW4ge1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG4jYWNjb3VudEdyaWQgLmNoZWNrYm94LWNvbHVtbiB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI2FjY291bnRHcmlkIC51aS1wYWdpbmF0b3Ige1xyXG4gICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbn1cclxuI2FjY291bnRHcmlkIC51aS1wYWdpbmF0b3IgLnVpLXBhZ2luYXRvci1wYWdlcyAudWktcGFnaW5hdG9yLXBhZ2UudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDYgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcbiNhY2NvdW50R3JpZCAudWktbXVsdGlzZWxlY3QgLnVpLW11bHRpc2VsZWN0LXBhbmVsIHtcclxuICAgIGxlZnQ6IC0yOTJweCAhaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbiNhY2NvdW50R3JpZCAudWktbXVsdGlzZWxlY3QtcGFuZWwgLnVpLW11bHRpc2VsZWN0LWl0ZW1zIC51aS1tdWx0aXNlbGVjdC1pdGVtLnVpLXN0YXRlLWhpZ2hsaWdodCB7XHJcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuI2FjY291bnRHcmlkIC51aS1jaGtib3ggLnVpLWNoa2JveC1ib3gudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG4jYWNjb3VudEdyaWQgLnVpLXRhYmxlIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuI2FjY291bnRHcmlkIC51aS10YWJsZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MDBweCAhaW1wb3J0YW50O1xyXG59XHJcbiNhY2NvdW50R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXIsIC51aS10YWJsZS1zY3JvbGxhYmxlLWZvb3RlciB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG59XHJcbiNhY2NvdW50R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXItYm94IHtcclxuICAgIG1hcmdpbi1yaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcbiNhY2NvdW50R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyODBweCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2FjY291bnRHcmlkIC5leGNlbEljb24ge1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIHRvcDogLTdweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAjYWNjb3VudEdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM3MHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjE0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUycHgpIHtcclxuICAgICNhY2NvdW50R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzIwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2Yge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MTEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwN3B4KSB7XHJcbiAgICAjYWNjb3VudEdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjgwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufSJdfQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { CupsService } from 'src/services/cups.service';\r\nimport { ConfirmationService } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'app-account-details',\r\n templateUrl: './account-details.component.html',\r\n styleUrls: ['./account-details.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AccountDetailsComponent implements OnInit {\r\n\r\n constructor(private service: CupsService, private confirmationService: ConfirmationService) { }\r\n displayPopUp = false;\r\n cols = [{ field: 'customerID', header: 'Customer ID' },\r\n { field: 'customerName', header: 'Customer Name' },\r\n { field: 'region', header: 'Customer Region' },\r\n { field: 'city', header: 'Customer City' }\r\n ];\r\n gridData = [];\r\n allAccounts = [];\r\n allCities = [];\r\n allRegions = [];\r\n filteredAccounts = [];\r\n filteredCities = [];\r\n filteredRegions = [];\r\n isEdit = false;\r\n accountDetailsObj = {\r\n customerID: 0,\r\n customerName: '',\r\n region: '',\r\n city: '',\r\n userID: 0\r\n };\r\n ngOnInit() {\r\n this.getAllAccountDetails();\r\n\r\n }\r\n getAccountData() {\r\n this.service.getAccountData().subscribe(res => {\r\n if (!res['isError']) {\r\n let accounts = res['response']['table'];\r\n let cities = res['response']['table2'];\r\n let regions = res['response']['table1'];\r\n this.allAccounts = [];\r\n this.allCities = [];\r\n this.allRegions = [];\r\n accounts.forEach(element => {\r\n this.allAccounts.push(element.customerName);\r\n });\r\n cities.forEach(element => {\r\n this.allCities.push(element.city);\r\n });\r\n regions.forEach(element => {\r\n this.allRegions.push(element.regions);\r\n });\r\n }\r\n else {\r\n this.service.displayToastr(res);\r\n }\r\n\r\n\r\n }, error => {\r\n this.service.displayToastr(error);\r\n })\r\n }\r\n\r\n getAllAccountDetails() {\r\n this.service.getAccountDetails().subscribe(res => {\r\n if (!res['isError']) {\r\n this.gridData = res['response'];\r\n this.getAccountData();\r\n }\r\n else {\r\n this.service.displayToastr(res);\r\n }\r\n });\r\n }\r\n\r\n filterAccount(event) {\r\n let filtered: any[] = [];\r\n let query = event.query;\r\n\r\n for (let account of this.allAccounts) {\r\n if (account.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(account);\r\n }\r\n }\r\n this.filteredAccounts = filtered;\r\n }\r\n\r\n filterRegion(event) {\r\n let filtered: any[] = [];\r\n let query = event.query;\r\n for (let region of this.allRegions) {\r\n if (region.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(region);\r\n }\r\n }\r\n this.filteredRegions = filtered;\r\n }\r\n\r\n filterCity(event) {\r\n let filtered: any[] = [];\r\n let query = event.query;\r\n for (let city of this.allCities) {\r\n if (city.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(city);\r\n }\r\n }\r\n this.filteredCities = filtered;\r\n }\r\n\r\n onEdit(data) {\r\n\r\n this.accountDetailsObj.customerID = data.customerID;\r\n this.accountDetailsObj.customerName = data.customerName;\r\n this.accountDetailsObj.region = data.region;\r\n this.accountDetailsObj.city = data.city;\r\n this.isEdit = true;\r\n this.displayPopUp = true;\r\n\r\n }\r\n\r\n onDelete(data) {\r\n this.accountDetailsObj.customerID = data.customerID;\r\n this.accountDetailsObj.customerName = data.customerName;\r\n this.accountDetailsObj.region = data.region;\r\n this.accountDetailsObj.city = data.city;\r\n this.confirmationService.confirm({\r\n message: 'Are you sure that you want to delete this Account?',\r\n accept: () => {\r\n this.service.deleteAcccountDetails(this.accountDetailsObj).subscribe(res => {\r\n if (!res['isError']) {\r\n this.service.displayToastr(res);\r\n this.getAllAccountDetails();\r\n this.onClose();\r\n } else {\r\n this.service.displayToastr(res);\r\n }\r\n }, error => {\r\n this.service.displayToastr(error);\r\n });\r\n }\r\n });\r\n }\r\n\r\n addNewAccount() {\r\n\r\n this.resetObj();\r\n this.displayPopUp = true;\r\n\r\n }\r\n\r\n onClose() {\r\n this.displayPopUp = false;\r\n this.resetObj();\r\n this.isEdit = false;\r\n }\r\n\r\n resetObj() {\r\n this.accountDetailsObj = {\r\n customerID: 0,\r\n customerName: '',\r\n region: '',\r\n city: '',\r\n userID: 0\r\n };\r\n }\r\n saveAccount() {\r\n if (this.isEdit) {\r\n this.service.updateAccountDetails(this.accountDetailsObj).subscribe(res => {\r\n if (!res['isError']) {\r\n this.service.displayToastr(res);\r\n this.getAllAccountDetails();\r\n } else {\r\n this.service.displayToastr(res);\r\n }\r\n }, error => {\r\n this.service.displayToastr(error)\r\n });\r\n } else {\r\n this.service.insertAccountDetails(this.accountDetailsObj).subscribe(res => {\r\n if (!res['isError']) {\r\n this.service.displayToastr(res);\r\n this.getAllAccountDetails();\r\n } else {\r\n this.service.displayToastr(res);\r\n }\r\n }, error => {\r\n this.service.displayToastr(error)\r\n })\r\n }\r\n this.onClose();\r\n }\r\n\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9hZG1pbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtBQUNwQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vYWRtaW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXItbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-admin',\r\n templateUrl: './admin.component.html',\r\n styleUrls: ['./admin.component.css']\r\n})\r\nexport class AdminComponent implements OnInit {\r\n selectedBU = \"\";\r\n selectedTab: any;\r\n supportManagerText = 'Sales Support Manager';\r\n\r\n isSalesSupportDistributor: number = 0;\r\n ngOnInit() {\r\n this.selectedBU = sessionStorage.getItem('BU');\r\n if(this.selectedBU === 'EM' || this.selectedBU==='ED') {\r\n this.supportManagerText = 'Pricing Admin Config';\r\n } else {\r\n this.supportManagerText = 'Sales Support Manager';\r\n }\r\n this.isSalesSupportDistributor = Number(sessionStorage.getItem('SalesSupportDistributor'));\r\n }\r\n\r\n onTabChange(event) {\r\n this.selectedTab = event.originalEvent.target.innerText;\r\n }\r\n\r\n}\r\n","export default \".row{\\r\\n padding-top:10px;\\r\\n}\\r\\n\\r\\n.table td, .table th {\\r\\n padding: 0.75rem;\\r\\n vertical-align: top;\\r\\n border-top: 0px solid #dee2e6;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9hcHByb3ZhbC1jb25maWcvYXBwcm92YWwtY29uZmlnLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLDZCQUE2QjtBQUNqQyIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vYXBwcm92YWwtY29uZmlnL2FwcHJvdmFsLWNvbmZpZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnJvd3tcclxuICAgIHBhZGRpbmctdG9wOjEwcHg7XHJcbn1cclxuXHJcbi50YWJsZSB0ZCwgLnRhYmxlIHRoIHtcclxuICAgIHBhZGRpbmc6IDAuNzVyZW07XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgYm9yZGVyLXRvcDogMHB4IHNvbGlkICNkZWUyZTY7XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n@Component({\r\n selector: 'app-approval-config',\r\n templateUrl: './approval-config.component.html',\r\n styleUrls: ['./approval-config.component.css']\r\n})\r\nexport class ApprovalConfigComponent implements OnInit {\r\n AdminForm: FormGroup;\r\n BusinessUnit: any[];\r\n Products: any[];\r\n CountryData: any[];\r\n RegionData: any[];\r\n ProductsbasedonBusiness: any[];\r\n selectedBusiness: any;\r\n selectedSBusiness: any;\r\n selectedtypeofConfig: any;\r\n submitted = false;\r\n SBusinessUnit: any[];\r\n BusinessUnitData: any;\r\n approvalConfigData: any = [];\r\n UOM: any;\r\n operatorData: any;\r\n TypeofConfiguration: { id: number; type: string; }[];\r\n fb: any;\r\n isType1: boolean = false;\r\n isType2: boolean = false;\r\n arraylength: number = 0;\r\n selectedTypevalue: any;\r\n \r\n constructor(private formBuilder: FormBuilder, private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) {\r\n this.AdminForm = this.formBuilder.group({\r\n BusinessUnitId: ['', [Validators.required, Validators.min(0)]],\r\n SBUId: ['', [Validators.required, Validators.min(0)]],\r\n CountryId: ['', [Validators.required]],\r\n RegionId: ['', [Validators.required]],\r\n TypeId: ['', [Validators.required]],\r\n ApprovalConfigTypeone: this.formBuilder.array([]),\r\n ApprovalConfigTypetwo: this.formBuilder.array([]),\r\n CreatedBy: [''],\r\n CreatedDate: [new Date()],\r\n });\r\n }\r\n ngOnInit() {\r\n this.AdminForm.reset();\r\n this.getAdminConfigMaster();\r\n }\r\n onSubmit() {\r\n if (this.AdminForm.valid) {\r\n sessionStorage.setItem(\"UserDetails\", \"samba\");\r\n if (this.AdminForm.value.TypeId == 1) {\r\n this.AdminForm.value.ApprovalConfigTypeone[this.AdminForm.value.ApprovalConfigTypeone.length - 1].min_level = this.AdminForm.value.ApprovalConfigTypeone[this.AdminForm.value.ApprovalConfigTypeone.length - 2].max_level;\r\n }\r\n this.AdminForm.controls.CreatedBy.setValue(sessionStorage.getItem(\"UserDetails\"));\r\n this.AdminForm.controls.CreatedDate.setValue(new Date());\r\n this._service.saveAdminConfig(this.AdminForm.value).subscribe((resp: any) => {\r\n this.toastr.success('Contacts configured successfully');\r\n });\r\n }\r\n }\r\n ApprovalConfigTypeone(): FormArray {\r\n return this.AdminForm.get('ApprovalConfigTypeone') as FormArray;\r\n }\r\n ApprovalConfigTypetwo(): FormArray {\r\n return this.AdminForm.get('ApprovalConfigTypetwo') as FormArray;\r\n }\r\n addApprovalConfigTypeone(data: any) {\r\n this.ApprovalConfigTypeone().push(this.newApprovalConfigTypeone(data));\r\n }\r\n newApprovalConfigTypeone(data: any): FormGroup {\r\n if (!data) {\r\n data = { Id: 0, variant_id: '', role: '', min_level: '', max_level: '', created_by: '' };\r\n }\r\n return this.formBuilder.group({\r\n Id: [data.apc1id],\r\n variant_id: [data.id],\r\n role: [data.role],\r\n min_level: [data.min_level, [Validators.min(0)]],\r\n max_level: [data.max_level],\r\n created_by: [data.created_by]\r\n });\r\n }\r\n addApprovalConfigTypetwo(data: any) {\r\n this.ApprovalConfigTypetwo().push(this.newApprovalConfigTypetwo(data));\r\n }\r\n newApprovalConfigTypetwo(data: any): FormGroup {\r\n if (!data) {\r\n data = { Id: 0, variant_id: '', role: '', variant1: '', variant2: '', comparision_operator_id: '', value: '', uom_id: '', created_by: '' };\r\n }\r\n return this.formBuilder.group({\r\n Id: [data.apc2id],\r\n variant_id: [data.id],\r\n role: [data.role],\r\n variant1: [data.variant1],\r\n variant2: [data.variant2],\r\n comparision_operator_id: [data.comparision_operator_id],\r\n value: [data.value],\r\n uom_id: [data.uom_id],\r\n created_by: [data.created_by]\r\n });\r\n }\r\n Cancel() {\r\n this.AdminForm.reset();\r\n }\r\n getAdminConfigMaster() {\r\n this._service.getAdminConfigMaster().subscribe((response: any) => {\r\n this.BusinessUnitData = response.buData;\r\n this.CountryData = response.countryData;\r\n this.RegionData = response.regionData;\r\n this.UOM = response.uomData;\r\n this.operatorData = response.operatorData;\r\n this.TypeofConfiguration = [{ id: 1, type: \"Based on one price\" }, { id: 2, type: \"Based on two price\" }]\r\n let key = 'businessunit_id';\r\n this.BusinessUnit = [...new Map(this.BusinessUnitData.map(item =>\r\n [item[key], item])).values()];\r\n });\r\n }\r\n onBusinessChange(event) {\r\n if (this.BusinessUnitData != undefined) {\r\n this.SBusinessUnit = this.BusinessUnitData.filter(i => i.businessunit_id == event);\r\n }\r\n }\r\n onSBusinessChange(newValue) {\r\n if (this.selectedTypevalue == \"1\" || this.selectedTypevalue == \"2\") {\r\n this.ontypeofConfigChange(this.selectedTypevalue)\r\n }\r\n }\r\n ontypeofConfigChange(newValue) {\r\n this.selectedTypevalue = newValue;\r\n if (newValue == \"1\") {\r\n this.isType1 = true;\r\n this.isType2 = false;\r\n }\r\n else if (newValue == \"2\") {\r\n this.isType2 = true;\r\n this.isType1 = false;\r\n }\r\n else {\r\n this.isType2 = false;\r\n this.isType1 = false;\r\n }\r\n this.servicecall();\r\n }\r\n servicecall() {\r\n this._service.getApprovalConfig(this.AdminForm.value.RegionId, this.AdminForm.value.CountryId, this.AdminForm.value.BusinessUnitId, this.AdminForm.value.SBUId, Number(this.AdminForm.value.TypeId)).subscribe((response: any) => {\r\n if (this.AdminForm.controls.TypeId.value == '1') {\r\n const array = this.AdminForm.get('ApprovalConfigTypeone') as FormArray;\r\n array.clear();\r\n response.approvalConfigData.forEach((value, index) => {\r\n if (index != response.approvalConfigData.length - 1) {\r\n array.push(this.newApprovalConfigTypeone(value));\r\n }\r\n else {\r\n const data = { apc1id: value.apc1id, id: value.id, role: value.role, min_level: response.approvalConfigData[index - 1].min_level, max_level: value.max_level, created_by: value.created_by };\r\n array.push(this.newApprovalConfigTypeone(data));\r\n }\r\n });\r\n this.arraylength = array.length;\r\n }\r\n else if (this.AdminForm.controls.TypeId.value == '2') {\r\n const array = this.AdminForm.get('ApprovalConfigTypetwo') as FormArray;\r\n response.approvalConfigData.forEach((value, index) => {\r\n array.push(this.newApprovalConfigTypetwo(value));\r\n });\r\n this.arraylength = array.length;\r\n }\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vZGlzdHJpYnV0b3ItbWFwcGluZy9kaXN0cmlidXRvci1tYXBwaW5nLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup, Validators } from '@angular/forms';\r\nimport { FormBuilder } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from '../../../../services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-distributor-mapping',\r\n templateUrl: './distributor-mapping.component.html',\r\n styleUrls: ['./distributor-mapping.component.css']\r\n})\r\nexport class DistributorMappingComponent implements OnInit {\r\n\r\n distributorUserData: any;\r\n distributorsData: any;\r\n selectedDistributorData: any;\r\n form: FormGroup;\r\n cols = [];\r\n distributorMappingData = [];\r\n constructor(private _service: CupsService,\r\n private spinner: NgxSpinnerService,\r\n private toastr: ToastrService,\r\n private fb: FormBuilder) {\r\n this.form = this.fb.group({\r\n distributor_user_id: [{ disabled: true, value: \"\" }, Validators.required],\r\n distributor_id: [{ disabled: true, value: \"\" }, Validators.required]\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n this.cols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"customer\",\r\n \"header\": \"Customer\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 1,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"product\",\r\n \"header\": \"Product\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": false,\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"distributor\",\r\n \"header\": \"Distributor\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3,\r\n \"isHyperlink\": false,\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"division\",\r\n \"header\": \"Division\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 4,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"ship_to\",\r\n \"header\": \"Ship To\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 5,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 6,\r\n \"field\": \"sbu\",\r\n \"header\": \"SBU\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 6,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 7,\r\n \"field\": \"industry\",\r\n \"header\": \"Industry\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 7,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 8,\r\n \"field\": \"volume_cy_lbs\",\r\n \"header\": \"Volume CY (lbs)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 8,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 9,\r\n \"field\": \"volume_py_lbs\",\r\n \"header\": \"Volume PY (lbs)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 9,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 10,\r\n \"field\": \"volume_cy_mts\",\r\n \"header\": \"Volume CY (mts)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 10,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 11,\r\n \"field\": \"volume_py_mts\",\r\n \"header\": \"Volume PY (mts)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 11,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 12,\r\n \"field\": \"volume_cy_kgs\",\r\n \"header\": \"Volume CY (kgs)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 12,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 13,\r\n \"field\": \"volume_py_kgs\",\r\n \"header\": \"Volume PY (kgs)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 13,\r\n \"isHyperlink\": false\r\n },\r\n ];\r\n this.getAllDistributorUser();\r\n }\r\n\r\n getAllDistributorUser() {\r\n this.form.controls['distributor_user_id'].enable();\r\n this.distributorUserData = [];\r\n this._service.getDistributorUsers().subscribe((res: any) => {\r\n if (res) {\r\n this.distributorUserData = res.distributorUsers;\r\n }\r\n });\r\n }\r\n\r\n getDistributorMapping() {\r\n\r\n }\r\n\r\n getAllDistributors() {\r\n this._service.getDistributors().subscribe((res: any) => {\r\n if (res) {\r\n this.distributorsData = res.distributors;\r\n }\r\n });\r\n }\r\n\r\n distributorUserChange() {\r\n if (this.form.value.distributor_user_id != '') {\r\n this.form.controls['distributor_id'].enable()\r\n }\r\n this.distributorsData = []\r\n this.selectedDistributorData = [];\r\n this.getAllDistributors();\r\n\r\n this._service.getDistributorsByUser(this.form.get('distributor_user_id').value).subscribe((res: any) => {\r\n if (res) {\r\n this.selectedDistributorData = res.distributors;\r\n this.form.controls['distributor_id'].setValue(this.selectedDistributorData)\r\n }\r\n });\r\n }\r\n\r\n submitData() {\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n\r\n let distributor_user_id = this.form.get('distributor_user_id').value;\r\n let jsonObj = this.form.get('distributor_id').value;\r\n if (jsonObj) {\r\n jsonObj.map(e => {\r\n e.distributor_User_id = distributor_user_id;\r\n });\r\n }\r\n this._service.saveDistributorMapping(jsonObj).subscribe(res => {\r\n this.toastr.success(\"Distributor user mapped successfully\");\r\n this.form.reset();\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.distr-add-btn {\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:0px 10px;\\r\\n border-radius: 5px;\\r\\n float: right;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9kaXN0cmlidXRvci9kaXN0cmlidXRvci1ncmlkL2Rpc3RyaWJ1dG9yLWdyaWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixZQUFZO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9kaXN0cmlidXRvci9kaXN0cmlidXRvci1ncmlkL2Rpc3RyaWJ1dG9yLWdyaWQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXItbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uZGlzdHItYWRkLWJ0biB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgbWFyZ2luOjBweCAxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59Il19 */\"","import { Component, Input, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-distributor-grid',\r\n templateUrl: './distributor-grid.component.html',\r\n styleUrls: ['./distributor-grid.component.css']\r\n})\r\nexport class DistributorGridComponent implements OnInit {\r\n userId:any;\r\n isdistributor:any;\r\n apiResp: any;\r\n sortedCols:any;\r\n distributorGridData: any;\r\n selectedCols: any;\r\n cols: any;\r\n showForm = false;\r\n showView = false;\r\n selectedRow = {};\r\n formType = \"\";\r\n @Input() businessUnit: any;\r\n constructor(private router: Router, private spinner: NgxSpinnerService, private toastr: ToastrService, private _service: CupsService) { }\r\n\r\n ngOnInit() {\r\n this.showForm = false;\r\n this.getSessionValues()\r\n this.getDistributorGrid();\r\n\r\n }\r\n getSessionValues(){\r\n this.userId = sessionStorage.getItem('userid');\r\n this.isdistributor=sessionStorage.getItem('isDistributor');\r\n }\r\n\r\n getDistributorGrid() {\r\n this._service.getDistributorsGridData(this.businessUnit,this.userId,this.isdistributor).subscribe(response => {\r\n this.showForm = false;\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n if (this.businessUnit != 1 && this.businessUnit !=4) {\r\n this.apiResp.headerColumns = this.apiResp.headerColumns.filter(h => h.field != 'distributor_state');\r\n }\r\n this.cols = this.apiResp.headerColumns.filter(h => h.is_grid_display);\r\n this.sortedCols = JSON.parse(JSON.stringify(this.cols.filter(x=>x.is_show)));\r\n this.sortedCols = this.sortedCols.sort((a, b) => {\r\n return a.header > b.header ? 1 : -1;\r\n });\r\n this.selectedCols = this.apiResp.headerColumns.filter(h => h.is_grid_display && h.is_show && h.is_user_visible);\r\n this.distributorGridData = this.apiResp.distributorData;\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n onChangeDDValue() {\r\n this.sortColumns();\r\n }\r\n updateUserColumns(){\r\n this._service.updateUserGridCols(this.selectedCols,this.userId,this.isdistributor).subscribe((response:any)=>{\r\n this._service.displayToastr(response);\r\n });\r\n }\r\n\r\n sortColumns() {\r\n this.selectedCols = this.selectedCols.sort((a, b) => {\r\n return a.serial_no - b.serial_no;\r\n })\r\n }\r\n\r\n addNewDistributor() {\r\n this.showForm = true;\r\n this.formType = 'New';\r\n }\r\n\r\n refreshDistributors(eventvalue) {\r\n if(eventvalue) {\r\n this.getDistributorGrid();\r\n } else {\r\n this.showForm = false;\r\n }\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n if (rowObject.type == 'view') {\r\n this.showView = true;\r\n } else {\r\n this.showForm = true; \r\n this.formType = 'Edit'; \r\n }\r\n this.selectedRow = rowObject['rowData'];\r\n }\r\n\r\n backToGrid(_event: any) {\r\n this.showForm = false;\r\n this.showView = false;\r\n }\r\n\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.cust-form-label {\\r\\n font-size: 14px !important;\\r\\n margin-bottom: 0px !important;\\r\\n display: block;\\r\\n}\\r\\n.cancel-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\n.submit-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\nsmall {\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n.cust-form-group {\\r\\n justify-content: end;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n#distributorRequestForm .ui-dropdown , #distributorRequestForm .ui-multiselect{\\r\\n width: 100% !important;\\r\\n border: 1px solid black !important;\\r\\n}\\r\\n#distributorRequestForm .add-user-btn {\\r\\n width: 200px;\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\n#distributorRequestForm .ui-table .ui-table-thead>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n#distributorRequestForm .ui-table .ui-table-thead>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n#distributorRequestForm .ui-table .ui-table-tbody>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n#distributorRequestForm .edit-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n right: 0px !important;\\r\\n}\\r\\n#distributorRequestForm .checkbox-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n left: 0px !important;\\r\\n}\\r\\n#distributorRequestForm .ui-paginator {\\r\\n margin-top: 10px !important;\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n float: right !important;\\r\\n}\\r\\n#distributorRequestForm .ui-paginator .ui-paginator-pages .ui-paginator-page.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n color: white !important;\\r\\n}\\r\\n#distributorRequestForm .ui-multiselect .ui-multiselect-panel {\\r\\n right: 0px !important;\\r\\n}\\r\\n#distributorRequestForm .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {\\r\\n color: black !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n#distributorRequestForm .ui-chkbox .ui-chkbox-box.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n#distributorRequestForm .ui-table table {\\r\\n width: 100% !important;\\r\\n}\\r\\n#distributorRequestForm .ui-table {\\r\\n max-height: 700px !important;\\r\\n}\\r\\n#distributorRequestForm .ui-table-scrollable-header, .ui-table-scrollable-footer {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n z-index: 9999;\\r\\n}\\r\\n#distributorRequestForm .ui-table-scrollable-header-box {\\r\\n margin-right: 60px !important;\\r\\n}\\r\\n#distributorRequestForm .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 280px) !important;\\r\\n}\\r\\n#distributorRequestForm .excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n#distributorRequestForm .ui-chips > ul.ui-inputtext {\\r\\n width: 100% !important;\\r\\n}\\r\\n#distributorRequestForm .ui-chips > ul.ui-inputtext .ui-chips-input-token input {\\r\\n width: 100% !important;\\r\\n}\\r\\n.addIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 3px; \\r\\n margin-left: 6px;\\r\\n margin-top: 4px;\\r\\n}\\r\\n#distributorRequestForm table>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n#distributorRequestForm table>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n#distributorRequestForm .table>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n@media screen and (min-width: 1000px) {\\r\\n #distributorRequestForm .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:140px !important;\\r\\n }\\r\\n }\\r\\n@media screen and (min-width: 1052px) {\\r\\n #distributorRequestForm .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 320px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:110px !important;\\r\\n }\\r\\n }\\r\\n@media screen and (min-width: 1407px) {\\r\\n #distributorRequestForm .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 300px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:80px !important;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9kaXN0cmlidXRvci9kaXN0cmlidXRvci1yZXF1ZXN0L2Rpc3RyaWJ1dG9yLXJlcXVlc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsY0FBYztBQUNsQjtBQUNBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksMkJBQTJCO0FBQy9CO0FBQ0E7SUFDSSxvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLHNCQUFzQjtBQUMxQjtBQUNBO0lBQ0ksc0JBQXNCO0lBQ3RCLGtDQUFrQztBQUN0QztBQUNBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIseUJBQXlCO0FBQzdCO0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix1QkFBdUI7QUFDM0I7QUFDQTtJQUNJLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsMENBQTBDO0lBQzFDLHVCQUF1QjtJQUN2Qiw4QkFBOEI7QUFDbEM7QUFDQTtJQUNJLHdCQUFnQjtJQUFoQixnQkFBZ0I7SUFDaEIscUJBQXFCO0FBQ3pCO0FBQ0E7SUFDSSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtBQUN4QjtBQUNBO0lBQ0ksMkJBQTJCO0lBQzNCLGtDQUFrQztJQUNsQyx1QkFBdUI7SUFDdkIsdUJBQXVCO0FBQzNCO0FBQ0E7SUFDSSxvQ0FBb0M7SUFDcEMsdUJBQXVCO0FBQzNCO0FBQ0E7SUFDSSxxQkFBcUI7QUFDekI7QUFDQTtJQUNJLHVCQUF1QjtJQUN2QixrQ0FBa0M7QUFDdEM7QUFDQTtJQUNJLGdDQUFnQztJQUNoQyxvQ0FBb0M7SUFDcEMseUJBQXlCO0FBQzdCO0FBQ0E7SUFDSSxzQkFBc0I7QUFDMUI7QUFDQTtJQUNJLDRCQUE0QjtBQUNoQztBQUNBO0lBQ0ksd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsYUFBYTtBQUNqQjtBQUNBO0lBQ0ksNkJBQTZCO0FBQ2pDO0FBQ0E7SUFDSSwwQ0FBMEM7QUFDOUM7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1Qsa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxzQkFBc0I7QUFDMUI7QUFDQTtJQUNJLHNCQUFzQjtBQUMxQjtBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQzNCO0FBQ0E7SUFDSSxlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLDBDQUEwQztJQUMxQyx1QkFBdUI7SUFDdkIsOEJBQThCO0FBQ2xDO0FBRUE7SUFDSTtRQUNJLDBDQUEwQztJQUM5QztJQUNBO1FBQ0ksMkJBQTJCO0lBQy9CO0VBQ0Y7QUFFQTtJQUNFO1FBQ0ksMENBQTBDO0lBQzlDO0lBQ0E7UUFDSSwyQkFBMkI7SUFDL0I7RUFDRjtBQUNBO0lBQ0U7UUFDSSwwQ0FBMEM7SUFDOUM7SUFDQTtRQUNJLDBCQUEwQjtJQUM5QjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9kaXN0cmlidXRvci9kaXN0cmlidXRvci1yZXF1ZXN0L2Rpc3RyaWJ1dG9yLXJlcXVlc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXItbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uY3VzdC1mb3JtLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uY2FuY2VsLWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY0ZjRmO1xyXG4gICAgbWFyZ2luOjEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuLnN1Ym1pdC1idG4ge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICAgIG1hcmdpbjoxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcbnNtYWxsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcclxufVxyXG4uY3VzdC1mb3JtLWdyb3VwIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLWRyb3Bkb3duICwgI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLW11bHRpc2VsZWN0e1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLmFkZC11c2VyLWJ0biB7XHJcbiAgICB3aWR0aDogMjAwcHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgbWFyZ2luOjEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLXRhYmxlIC51aS10YWJsZS10aGVhZD50cj50aCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY0ZjRmO1xyXG4gICAgY29sb3I6d2hpdGU7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UxZjBmZjtcclxufVxyXG5cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLXRhYmxlIC51aS10YWJsZS10aGVhZD50cj50aD5kaXYge1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4jZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSAudWktdGFibGUgLnVpLXRhYmxlLXRib2R5PnRyPnRkIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzRmNGY0ZiAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XHJcbn1cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLmVkaXQtY29sdW1uIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLmNoZWNrYm94LWNvbHVtbiB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLXBhZ2luYXRvciB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxufVxyXG4jZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSAudWktcGFnaW5hdG9yIC51aS1wYWdpbmF0b3ItcGFnZXMgLnVpLXBhZ2luYXRvci1wYWdlLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG4jZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSAudWktbXVsdGlzZWxlY3QgLnVpLW11bHRpc2VsZWN0LXBhbmVsIHtcclxuICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG4jZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSAudWktbXVsdGlzZWxlY3QtcGFuZWwgLnVpLW11bHRpc2VsZWN0LWl0ZW1zIC51aS1tdWx0aXNlbGVjdC1pdGVtLnVpLXN0YXRlLWhpZ2hsaWdodCB7XHJcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLWNoa2JveCAudWktY2hrYm94LWJveC51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcbiNkaXN0cmlidXRvclJlcXVlc3RGb3JtIC51aS10YWJsZSB0YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcbiNkaXN0cmlidXRvclJlcXVlc3RGb3JtIC51aS10YWJsZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MDBweCAhaW1wb3J0YW50O1xyXG59XHJcbiNkaXN0cmlidXRvclJlcXVlc3RGb3JtIC51aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlciwgLnVpLXRhYmxlLXNjcm9sbGFibGUtZm9vdGVyIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbn1cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLWJveCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcclxufVxyXG4jZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyODBweCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLmV4Y2VsSWNvbiB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgdG9wOiAtN3B4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbiNkaXN0cmlidXRvclJlcXVlc3RGb3JtICAudWktY2hpcHMgPiB1bC51aS1pbnB1dHRleHQge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG4jZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSAudWktY2hpcHMgPiB1bC51aS1pbnB1dHRleHQgLnVpLWNoaXBzLWlucHV0LXRva2VuIGlucHV0IHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hZGRJY29uIHtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgcGFkZGluZzogM3B4OyAgICBcclxuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbiNkaXN0cmlidXRvclJlcXVlc3RGb3JtIHRhYmxlPnRyPnRoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBjb2xvcjp3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFmMGZmO1xyXG59XHJcblxyXG4jZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSB0YWJsZT50cj50aD5kaXYge1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4jZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSAudGFibGU+dHI+dGQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNGY0ZjRmICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAjZGlzdHJpYnV0b3JSZXF1ZXN0Rm9ybSAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzcwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2Yge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MTQwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTJweCkge1xyXG4gICAgI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMyMHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjExMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDdweCkge1xyXG4gICAgI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjgwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufSJdfQ== */\"","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n\r\nexport class AccountManagers {\r\n public salesRepUserId: number;\r\n public salesRep: string;\r\n public salesRepEmail: string;\r\n public industry_id?: number;\r\n public region_id?: number;\r\n}\r\n\r\n@Component({\r\n selector: 'app-distributor-request',\r\n templateUrl: './distributor-request.component.html',\r\n styleUrls: ['./distributor-request.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class DistributorRequestComponent implements OnInit {\r\n @Input() recieveFormData: any;\r\n @Input() formType: any;\r\n @Input() businessUnit: any;\r\n @Output() reLoadGrid = new EventEmitter();\r\n selectedOrganisation: any;\r\n organisationDD: any;\r\n accountManagers: AccountManagers[] = [];\r\n formData = {};\r\n distributionChannelDD: any;\r\n distributionRegionDD: any;\r\n selectedDistribution: any;\r\n sbuDD: any;\r\n selectedSBUS: any;\r\n selectedDistributorRegions = [];\r\n shipTo: any;\r\n tempShipTo = [];\r\n selectedShip: any;\r\n productsDD: any;\r\n selectedProducts: any;\r\n industriesDD: any;\r\n selectedIndustries = [];\r\n masterAPIResp: any;\r\n usersData = [];\r\n orgUsersData = [];\r\n userHeaderCols: any;\r\n defaultWidth = '100%';\r\n businessUnitName = \"\";\r\n selectedSalesRep: any;\r\n salesRepDD: any;\r\n countryDD: any;\r\n selectedCountry: any;\r\n displayAddShipTo: boolean = false;\r\n shipToName = \"\";\r\n shipToId = \"\";\r\n shipToCity = \"\";\r\n shipToAddress = \"\";\r\n displayShipToView: boolean = true;\r\n accountManagersDD: any;\r\n salesManagersDD: any;\r\n tempAccountManagersDD = [];\r\n apiRespUsers: any;\r\n countryName = \"\";\r\n apiResp: any;\r\n productsData: any;\r\n shipToData: any;\r\n sbuData: any;\r\n usersDataResp: any;\r\n salesRepData: any;\r\n formMode = \"\";\r\n distributorData: any;\r\n dupAccountManagers = {\r\n manager: []\r\n }\r\n dist_contact_price_support_email: string[];\r\n dist_product_manager_email: string[];\r\n pricingAdminEmail: string[];\r\n adminAndPricingSupportMappings: any;\r\n requestApi = {\r\n \"distributor_id\": 0,\r\n \"distributor_name\": \"\",\r\n \"distributor_mailing_address\": \"\",\r\n \"distributor_city\": \"\",\r\n \"distributor_state\": \"\",\r\n \"distributor_zipcode\": \"\",\r\n \"distributor_business_unit\": 1,\r\n \"distributor_region\": 1,\r\n \"distributor_country\": 0,\r\n \"is_active\": true,\r\n \"created_by\": 0,\r\n \"basf_payer\": \"\",\r\n \"pricing_Admin_First_Name\": \"\",\r\n \"pricing_Admin_Last_Name\": \"\",\r\n \"pricing_Admin_Email\": \"\",\r\n \"sales_org\": 0,\r\n \"distribution_channel\": 0,\r\n \"sbu\": [],\r\n \"account\": [],\r\n \"sold_to\": {},\r\n //\"industry\": \"\",\r\n //\"basf_sales_account_email\": \"\",\r\n //\"product_id\": \"\",\r\n \"products\": [],\r\n //\"basf_sale_account_user_id\": \"\",\r\n \"distributor_contact_for_price_support_first_name\": \"\",\r\n \"distributor_contact_for_price_support_last_name\": \"\",\r\n \"distributor_contact_for_price_support_email\": \"\",\r\n //\"distributor_businessunit_mapping_id\": 0,\r\n \"distributor_email\": \"abc@123.com\",\r\n \"salesReps\": [],\r\n \"userDetails\": [],\r\n //\"salesAccountEmails\":[],\r\n \"salesSupport\": [],\r\n \"adminAndPricingSupportMappings\": [],\r\n \"industries\": []\r\n }\r\n\r\n salesRep = [\r\n {\r\n \"distributor_sales_rep_mapping_id\": 0,\r\n \"distributor_id\": 0,\r\n \"user_id\": 4,\r\n \"industry_id\": 161\r\n }\r\n ];\r\n\r\n salesAcct = [\r\n {\r\n \"sales_rep_email_id\": 0,\r\n \"sales_rep_name\": \"salesRep1\",\r\n \"sales_rep_email\": \"salesRep1@fre.com\"\r\n }\r\n ];\r\n accountManagerDUP = [];\r\n selectedSalesSupport: any[] = [];\r\n selectedSalesSupportbyBU: any[] = [];\r\n salesSupportUsers: any;\r\n displaySalesSupportUsers: any;\r\n pricingAdminEmailbyInd: any[] = [];\r\n dist_product_manager_emailbyInd: any[] = [];\r\n distributor_user_id = 0;\r\n customersDD: any;\r\n selectedCustomers: any = [];\r\n customerData: any;\r\n\r\n constructor(private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n switch (this.businessUnit) {\r\n case 1: this.businessUnitName = 'EM'; break;\r\n case 2: this.businessUnitName = 'EV'; break;\r\n case 3: this.businessUnitName = 'PM'; break;\r\n case 4: this.businessUnitName = 'ED'; break;\r\n default: this.businessUnitName = 'EM'; break;\r\n }\r\n this.userHeaderCols = [\r\n { field: 'first_name', header: 'First Name', is_show: true, width: this.defaultWidth, is_edit: true, serialNo: 2, placeholder: 'Enter your first_name' },\r\n { field: 'last_name', header: 'Last Name', is_show: true, width: this.defaultWidth, is_edit: false, serialNo: 3, placeholder: 'Enter your last_name' },\r\n { field: 'email', header: 'Email Address', is_show: true, width: this.defaultWidth, is_edit: true, serialNo: 5, placeholder: 'Enter your Email Address' }\r\n ]\r\n this._service.getDistributorDropdownData(this.businessUnit).subscribe(response => {\r\n if (!response['isError']) {\r\n this.masterAPIResp = response;\r\n this.formMode = \"New\";\r\n this.customersDD = this.getUniqueListBy(this.masterAPIResp.customerData, 'customer_name');\r\n this.getSalesOrganisations();\r\n this.getCountriesDropdwon();\r\n this.getDistributorChannels();\r\n this.getDistributorRegions();\r\n this.getSBUS();\r\n this.getProductsDropdown();\r\n this.getIndustriedDropdown();\r\n this.getSalesRep();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n getUniqueListBy(arr, key) {\r\n return [...new Map(arr.map(item => [item[key], item])).values()]\r\n }\r\n\r\n getEditFormData() {\r\n if (this.recieveFormData && this.formType === 'Edit') {\r\n this._service.getDistributorDetails(this.recieveFormData['distributor_id']).subscribe(response1 => {\r\n if (!response1['isError']) {\r\n this.spinner.hide();\r\n this.apiResp = response1;\r\n this.formMode = \"Edit\";\r\n this.distributorData = this.apiResp['distributorData'][0];\r\n this.productsData = this.apiResp['distributorProductsMappingData'];\r\n this.shipToData = this.apiResp['distributorShipToData'];\r\n this.sbuData = this.apiResp['distributorSbuData'];\r\n this.customerData = this.apiResp['customersData'];\r\n this.adminAndPricingSupportMappings = this.apiResp['adminAndPricingSupportMappings'];\r\n this.salesSupportUsers = this.apiResp['distributorSalesSupport'];\r\n this.usersData = this.apiResp['distributorUserDetailsData'].filter(u => u.email != this.formData['distributor_contact_for_price_support_email'] && u.email != this.formData['pricing_Admin_Email']);\r\n this.usersData.forEach((u, index) => {\r\n u.index = index;\r\n })\r\n this.orgUsersData = JSON.parse(JSON.stringify(this.usersData));\r\n this.salesRepData = this.apiResp['salesRepEmailData'];\r\n this.generateFormData();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response1);\r\n }\r\n });\r\n }\r\n }\r\n\r\n getSalesOrganisations() {\r\n this.organisationDD = this.masterAPIResp.requestMaster.filter(rm => rm.master_name === 'SalesOrg');\r\n }\r\n\r\n getDistributorChannels() {\r\n this.distributionChannelDD = this.masterAPIResp.requestMaster.filter(rm => rm.master_name === 'DistributorChannel');\r\n }\r\n\r\n getDistributorRegions() {\r\n this.distributionRegionDD = this.masterAPIResp.requestMaster.filter(rm => rm.master_name === 'DistributorRegion');\r\n }\r\n\r\n getSBUS() {\r\n this.sbuDD = this.masterAPIResp.requestMaster.filter(rm => rm.master_name === 'SBU');\r\n }\r\n\r\n getShipToDropdown() {\r\n this.shipTo = this.masterAPIResp.requestMaster.filter(rm => rm.master_name === 'ShipTo');\r\n }\r\n\r\n getProductsDropdown() {\r\n this.productsDD = this.masterAPIResp.products;\r\n }\r\n\r\n getIndustriedDropdown() {\r\n this.industriesDD = this.masterAPIResp.requestMaster.filter(rm => rm.master_name === 'Industry');\r\n }\r\n\r\n getCountriesDropdwon() {\r\n this.countryDD = this.masterAPIResp.countryMaster;\r\n }\r\n\r\n getSalesRep() {\r\n this.spinner.show();\r\n this._service.getBUInternalUsers(this.businessUnit).subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiRespUsers = response['lstUsers'];\r\n this.accountManagersDD = this.apiRespUsers.filter(u => !u.is_distributor_user && u.is_active);\r\n this.salesManagersDD = JSON.parse(JSON.stringify(this.accountManagersDD));\r\n this.getEditFormData();\r\n this.spinner.hide();\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n onSelectSalesSupportUsers(sbu) {\r\n let currSalesSupport = [];\r\n this.selectedSalesSupport = this.selectedSalesSupport.filter(item => item.sbuName != sbu.value)\r\n this.selectedSalesSupportbyBU[sbu.request_master_id].forEach(item => {\r\n currSalesSupport.push({\r\n basf_user_id: item.basf_user_id,\r\n email: item.email,\r\n user_id: item.user_id,\r\n master_key: sbu.master_key,\r\n sbuName: sbu.value,\r\n request_master_id: sbu.request_master_id\r\n });\r\n });\r\n this.selectedSalesSupport.push(...currSalesSupport);\r\n }\r\n\r\n onChangeDDValue(event, value) {\r\n if (event.itemValue) {\r\n this.appendValuestoAccountManager(event.itemValue.request_master_id);\r\n } else {\r\n if (event.value) {\r\n event.value.forEach(v => {\r\n this.appendValuestoAccountManager(v.request_master_id);\r\n })\r\n }\r\n }\r\n }\r\n\r\n onSBUPanelHidden() {\r\n let temp: any[] = [];\r\n let missingitem = [];\r\n this.sbuDD.forEach(x => {\r\n let found = this.selectedSBUS.find(y => y.value == x.value);\r\n if (found === undefined) {\r\n missingitem.push(x)\r\n }\r\n });\r\n for (let item of missingitem) {\r\n this.selectedSalesSupportbyBU[item.value] = [];\r\n }\r\n for (let item of this.selectedSBUS) {\r\n let filtered = this.selectedSalesSupport.filter(x => x.sbuName == item.value)\r\n temp.push(...filtered);\r\n }\r\n this.selectedSalesSupport = JSON.parse(JSON.stringify(temp));\r\n }\r\n\r\n onChangeSBUValue(_event2) {\r\n let tempProducts = [];\r\n if (this.selectedProducts.length > 0) {\r\n let selectedProducts = JSON.parse(JSON.stringify(this.selectedProducts));\r\n let tempSelectedProducts = [];\r\n this.selectedSBUS.forEach(sbu => {\r\n let filteredProducts = [];\r\n let filteredSelectedProducts = [];\r\n filteredProducts = this.masterAPIResp.products.filter(pd => pd.sbu === sbu.request_master_id);\r\n tempProducts.push(...filteredProducts);\r\n filteredSelectedProducts = selectedProducts.filter(sp => sp.sbu === sbu.request_master_id);\r\n tempSelectedProducts.push(...filteredSelectedProducts);\r\n })\r\n this.productsDD = JSON.parse(JSON.stringify(tempProducts.filter(p => p.country_Id === this.selectedCountry.country_id)));\r\n this.selectedProducts = JSON.parse(JSON.stringify(tempSelectedProducts));\r\n }\r\n }\r\n\r\n onIndustryPanelHidden() {\r\n let missingItems = [];\r\n for (let item of this.industriesDD) {\r\n let found = this.selectedIndustries.find(x => x.value == item.value);\r\n if (found == undefined || found == null) {\r\n missingItems.push(found);\r\n }\r\n }\r\n for (let item of missingItems) {\r\n this.pricingAdminEmailbyInd[item.request_master_id] = [];\r\n this.dist_product_manager_emailbyInd[item.request_master_id] = [];\r\n }\r\n }\r\n\r\n appendValuestoAccountManager(masterId) {\r\n let salesRepDetailsFound = this.businessUnitName == 'ED' ? this.accountManagers.some(am => am.region_id === masterId) : this.accountManagers.some(am => am.industry_id === masterId);\r\n if (!salesRepDetailsFound) {\r\n let am = {\r\n salesRepUserId: 0,\r\n salesRep: \"\",\r\n salesRepEmail: \"\",\r\n region_id: this.businessUnitName == 'ED' ? masterId : 0,\r\n industry_id: this.businessUnitName != 'ED' ? masterId : 0\r\n };\r\n this.accountManagers.push(am);\r\n } else {\r\n this.accountManagers = this.businessUnitName == 'ED' ? this.accountManagers.filter(am => am.region_id !== masterId) : this.accountManagers.filter(am => am.industry_id !== masterId);\r\n }\r\n let fManagers = [];\r\n this.accountManagers.forEach(a => {\r\n let fAccountManager1 = this.accountManagersDD.find(am1 => am1.user_id === a.salesRepUserId);\r\n if (fAccountManager1) {\r\n fManagers.push(fAccountManager1);\r\n }\r\n });\r\n if (fManagers.length) {\r\n this.dupAccountManagers['manager'] = JSON.parse(JSON.stringify(fManagers));\r\n }\r\n if (fManagers.length !== this.accountManagers.length) {\r\n this.dupAccountManagers['manager'].length = this.accountManagers.length;\r\n }\r\n }\r\n\r\n onAccountMangerSelection(_event, value, index) {\r\n this.accountManagers[index].salesRepUserId = value.user_id;\r\n this.accountManagers[index].salesRep = value.basf_user_id;\r\n this.accountManagers[index].salesRepEmail = value.email;\r\n }\r\n addNewUser() {\r\n let userObj = {\r\n index: Math.max(...this.usersData.map(o => o.index), 1) + 1,\r\n // userName: '',\r\n first_name: '',\r\n last_name: '',\r\n email: '',\r\n edit: true,\r\n newUser: true\r\n };\r\n let newUserSpace = this.usersData.find(user => user.newUser);\r\n if (newUserSpace) {\r\n this.toastr.warning(\"Please save the current new user\", \"Warning!\");\r\n return;\r\n }\r\n this.usersData.push(userObj);\r\n }\r\n\r\n removeUser(user) {\r\n this.usersData = this.usersData.filter(u => u.index === user.index);\r\n }\r\n\r\n cancelUserEdit(rowData) {\r\n if (this.orgUsersData.length > 0 && !rowData.newUser) {\r\n let fUser = this.orgUsersData.find(user => user.index === rowData.index);\r\n this.usersData.forEach(user => {\r\n if (user.index === fUser.index) {\r\n user.first_name = fUser.first_name;\r\n user.last_name = fUser.last_name;\r\n user.email = fUser.email;\r\n user.edit = false;\r\n user.newUser = fUser.newUser;\r\n }\r\n });\r\n } else {\r\n this.usersData = this.usersData.filter(user => user.index !== rowData.index);\r\n }\r\n }\r\n\r\n openAddShipTo() {\r\n this.displayAddShipTo = true;\r\n }\r\n\r\n closeAddShipTo() {\r\n this.displayAddShipTo = false;\r\n }\r\n\r\n addShipTo() {\r\n let shipToObj = {\r\n id: this.tempShipTo.length + 1,\r\n shipToName: this.shipToId,\r\n shipToId: this.shipToId,\r\n shipToCity: this.shipToCity,\r\n shipToFullName: `${this.shipToId}-${this.shipToName}-${this.shipToCity}`,\r\n shipToAddress: this.shipToAddress\r\n };\r\n let fTempShipTo = this.tempShipTo.find(ts => ts.shipToName == this.shipToName);\r\n if (!fTempShipTo) {\r\n this.tempShipTo.push(shipToObj);\r\n this.shipTo = JSON.parse(JSON.stringify(this.tempShipTo));\r\n this.shipToName = \"\";\r\n this.shipToId = '';\r\n this.shipToCity = '';\r\n this.shipToAddress = '';\r\n }\r\n this.displayAddShipTo = false;\r\n }\r\n\r\n removeShipTo() {\r\n this.displayShipToView = false;\r\n }\r\n\r\n filterShipTo() {\r\n this.displayShipToView = true;\r\n this.selectedShip.forEach(ss => {\r\n this.tempShipTo = this.tempShipTo.filter(st => st.id !== ss.id);\r\n });\r\n this.shipTo = JSON.parse(JSON.stringify(this.tempShipTo));\r\n }\r\n\r\n cancelRemoveShipTo() {\r\n this.displayShipToView = true;\r\n }\r\n\r\n saveUserData(rowData) {\r\n let fUser = this.orgUsersData.some(user => user.email === rowData.email);\r\n if ((fUser && rowData.newUser)) {\r\n this.toastr.error(`User with email: ${rowData.email} already exists`, 'Error!');\r\n return;\r\n }\r\n this.saveDistributorUsertoThreeIamCall(rowData);\r\n\r\n }\r\n\r\n getuserDetailsbyemailId(email) {\r\n this._service.getUserDetailsById(email).subscribe(response => {\r\n if (!response['isError']) {\r\n return 0;\r\n }\r\n else {\r\n this.apiResp = response['lstUsers'];\r\n return this.apiResp[0].user_id;\r\n }\r\n })\r\n }\r\n checkUserExists(email, rowData, refId) {\r\n this.spinner.show();\r\n this._service.getUserDetailsById(email).subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this.apiResp = response['lstUsers'];\r\n if (this.apiResp.length && this.apiResp[0].businessunit_id == this.businessUnit) {\r\n this.distributor_user_id = this.apiResp[0].user_id;\r\n } else {\r\n this.distributor_user_id = 0;\r\n }\r\n\r\n this.usersData.forEach((user) => {\r\n if (user.index === rowData.index) {\r\n user.first_name = rowData.first_name;\r\n user.last_name = rowData.last_name;\r\n user.email = rowData.email;\r\n user.edit = false;\r\n user.newUser = false;\r\n user.user_id = this.distributor_user_id;\r\n user.created_by = Number(sessionStorage.getItem('userid'));\r\n user.refId = refId;\r\n }\r\n });\r\n this.orgUsersData = JSON.parse(JSON.stringify(this.usersData));\r\n console.log(this.orgUsersData);\r\n\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n saveDistributor() {\r\n this.formData['pricingAdminEmail'] = (this.pricingAdminEmail != undefined && this.pricingAdminEmail.length > 0) ? this.pricingAdminEmail.join(\",\") : '';\r\n if (this.checkDistributorValidation()) {\r\n this.requestApi.distributor_name = this.formData['distributorName'];\r\n this.requestApi.distributor_city = this.formData['distributorCity'];\r\n this.requestApi.distributor_state = (this.businessUnitName === 'EM' || this.businessUnitName === 'ED') ? this.formData['distributorState'] : '';\r\n this.requestApi.sales_org = this.selectedOrganisation.request_master_id;\r\n this.requestApi.distributor_country = this.selectedCountry.country_id;\r\n this.requestApi.distribution_channel = this.selectedDistribution.request_master_id;\r\n this.requestApi.sbu = this.generateSBUObj();\r\n this.requestApi.account = this.generateCustomerbj();\r\n this.requestApi.sold_to = this.generateSoldToObj();\r\n this.requestApi.adminAndPricingSupportMappings = this.generateEmailsByindustryID_for_EM_ED();\r\n if (this.businessUnitName === 'EM' || this.businessUnitName === 'EV' || this.businessUnitName === 'ED') {\r\n this.generateEMEVRequestData();\r\n }\r\n else if (this.businessUnitName === 'PM') {\r\n this.generatePMRequestData();\r\n }\r\n this.requestApi.basf_payer = this.formData['basfPayer'];\r\n this.requestApi.pricing_Admin_First_Name = '';\r\n this.requestApi.pricing_Admin_Last_Name = '';\r\n this.requestApi.pricing_Admin_Email = this.formData['pricingAdminEmail'];\r\n this.requestApi.userDetails = this.generateUserDetails();\r\n this.requestApi.created_by = Number(sessionStorage.getItem('userid'));\r\n this.requestApi.distributor_business_unit = Number(this.businessUnit);\r\n if (this.formMode == 'Edit') {\r\n this.requestApi.distributor_id = this.distributorData['distributor_id'];\r\n }\r\n this.saveDistributorAPICall();\r\n }\r\n }\r\n\r\n saveDistributorAPICall() {\r\n this.spinner.show();\r\n this._service.submitDistributorData(this.requestApi).subscribe(response => { \r\n if (!response['isError']) {\r\n this._service.displayToastr(response);\r\n this.reLoadGrid.emit(true);\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n saveDistributorUsertoThreeIamCall(rowData) {\r\n this.spinner.show();\r\n this._service.saveDistributorUsertoThreeIamCall(rowData).subscribe((response: any) => {\r\n if (!response['isError']) {\r\n this._service.displayToastr(response);\r\n this.spinner.hide();\r\n this.checkUserExists(rowData.email, rowData, response['response'].refId);\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n generateEMEVRequestData() {\r\n this.requestApi.products = this.generateProductsObj();\r\n if (this.businessUnitName == 'ED') {\r\n this.requestApi.industries = this.generateIndustriesObj();\r\n this.requestApi.salesReps = this.generateEDSalesRepObj();\r\n } else {\r\n this.requestApi.salesReps = this.generateSalesRepObj();\r\n }\r\n this.formData['dist_contact_price_support_email'] = (this.dist_contact_price_support_email != undefined && this.dist_contact_price_support_email.length > 0) ? this.dist_contact_price_support_email.join(\",\") : '';\r\n this.requestApi.distributor_contact_for_price_support_first_name = '';\r\n this.requestApi.distributor_contact_for_price_support_last_name = '';\r\n this.requestApi.distributor_contact_for_price_support_email = this.formData['dist_contact_price_support_email'];\r\n if (this.businessUnit == 1 || this.businessUnit == 4) {\r\n this.requestApi.salesSupport = this.generateSalesSupportObj();\r\n }\r\n }\r\n\r\n generateSalesSupportObj() {\r\n let salesSupport = [];\r\n this.selectedSalesSupport.forEach(am => {\r\n let salesSupportObj = {\r\n \"distributor_sales_support_id\": 0,\r\n \"sales_support_id\": am.user_id,\r\n \"distributor_id\": 0,\r\n \"user_id\": am.user_id,\r\n \"basf_user_id\": am.basf_user_id,\r\n \"email\": am.email,\r\n \"sbu_id\": am.request_master_id\r\n };\r\n if (this.formMode == 'Edit') {\r\n let fSalesSupport = this.salesSupportUsers.find(ss => (ss.sales_support_id == am.user_id && ss.sbu_id == am.request_master_id));\r\n if (fSalesSupport) {\r\n salesSupport.push(JSON.parse(JSON.stringify(fSalesSupport)));\r\n } else {\r\n salesSupportObj.distributor_id = this.distributorData['distributor_sold_to_id'];\r\n salesSupport.push(JSON.parse(JSON.stringify(salesSupportObj)));\r\n }\r\n } else {\r\n salesSupport.push(JSON.parse(JSON.stringify(salesSupportObj)));\r\n }\r\n });\r\n return salesSupport;\r\n }\r\n\r\n generatePMRequestData() {\r\n this.requestApi.products = [];\r\n this.requestApi.salesReps = this.generatePMSalesRepObj();\r\n this.formData['dist_product_manager_email'] = (this.dist_product_manager_email != undefined && this.dist_product_manager_email.length > 0) ? this.dist_product_manager_email.join(\",\") : '';\r\n this.requestApi.distributor_contact_for_price_support_first_name = '';\r\n this.requestApi.distributor_contact_for_price_support_last_name = '';\r\n this.requestApi.distributor_contact_for_price_support_email = this.formData['dist_product_manager_email'];\r\n }\r\n\r\n generateFormData() {\r\n this.formData['distributorName'] = this.distributorData['distributor_name'];\r\n this.formData['distributorCity'] = this.distributorData['distributor_city'];\r\n if (this.businessUnitName == 'EM' || this.businessUnitName == 'ED') {\r\n this.formData['distributorState'] = this.distributorData['distributor_state'];\r\n }\r\n this.selectedOrganisation = this.organisationDD.find(o => o.request_master_id == this.distributorData['sales_org_id']);\r\n this.generateCountry();\r\n this.selectedCountry = this.countryDD.find(c => c.country_name == this.countryName);\r\n this.selectedDistribution = this.distributionChannelDD.find(d => d.request_master_id === this.distributorData['distributor_channel_id']);\r\n this.generateSelectedSBUS();\r\n this.generateSelectedCustomers();\r\n this.formData['soldTo'] = this.distributorData['distributor_sold_to_name'];\r\n this.formData['basfPayer'] = this.distributorData['basf_payer'];\r\n this.formData['pricingAdminFName'] = this.distributorData['pricing_Admin_First_Name'];\r\n this.formData['pricingAdminLName'] = this.distributorData['pricing_Admin_Last_Name'];\r\n this.pricingAdminEmail = this.distributorData['pricing_Admin_Email'] != '' ? this.distributorData['pricing_Admin_Email'].split(\",\") : [];\r\n this.prePopulateShipToDD();\r\n if ((this.businessUnitName === 'EM' || this.businessUnitName === 'EV' || this.businessUnitName === 'ED')) {\r\n this.generateform_EV_EM_ED();\r\n } else {\r\n this.formData['dist_product_manager_fname'] = this.distributorData['distributor_contact_for_price_support_first_name'];\r\n this.formData['dist_product_manager_lname'] = this.distributorData['distributor_contact_for_price_support_last_name'];\r\n this.dist_product_manager_email = this.distributorData['distributor_contact_for_price_support_email'] != '' ? this.distributorData['distributor_contact_for_price_support_email'].split(\",\") : [];\r\n this.generateSelectedSalesRepFor_Non_EV_EM();\r\n }\r\n if ((this.businessUnitName === 'EM' || this.businessUnitName === 'ED') && this.salesSupportUsers.length) {\r\n this.generateSelectedSalesSupportFor_EM_ED();\r\n }\r\n }\r\n\r\n generateform_EV_EM_ED() {\r\n this.generateSelectedProductsFor_EV_EM_ED();\r\n this.prePopulateIndustryAndSalesReps();\r\n if (this.businessUnitName == 'ED') {\r\n this.prePopulateRegionAndSalesReps();\r\n }\r\n this.formData['dist_contact_price_support_fname'] = this.distributorData['distributor_contact_for_price_support_first_name'];\r\n this.formData['dist_contact_price_support_lname'] = this.distributorData['distributor_contact_for_price_support_last_name'];\r\n if (this.businessUnitName === 'EM' || this.businessUnitName === 'ED') {\r\n let ar: any[] = this.adminAndPricingSupportMappings;\r\n ar.forEach(item => {\r\n this.pricingAdminEmailbyInd[item.industryId] = item.pricingAdminEmail != '' ? item.pricingAdminEmail.split(',') : [];\r\n this.dist_product_manager_emailbyInd[item.industryId] = item.distPriceSupportEmail != '' ? item.distPriceSupportEmail.split(',') : [];\r\n });\r\n }\r\n this.dist_contact_price_support_email = this.distributorData['distributor_contact_for_price_support_email'] != '' ? this.distributorData['distributor_contact_for_price_support_email'].split(\",\") : [];\r\n }\r\n\r\n generateSelectedSBUS() {\r\n let selSBUS = [];\r\n this.sbuData.filter(sbu => {\r\n let selSBU = this.sbuDD.find(s => s.request_master_id == sbu.distributor_sbu_id);\r\n if (selSBU) {\r\n selSBUS.push(selSBU);\r\n }\r\n });\r\n this.selectedSBUS = JSON.parse(JSON.stringify(selSBUS));\r\n }\r\n\r\n generateSelectedCustomers() {\r\n let selCustomers = [];\r\n this.customerData = this.getUniqueListBy(this.customerData, 'customer_name');\r\n this.customerData.filter(cust => {\r\n let selCustomer = this.customersDD.find(s => s.customer_id == cust.customer_id);\r\n if (selCustomer) {\r\n selCustomers.push(selCustomer);\r\n }\r\n });\r\n this.selectedCustomers = JSON.parse(JSON.stringify(selCustomers));\r\n }\r\n\r\n generateSelectedProductsFor_EV_EM_ED() {\r\n let selProds = [];\r\n this.productsData.filter(prod => {\r\n let selProd = this.productsDD.find(p => p.product_id == prod.product_id);\r\n if (selProd) {\r\n selProds.push(selProd);\r\n }\r\n });\r\n this.selectedProducts = JSON.parse(JSON.stringify(selProds));\r\n }\r\n\r\n generateSelectedSalesRepFor_Non_EV_EM() {\r\n let salesRepPM = [];\r\n this.salesRepData.filter(sr => {\r\n let selSalesRepPM = this.salesManagersDD.find(am => am.user_id == sr.user_id);\r\n if (selSalesRepPM) {\r\n salesRepPM.push(selSalesRepPM);\r\n }\r\n });\r\n this.selectedSalesRep = JSON.parse(JSON.stringify(salesRepPM));\r\n }\r\n\r\n generateSelectedSalesSupportFor_EM_ED() {\r\n let salesSupports = [];\r\n this.salesSupportUsers.filter(ss => {\r\n let selSalesSupport = this.salesManagersDD.find(p => p.user_id == ss.sales_support_id);\r\n if (selSalesSupport) {\r\n let sbu = this.sbuDD.find(x => x.request_master_id == ss.sbu_id);\r\n selSalesSupport['sbuName'] = sbu.value\r\n selSalesSupport['request_master_id'] = sbu.request_master_id\r\n salesSupports.push(JSON.parse(JSON.stringify(selSalesSupport)));\r\n }\r\n });\r\n this.selectedSalesSupport = JSON.parse(JSON.stringify(salesSupports));\r\n this.selectedSalesSupport.forEach(x => {\r\n if (!this.selectedSalesSupportbyBU[x.request_master_id]) {\r\n let selUsers = [];\r\n let tempSelUsers = [];\r\n tempSelUsers = this.selectedSalesSupport.filter(y => y.request_master_id === x.request_master_id);\r\n tempSelUsers.forEach(user => {\r\n let availUser = this.salesManagersDD.find(am => am.basf_user_id === user.basf_user_id);\r\n if (availUser) {\r\n selUsers.push(availUser);\r\n }\r\n })\r\n this.selectedSalesSupportbyBU[x.request_master_id] = JSON.parse(JSON.stringify(selUsers));\r\n }\r\n });\r\n }\r\n\r\n generateEmailsByindustryID_for_EM_ED() {\r\n let genObj: any[] = [];\r\n for (let ind of this.selectedIndustries) {\r\n let obj = {\r\n distributor_Support_Mapping_id: 0,\r\n industryId: ind.request_master_id,\r\n pricingAdminEmail: null,\r\n distPriceSupportEmail: null\r\n }\r\n obj.pricingAdminEmail = this.pricingAdminEmailbyInd[ind.request_master_id] ? this.pricingAdminEmailbyInd[ind.request_master_id].join(',') : '';\r\n obj.distPriceSupportEmail = this.dist_product_manager_emailbyInd[ind.request_master_id] ? this.dist_product_manager_emailbyInd[ind.request_master_id]!.join(',') : '';\r\n if (obj.pricingAdminEmail == '' && obj.distPriceSupportEmail == '') {\r\n continue;\r\n }\r\n genObj.push(JSON.parse(JSON.stringify(obj)));\r\n }\r\n return genObj;\r\n }\r\n\r\n prePopulateIndustryAndSalesReps() {\r\n let selIndustries = [];\r\n this.salesRepData.filter(i => {\r\n let selIndustry = this.industriesDD.find(s => s.request_master_id == i.industry_id);\r\n if (selIndustry) {\r\n selIndustries.push(selIndustry);\r\n }\r\n });\r\n\r\n this.selectedIndustries = JSON.parse(JSON.stringify(selIndustries));\r\n this.selectedIndustries.forEach((item) => {\r\n this.dist_product_manager_emailbyInd[item.request_master_id] = [];\r\n this.pricingAdminEmailbyInd[item.request_master_id] = [];\r\n\r\n });\r\n if (this.businessUnitName != 'ED') {\r\n this.accountManagerDUP = [];\r\n this.salesRepData.forEach((sd, _index) => {\r\n let salesRepDetailsFound = this.accountManagers.some(am => am.industry_id === sd.industry_id);\r\n if (!salesRepDetailsFound) {\r\n let am = {\r\n salesRepUserId: sd.user_id,\r\n salesRep: sd.basf_user_id,\r\n salesRepEmail: sd.email,\r\n industry_id: sd.industry_id\r\n };\r\n this.accountManagers.push(am);\r\n let fAccountManager = this.accountManagersDD.find(am2 => am2.user_id === sd.user_id);\r\n if (fAccountManager) {\r\n this.accountManagerDUP.push(fAccountManager);\r\n }\r\n } else {\r\n this.accountManagers = this.accountManagers.filter(am => am.industry_id !== sd.industry_id);\r\n }\r\n });\r\n this.dupAccountManagers['manager'] = JSON.parse(JSON.stringify(this.accountManagerDUP));\r\n }\r\n }\r\n\r\n prePopulateRegionAndSalesReps() {\r\n let selRegions = [];\r\n this.salesRepData.filter(i => {\r\n let selRegion = this.distributionRegionDD.find(s => s.request_master_id == i.distributor_region_id);\r\n if (selRegion) {\r\n selRegions.push(selRegion);\r\n }\r\n });\r\n\r\n this.selectedDistributorRegions = JSON.parse(JSON.stringify(selRegions));\r\n this.accountManagerDUP = [];\r\n this.salesRepData.forEach((sd, _index) => {\r\n if (sd.distributor_region_id > 0) {\r\n let salesRepDetailsFound = this.accountManagers.some(am => am.region_id === sd.distributor_region_id);\r\n if (!salesRepDetailsFound) {\r\n let am = {\r\n salesRepUserId: sd.user_id,\r\n salesRep: sd.basf_user_id,\r\n salesRepEmail: sd.email,\r\n region_id: sd.distributor_region_id\r\n };\r\n this.accountManagers.push(am);\r\n let fAccountManager = this.accountManagersDD.find(am2 => am2.user_id === sd.user_id);\r\n if (fAccountManager) {\r\n this.accountManagerDUP.push(fAccountManager);\r\n }\r\n } else {\r\n this.accountManagers = this.accountManagers.filter(am => am.region_id !== sd.distributor_region_id);\r\n }\r\n }\r\n });\r\n this.dupAccountManagers['manager'] = JSON.parse(JSON.stringify(this.accountManagerDUP));\r\n }\r\n\r\n prePopulateShipToDD() {\r\n this.shipToData.forEach(st => {\r\n this.shipToName = String(st.distributor_ship_to_Full_name).substring(String(st.distributor_ship_to_Full_name).indexOf('-') + 1, String(st.distributor_ship_to_Full_name).lastIndexOf(st.distributor_ship_to_city) - 1);\r\n this.shipToId = st.distributor_ship_to_name;\r\n this.shipToCity = st.distributor_ship_to_city;\r\n this.shipToAddress = st.distributor_ship_to_address;\r\n this.addShipTo();\r\n })\r\n }\r\n\r\n generateCountry() {\r\n let country = 0;\r\n this.selectedCountry = this.countryDD.find(c => c.country_code === this.selectedOrganisation.value.slice(0, 2));\r\n this.countryName = this.selectedCountry.country_name;\r\n this.productsDD = this.masterAPIResp.products.filter(p => p.country_Id === this.selectedCountry.country_id);\r\n return country;\r\n }\r\n\r\n generateSalesRes() {\r\n let salesReps = [];\r\n this.accountManagers.forEach(am => {\r\n if (am.salesRep !== '' && am.salesRepEmail !== '') {\r\n let salesRepObj = {\r\n \"sales_rep_email_id\": 0,\r\n \"sales_rep_name\": am.salesRep,\r\n \"sales_rep_email\": am.salesRepEmail,\r\n \"distributor_id\": 0,\r\n \"industry_id\": am.industry_id\r\n };\r\n salesReps.push(salesRepObj);\r\n }\r\n });\r\n return salesReps;\r\n }\r\n\r\n generateUserDetails() {\r\n let users = [];\r\n this.orgUsersData.forEach(user => {\r\n if (this.formType === 'New') {\r\n let userObj = {\r\n \"distributor_user_id\": this.getuserDetailsbyemailId(user.email),\r\n \"first_name\": user.first_name,\r\n \"last_name\": user.last_name,\r\n \"email\": user.email,\r\n \"phone\": 0,\r\n \"created_by\": Number(sessionStorage.getItem('userid')),\r\n \"is_Admin\": this.checkAdminUser(user.email),\r\n \"RefId\": user.RefId\r\n };\r\n users.push(userObj);\r\n } else {\r\n user['is_Admin'] = this.checkAdminUser(user.email);\r\n users.push(user)\r\n }\r\n });\r\n return users;\r\n }\r\n\r\n checkAdminUser(email) {\r\n let emailFound = this.pricingAdminEmail ? this.pricingAdminEmail.find(pae => pae === email) : false;\r\n if (emailFound) {\r\n return true;\r\n }\r\n let emailFound1 = this.dist_contact_price_support_email ? this.dist_contact_price_support_email.find(dcpse => dcpse === email) : false;\r\n if (emailFound1) {\r\n return true;\r\n }\r\n let emailFound2 = this.dist_product_manager_email ? this.dist_product_manager_email.find(dpme => dpme === email) : false;\r\n if (emailFound2) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n generateSBUObj() {\r\n let sbuData = [];\r\n this.selectedSBUS.forEach(sbu => {\r\n let sbuObj = {\r\n \"distributor_sbu_mapping_id\": 0,\r\n \"distributor_sbu_id\": sbu.request_master_id,\r\n \"distributor_id\": 0\r\n }\r\n if (this.formMode == 'Edit') {\r\n let fSBU = this.sbuData.find(s => s.distributor_sbu_id == sbu.request_master_id);\r\n if (fSBU) {\r\n sbuData.push(fSBU);\r\n } else {\r\n sbuObj.distributor_id = this.distributorData['distributor_id'];\r\n sbuData.push(sbuObj);\r\n }\r\n } else {\r\n sbuData.push(sbuObj);\r\n }\r\n });\r\n return sbuData;\r\n }\r\n\r\n generateCustomerbj() {\r\n let customerData = [];\r\n if (this.selectedCustomers.length > 0) {\r\n this.selectedCustomers.forEach(cust => {\r\n let customerObj = {\r\n \"distributor_account_mapping_id\": 0,\r\n \"distributor_account_id\": cust.customer_id,\r\n \"distributor_id\": 0\r\n }\r\n if (this.formMode == 'Edit') {\r\n let fSBU = this.customerData.find(s => s.distributor_account_id == cust.customer_id);\r\n if (fSBU) {\r\n customerData.push(fSBU);\r\n } else {\r\n customerObj.distributor_id = this.distributorData['distributor_id'];\r\n customerData.push(customerObj);\r\n }\r\n } else {\r\n customerData.push(customerObj);\r\n }\r\n });\r\n }\r\n return customerData;\r\n }\r\n\r\n generateProductsObj() {\r\n let productData = [];\r\n if (!this.selectedProducts) {\r\n return productData;\r\n }\r\n this.selectedProducts.forEach(product => {\r\n let prodObj = {\r\n \"distributor_soldto_product_mapping_id\": 0,\r\n \"product_id\": product.product_id,\r\n \"distributor_sold_to_id\": 0\r\n };\r\n if (this.formMode == 'Edit') {\r\n let fProduct = this.productsData.find(p => p.product_id == product.product_id);\r\n if (fProduct) {\r\n productData.push(fProduct);\r\n } else {\r\n prodObj.distributor_sold_to_id = this.distributorData['distributor_sold_to_id'];\r\n productData.push(prodObj);\r\n }\r\n } else {\r\n productData.push(prodObj);\r\n }\r\n });\r\n return productData;\r\n }\r\n\r\n validateAccountManagers() {\r\n let isValid = true;\r\n if (!this.accountManagers) {\r\n this.toastr.error(\"Account manager is a mandate field\");\r\n isValid = false;\r\n }\r\n this.accountManagers.forEach(am => {\r\n if (am == undefined || am.salesRepUserId == 0) {\r\n this.toastr.error(\"Account manager is a mandate field\");\r\n isValid = false;\r\n }\r\n });\r\n return isValid;\r\n }\r\n\r\n generateIndustriesObj() {\r\n let industryData = [];\r\n this.selectedIndustries.forEach(am => {\r\n let industryObj = {\r\n \"distributor_sales_rep_mapping_id\": 0,\r\n \"distributor_id\": 0,\r\n \"industry_id\": am.request_master_id,\r\n \"region_id\": 0,\r\n \"user_id\": 0\r\n }\r\n if (this.formMode == 'Edit') {\r\n let fIndustry = this.industriesDD.find(s => s.industry_id == am.request_master_id);\r\n if (fIndustry) {\r\n industryData.push(fIndustry);\r\n } else {\r\n industryObj.distributor_id = this.distributorData['distributor_id'];\r\n industryData.push(industryObj);\r\n }\r\n } else {\r\n industryData.push(industryObj);\r\n }\r\n });\r\n return industryData;\r\n }\r\n\r\n generateEDSalesRepObj() {\r\n let salesRepData = [];\r\n this.accountManagers.forEach(am => {\r\n let salesRepObj = {\r\n \"distributor_sales_rep_mapping_id\": 0,\r\n \"distributor_id\": 0,\r\n \"user_id\": am.salesRepUserId,\r\n \"region_id\": am.region_id\r\n };\r\n if (this.formMode == 'Edit') {\r\n let fSalesRep = this.salesRepData.find(s => s.user_id == am.salesRepUserId && s.region_id == am.region_id);\r\n if (fSalesRep) {\r\n salesRepData.push(fSalesRep);\r\n } else {\r\n salesRepObj.distributor_id = this.distributorData['distributor_id'];\r\n salesRepData.push(salesRepObj);\r\n }\r\n } else {\r\n salesRepData.push(salesRepObj);\r\n }\r\n });\r\n return salesRepData;\r\n }\r\n\r\n generateSalesRepObj() {\r\n let salesRepData = [];\r\n this.accountManagers.forEach(am => {\r\n let salesRepObj = {\r\n \"distributor_sales_rep_mapping_id\": 0,\r\n \"distributor_id\": 0,\r\n \"user_id\": am.salesRepUserId,\r\n \"industry_id\": am.industry_id,\r\n \"region_id\": am.region_id\r\n };\r\n if (this.formMode == 'Edit') {\r\n let fSalesRep = this.businessUnitName == 'Ed' ? this.salesRepData.find(s => s.user_id == am.salesRepUserId && s.region_id == am.region_id) : this.salesRepData.find(s => s.user_id == am.salesRepUserId && s.industry_id == am.industry_id);\r\n if (fSalesRep) {\r\n salesRepData.push(fSalesRep);\r\n } else {\r\n salesRepObj.distributor_id = this.distributorData['distributor_id'];\r\n salesRepData.push(salesRepObj);\r\n }\r\n } else {\r\n salesRepData.push(salesRepObj);\r\n }\r\n });\r\n return salesRepData;\r\n }\r\n\r\n generatePMSalesRepObj() {\r\n let salesRepData = [];\r\n this.selectedSalesRep.forEach(ss => {\r\n let salesRepObj = {\r\n \"distributor_sales_rep_mapping_id\": 0,\r\n \"distributor_id\": 0,\r\n \"user_id\": ss.user_id,\r\n \"industry_id\": 0\r\n };\r\n if (this.formMode == 'Edit') {\r\n let fSalesRep = this.salesRepData.find(s => s.user_id == ss.user_id);\r\n if (fSalesRep) {\r\n salesRepData.push(fSalesRep);\r\n } else {\r\n salesRepObj.distributor_id = this.distributorData['distributor_id'];\r\n salesRepData.push(salesRepObj);\r\n }\r\n } else {\r\n salesRepData.push(salesRepObj);\r\n }\r\n });\r\n return salesRepData;\r\n }\r\n\r\n generateSoldToObj() {\r\n let shipToObj = {\r\n \"distributor_sold_to_id\": 0,\r\n \"distributor_sold_to_name\": this.formData['soldTo'],\r\n \"sold_to_sap_id\": 0,\r\n \"distributorShipTos\": this.generateShipToObj()\r\n }\r\n if (this.formMode == 'Edit') {\r\n shipToObj.distributor_sold_to_id = this.distributorData['distributor_sold_to_id'];\r\n }\r\n return shipToObj;\r\n }\r\n\r\n generateShipToObj() {\r\n let shipToData = [];\r\n if (this.shipTo) {\r\n this.shipTo.forEach(ship => {\r\n let shipToObj = {\r\n \"distributor_ship_to_id\": 0,\r\n \"distributor_ship_to_name\": ship.shipToId,\r\n \"distributor_ship_to_city\": ship.shipToCity,\r\n \"distributor_ship_to_Full_name\": ship.shipToFullName,\r\n \"distributor_ship_to_Address\": ship.shipToAddress,\r\n \"ship_to_sap_id\": 0\r\n }\r\n if (this.formMode == 'Edit') {\r\n let fShipTo = this.shipToData.find(st => st.distributor_ship_to_Full_name == ship.shipToFullName);\r\n if (fShipTo) {\r\n shipToData.push(fShipTo);\r\n } else {\r\n shipToObj['distributor_sold_to_id'] = this.distributorData['distributor_sold_to_id'];\r\n shipToData.push(shipToObj);\r\n }\r\n } else {\r\n shipToData.push(shipToObj);\r\n }\r\n });\r\n }\r\n return shipToData;\r\n }\r\n\r\n generateSalesAccts() {\r\n let salesAccts = [];\r\n this.selectedSalesRep.forEach(rep => {\r\n let salesAcctObj = {\r\n \"sales_account_email_id\": rep.sales_rep_email_id,\r\n \"sales_account_name\": rep.sales_rep_name,\r\n \"sales_account_email\": rep.sales_account_email,\r\n \"distributor_id\": 0,\r\n \"industry_id\": 0\r\n }\r\n salesAccts.push(salesAcctObj);\r\n });\r\n return salesAccts;\r\n }\r\n\r\n cancel() {\r\n this.reLoadGrid.emit(false);\r\n }\r\n\r\n checkDistributorValidation() {\r\n let validDistributorName = this.checkValidDistributorName();\r\n let validDistributorOrganisation = this.checkValidDistributorOrganisation()\r\n let validDistributorCity = this.checkValidDistributorCity();\r\n let validDistributorState = true;\r\n if (this.businessUnitName == 'EM' || this.businessUnitName == 'ED') {\r\n validDistributorState = this.checkValidDistributorState();\r\n }\r\n let validDistributorCountry = this.checkValidDistributorCountry();\r\n let validDistributorChannel = this.checkValidDistributorChannel();\r\n let validDistributorSBU = this.checkValidDistributorSBU();\r\n let validDistributorSoldto = this.checkValidDistributorSoldto();\r\n let validDistributorBASFPayer = this.checkValidDistributorBASFPayer();\r\n let validDistributorIndustry = true;\r\n if (this.businessUnitName != 'PM') {\r\n validDistributorIndustry = this.checkValidDistributorIndustry();\r\n }\r\n let validDistributorRegion = true;\r\n if (this.businessUnitName == 'ED') {\r\n validDistributorRegion = this.checkValidDistributorRegion();\r\n }\r\n let validShipTo = this.checkShipTo();\r\n let validAccountManager = true;\r\n if (this.businessUnitName == 'EM' || this.businessUnitName == 'ED') {\r\n validAccountManager = this.validateAccountManagers();\r\n }\r\n return validDistributorName && validDistributorOrganisation && validDistributorCity && validDistributorCountry && validDistributorChannel && validDistributorSBU\r\n && validDistributorSoldto && validDistributorBASFPayer && validDistributorIndustry && validShipTo && validDistributorState && validDistributorRegion && validAccountManager;\r\n }\r\n\r\n checkValidDistributorName() {\r\n if (!this.formData['distributorName']) {\r\n this.toastr.error(\"Distributor Name required\", \"Error!\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n checkValidDistributorOrganisation() {\r\n if (this.selectedOrganisation != null) {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Sales Organisation required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n checkValidDistributorCity() {\r\n if (!this.formData[\"distributorCity\"]) {\r\n this.toastr.error(\"Distributor City required\", \"Error!\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n checkValidDistributorState() {\r\n if (!this.formData[\"distributorState\"]) {\r\n this.toastr.error(\"Distributor State required\", \"Error!\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n checkValidDistributorCountry() {\r\n if (this.countryName != null) {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Distribution Country required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n checkValidDistributorChannel() {\r\n if (this.selectedDistribution != null) {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Distribution Channel required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n checkValidDistributorSBU() {\r\n if (this.selectedSBUS != null) {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Select SBU\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n checkValidDistributorSoldto() {\r\n if (this.formData[\"soldTo\"] != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Sold to required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidDistributorBASFPayer() {\r\n if (this.formData[\"basfPayer\"] != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"BASF Payer required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n checkValidDistributorProductMapping() {\r\n if (this.selectedProducts != null || this.businessUnitName === 'PM') {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Product Mapping required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidDistributorIndustry() {\r\n if (this.selectedIndustries != null && this.selectedIndustries.length > 0) {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Industries required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n checkValidDistributorRegion() {\r\n if (this.selectedDistributorRegions != null && this.selectedDistributorRegions.length > 0) {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Regions required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n checkShipTo() {\r\n if (this.shipTo != null || this.businessUnitName === 'PM' || this.businessUnitName === 'EM' || this.businessUnitName === 'ED') {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Add ShipTo's\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n validateEmailAddress(event, type) {\r\n return this.checkEmailValidation(event.value, type);\r\n }\r\n\r\n checkEmailValidation(emailAddress, type) {\r\n if (emailAddress == '') {\r\n return false;\r\n } else {\r\n let reg = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\\.)+[A-Z]{2,4}$/i;\r\n if (!reg.test(emailAddress)) {\r\n this.toastr.error(\"Invalid Email\");\r\n switch (type) {\r\n case 1: this.pricingAdminEmail.pop(); break;\r\n case 2: this.dist_contact_price_support_email.pop(); break;\r\n case 3: this.dist_product_manager_email.pop(); break;\r\n default: break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n","export default \".cust-label {\\r\\n text-align: end;\\r\\n font-size: 14px;\\r\\n margin-bottom: 0.1rem;\\r\\n}\\r\\n.cust-text {\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 0.1rem;\\r\\n}\\r\\n.header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.reject-btn {\\r\\n width: 150px;\\r\\n color: white !important;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 5px !important;\\r\\n}\\r\\n.distributorInfoCards .ui-card-title {\\r\\n border-bottom: 1px solid #4f4f4f !important;\\r\\n}\\r\\n.distributorInfoCards .ui-card-content {\\r\\n min-height: 250px;\\r\\n max-height: 250px;\\r\\n padding: 10px;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9kaXN0cmlidXRvci9kaXN0cmlidXRvci12aWV3L2Rpc3RyaWJ1dG9yLXZpZXcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixlQUFlO0lBQ2YscUJBQXFCO0FBQ3pCO0FBQ0E7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtBQUN6QjtBQUNBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtBQUNwQjtBQUFDO0lBQ0csWUFBWTtJQUNaLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsV0FBVztJQUNYLDZCQUE2QjtBQUNqQztBQUVBO0lBQ0ksMkNBQTJDO0FBQy9DO0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGFBQWE7SUFDYixrQkFBa0I7QUFDdEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2FkbWluL2Rpc3RyaWJ1dG9yL2Rpc3RyaWJ1dG9yLXZpZXcvZGlzdHJpYnV0b3Itdmlldy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmN1c3QtbGFiZWwge1xyXG4gICAgdGV4dC1hbGlnbjogZW5kO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC4xcmVtO1xyXG59XHJcbi5jdXN0LXRleHQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuMXJlbTtcclxufVxyXG4uaGVhZGVyLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn0ucmVqZWN0LWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGlzdHJpYnV0b3JJbmZvQ2FyZHMgLnVpLWNhcmQtdGl0bGUge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0ZjRmNGYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRpc3RyaWJ1dG9ySW5mb0NhcmRzIC51aS1jYXJkLWNvbnRlbnQge1xyXG4gICAgbWluLWhlaWdodDogMjUwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn0iXX0= */\"","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-distributor-view',\r\n templateUrl: './distributor-view.component.html',\r\n styleUrls: ['./distributor-view.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DistributorViewComponent implements OnInit {\r\n @Input() labelData: any;\r\n @Input() orgRowData: any;\r\n @Output() backToGrid = new EventEmitter();\r\n apiResp: any;\r\n formData: any;\r\n productsData: any;\r\n shipToData: any;\r\n sbuData: any;\r\n usersData: any;\r\n salesRepData: any;\r\n industries: any;\r\n businessName: any;\r\n salesSupportUsers: any;\r\n adminAndPricingSupportMappings: any;\r\n constructor(private router: Router, private _service: CupsService, private spinner: NgxSpinnerService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.labelData = JSON.parse(JSON.stringify(this.labelData.filter(ld => ld.is_show)));\r\n this.formData = JSON.parse(JSON.stringify(this.orgRowData));\r\n this.businessName = sessionStorage.getItem(\"BU\");\r\n this.getDistributorDetails();\r\n }\r\n\r\n getDistributorDetails() {\r\n this.spinner.show();\r\n this._service.getDistributorDetails(this.orgRowData['distributor_id']).subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n this.productsData = this.apiResp['distributorProductsMappingData'];\r\n this.shipToData = this.apiResp['distributorShipToData'];\r\n this.sbuData = this.apiResp['distributorSbuData'];\r\n this.usersData = this.apiResp['distributorUserDetailsData'];\r\n if (this.businessName == 'ED') {\r\n this.salesRepData = this.apiResp['salesRepEmailData'].filter(x => x.distributor_region_id > 0);\r\n } else {\r\n this.salesRepData = this.apiResp['salesRepEmailData'];\r\n }\r\n this.industries = this.apiResp['salesRepEmailData'].filter(x=>x.industry_id > 0);\r\n this.salesSupportUsers = this.apiResp['distributorSalesSupport'];\r\n this.adminAndPricingSupportMappings = this.apiResp[\"adminAndPricingSupportMappings\"];\r\n\r\n this.salesSupportUsers.forEach(x => {\r\n let sbu;\r\n this.sbuData.forEach((y) => { if (y.distributor_sbu_id === x.sbu_id) { sbu = y} });\r\n x.sbuName = sbu.distributor_sbu_name;\r\n });\r\n\r\n if (this.businessName == 'ED') {\r\n this.adminAndPricingSupportMappings.forEach(x => {\r\n let industry;\r\n this.industries.forEach(y => { if (y.industry_id === x.industryId) { industry = y } });\r\n x.industryName = industry.industry_name;\r\n });\r\n } else {\r\n this.adminAndPricingSupportMappings.forEach(x => {\r\n let industry;\r\n this.salesRepData.forEach(y => { if (y.industry_id === x.industryId) { industry = y } });\r\n x.industryName = industry.industry_name;\r\n });\r\n }\r\n\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n goBack() {\r\n this.backToGrid.emit(true);\r\n }\r\n}\r\n\r\n","export default \"#uploadExcel .activ-btn {\\r\\n background-color: #0096d6;\\r\\n border-radius: 5px;\\r\\n color: white;\\r\\n margin-right: 25px;\\r\\n height: 40px !important;\\r\\n}\\r\\n\\r\\n#uploadExcel .ui-button-icon-only .ui-button-icon-left, .ui-button-text-icon-left .ui-button-icon-left, .ui-button-text-icon-right .ui-button-icon-right {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n#uploadExcel .ui-button {\\r\\n height: 40px !important;\\r\\n background-color: #0096d6 !important;\\r\\n border-radius: 5px !important;\\r\\n color: white !important;\\r\\n width: 100px !important;\\r\\n}\\r\\n\\r\\n#uploadExcel .ui-button.ui-button-text-icon-left .ui-button-text {\\r\\n padding: 3% !important;\\r\\n font-size: 1rem !important;\\r\\n }\\r\\n\\r\\n#uploadExcel .ui-card {\\r\\n box-shadow: 2px 2px 6px 1px rgb(0 0 0 / 12%), 1px 1px 3px 2px rgb(0 0 0 / 20%), 0 1px 1px 0 rgb(0 0 0 / 14%), 0 2px 1px -1px rgb(0 0 0 / 12%) !important;\\r\\n}\\r\\n\\r\\n#uploadExcel .cust-header {\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n font-size: 16px;\\r\\n padding: 10px;\\r\\n text-align: center\\r\\n}\\r\\n\\r\\n#uploadExcel .form-frame2 {\\r\\n border: 1px dashed darkgray;\\r\\n height: 200px;\\r\\n}\\r\\n\\r\\n#uploadExcel .p-class {\\r\\n top: 40px;\\r\\n font-weight: 500;\\r\\n color: #0096d6;\\r\\n position: inherit;\\r\\n text-align: center;\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n}\\r\\n\\r\\n#uploadExcel .del-class {\\r\\n font-size: 16px;\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n cursor: pointer;\\r\\n color: #0096d6;\\r\\n}\\r\\n\\r\\n#uploadExcel .p2-class {\\r\\n text-align: left;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n}\\r\\n\\r\\n.backdrop {\\r\\n background-color: rgba(0,0,0,0.83);\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100vh;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.s-modal {\\r\\n top: 80px !important;\\r\\n right: 35px;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n.s-modal-title {\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.s-modal-header {\\r\\n padding: 5px;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.s-modal-body {\\r\\n padding: 0px !important;\\r\\n max-height: 600px;\\r\\n}\\r\\n\\r\\n.s-modal-dialog {\\r\\n width: auto;\\r\\n}\\r\\n\\r\\n/* .s-modal {\\r\\n float: right;\\r\\n} */\\r\\n\\r\\n.s-modal-content {\\r\\n /* color: white; */\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n /* background-color: rgba(0,0,0,0.8) */\\r\\n}\\r\\n\\r\\n.header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.distr-add-btn {\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin: 0px 10px;\\r\\n border-radius: 5px;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9lbmRtYXJrZXQtc2FsZXMtcmVwb3J0L2VuZG1hcmtldC1zYWxlcy1yZXBvcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHlCQUF5QjtFQUN6QixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQix1QkFBdUI7QUFDekI7O0FBRUE7RUFDRSx3QkFBd0I7QUFDMUI7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsb0NBQW9DO0VBQ3BDLDZCQUE2QjtFQUM3Qix1QkFBdUI7RUFDdkIsdUJBQXVCO0FBQ3pCOztBQUVFO0lBQ0Usc0JBQXNCO0lBQ3RCLDBCQUEwQjtFQUM1Qjs7QUFFRjtFQUNFLHdKQUF3SjtBQUMxSjs7QUFFQTtFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osZUFBZTtFQUNmLGFBQWE7RUFDYjtBQUNGOztBQUVBO0VBQ0UsMkJBQTJCO0VBQzNCLGFBQWE7QUFDZjs7QUFFQTtFQUNFLFNBQVM7RUFDVCxnQkFBZ0I7RUFDaEIsY0FBYztFQUNkLGlCQUFpQjtFQUNqQixrQkFBa0I7RUFDbEIsd0lBQXdJO0FBQzFJOztBQUNBO0VBQ0UsZUFBZTtFQUNmLFlBQVk7RUFDWixpQkFBaUI7RUFDakIsZUFBZTtFQUNmLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQix3SUFBd0k7QUFDMUk7O0FBRUE7RUFDRSxrQ0FBa0M7RUFDbEMsZUFBZTtFQUNmLE1BQU07RUFDTixPQUFPO0VBQ1AsV0FBVztFQUNYLGFBQWE7RUFDYixhQUFhO0FBQ2Y7O0FBQ0E7RUFDRSxvQkFBb0I7RUFDcEIsV0FBVztFQUNYLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLFlBQVk7RUFDWixZQUFZO0FBQ2Q7O0FBRUE7RUFDRSx1QkFBdUI7RUFDdkIsaUJBQWlCO0FBQ25COztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUNBOztHQUVHOztBQUNIO0VBQ0Usa0JBQWtCO0VBQ2xCLHdJQUF3STtFQUN4SSxzQ0FBc0M7QUFDeEM7O0FBQ0E7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCO0FBQ2xCOztBQUVBO0VBQ0UsWUFBWTtFQUNaLHlCQUF5QjtFQUN6QixnQkFBZ0I7RUFDaEIsa0JBQWtCO0VBQ2xCLFlBQVk7QUFDZCIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vZW5kbWFya2V0LXNhbGVzLXJlcG9ydC9lbmRtYXJrZXQtc2FsZXMtcmVwb3J0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjdXBsb2FkRXhjZWwgLmFjdGl2LWJ0biB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgY29sb3I6IHdoaXRlO1xyXG4gIG1hcmdpbi1yaWdodDogMjVweDtcclxuICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuI3VwbG9hZEV4Y2VsIC51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24taWNvbi1sZWZ0LCAudWktYnV0dG9uLXRleHQtaWNvbi1sZWZ0IC51aS1idXR0b24taWNvbi1sZWZ0LCAudWktYnV0dG9uLXRleHQtaWNvbi1yaWdodCAudWktYnV0dG9uLWljb24tcmlnaHQge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3VwbG9hZEV4Y2VsIC51aS1idXR0b24ge1xyXG4gIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDYgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcclxuICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICB3aWR0aDogMTAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuICAjdXBsb2FkRXhjZWwgLnVpLWJ1dHRvbi51aS1idXR0b24tdGV4dC1pY29uLWxlZnQgLnVpLWJ1dHRvbi10ZXh0IHtcclxuICAgIHBhZGRpbmc6IDMlICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4jdXBsb2FkRXhjZWwgLnVpLWNhcmQge1xyXG4gIGJveC1zaGFkb3c6IDJweCAycHggNnB4IDFweCByZ2IoMCAwIDAgLyAxMiUpLCAxcHggMXB4IDNweCAycHggcmdiKDAgMCAwIC8gMjAlKSwgMCAxcHggMXB4IDAgcmdiKDAgMCAwIC8gMTQlKSwgMCAycHggMXB4IC0xcHggcmdiKDAgMCAwIC8gMTIlKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jdXBsb2FkRXhjZWwgLmN1c3QtaGVhZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBmb250LXNpemU6IDE2cHg7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXJcclxufVxyXG5cclxuI3VwbG9hZEV4Y2VsIC5mb3JtLWZyYW1lMiB7XHJcbiAgYm9yZGVyOiAxcHggZGFzaGVkIGRhcmtncmF5O1xyXG4gIGhlaWdodDogMjAwcHg7XHJcbn1cclxuXHJcbiN1cGxvYWRFeGNlbCAucC1jbGFzcyB7XHJcbiAgdG9wOiA0MHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgY29sb3I6ICMwMDk2ZDY7XHJcbiAgcG9zaXRpb246IGluaGVyaXQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XHJcbn1cclxuI3VwbG9hZEV4Y2VsIC5kZWwtY2xhc3Mge1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmbG9hdDogcmlnaHQ7XHJcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiAjMDA5NmQ2O1xyXG59XHJcblxyXG4jdXBsb2FkRXhjZWwgLnAyLWNsYXNzIHtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbi5iYWNrZHJvcCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjgzKTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICB6LWluZGV4OiA5OTk5O1xyXG59XHJcbi5zLW1vZGFsIHtcclxuICB0b3A6IDgwcHggIWltcG9ydGFudDtcclxuICByaWdodDogMzVweDtcclxuICB6LWluZGV4OiA5OTk5O1xyXG59XHJcblxyXG4ucy1tb2RhbC10aXRsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLnMtbW9kYWwtaGVhZGVyIHtcclxuICBwYWRkaW5nOiA1cHg7XHJcbiAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG4ucy1tb2RhbC1ib2R5IHtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxuICBtYXgtaGVpZ2h0OiA2MDBweDtcclxufVxyXG5cclxuLnMtbW9kYWwtZGlhbG9nIHtcclxuICB3aWR0aDogYXV0bztcclxufVxyXG4vKiAucy1tb2RhbCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn0gKi9cclxuLnMtbW9kYWwtY29udGVudCB7XHJcbiAgLyogY29sb3I6IHdoaXRlOyAqL1xyXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XHJcbiAgLyogYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjgpICovXHJcbn1cclxuLmhlYWRlci1sYWJlbCB7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5kaXN0ci1hZGQtYnRuIHtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICBtYXJnaW46IDBweCAxMHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Validators, FormBuilder, FormGroup, FormArray } from '@angular/forms';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n@Component({\r\n selector: 'app-endmarket-sales-report',\r\n templateUrl: './endmarket-sales-report.component.html',\r\n styleUrls: ['./endmarket-sales-report.component.css']\r\n})\r\nexport class EndmarketSalesReportComponent implements OnInit {\r\n fileName = \"\";\r\n fileType = \"\";\r\n filesize = \"\";\r\n fileBuffer: any;\r\n fileObject: any;\r\n fileUpload = false;\r\n uploadedFiles: any[] = [];\r\n displayUpload = false;\r\n cols = [];\r\n response: any;\r\n reportData = [];\r\n constructor(private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) {}\r\n ngOnInit() {\r\n this.cols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"customer\",\r\n \"header\": \"Customer\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 1,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"product\",\r\n \"header\": \"Product\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": false,\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"distributor\",\r\n \"header\": \"Distributor\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3,\r\n \"isHyperlink\": false,\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"division\",\r\n \"header\": \"Division\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 4,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"ship_to\",\r\n \"header\": \"Ship To\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 5,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 6,\r\n \"field\": \"sbu\",\r\n \"header\": \"SBU\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 6,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 7,\r\n \"field\": \"industry\",\r\n \"header\": \"Industry\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 7,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 8,\r\n \"field\": \"volume_cy_lbs\",\r\n \"header\": \"Volume CY (lbs)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 8,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 9,\r\n \"field\": \"volume_py_lbs\",\r\n \"header\": \"Volume PY (lbs)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 9,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 10,\r\n \"field\": \"volume_cy_mts\",\r\n \"header\": \"Volume CY (mts)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 10,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 11,\r\n \"field\": \"volume_py_mts\",\r\n \"header\": \"Volume PY (mts)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 11,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 12,\r\n \"field\": \"volume_cy_kgs\",\r\n \"header\": \"Volume CY (kgs)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 12,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 13,\r\n \"field\": \"volume_py_kgs\",\r\n \"header\": \"Volume PY (kgs)\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 13,\r\n \"isHyperlink\": false\r\n },\r\n ];\r\n this.getEndMarketSaleReport();\r\n }\r\n\r\n getEndMarketSaleReport() {\r\n this.spinner.show();\r\n this._service.getEndMarketSaleReport().subscribe(res => {\r\n this.spinner.hide();\r\n if (!res['isError']) {\r\n this.response = res;\r\n this.reportData = this.response.reportData;\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n uploadReport() {\r\n this.displayUpload = true;\r\n }\r\n\r\n myUploader(event) {\r\n this.spinner.show();\r\n let fileData = event[0];\r\n const element = event[0];\r\n this.filesize = \"0\";\r\n this.filesize = element.size;\r\n this.filesize = this.filesize.toString();\r\n if (element.size > 3145728) {\r\n this.spinner.hide();\r\n this.toastr.warning(\"File Limit Exceeded, Allows only below 3MB data\");\r\n return false;\r\n } else {\r\n this.fileName = fileData.name;\r\n this.fileType = fileData.type;\r\n this.fileBuffer = \"\";\r\n let fileReader = new FileReader();\r\n fileReader.onload = (_e) => {\r\n this.fileBuffer = fileReader.result;\r\n this.fileBuffer = this.fileBuffer.replace(`data:${this.fileType};base64,`, '');\r\n this.fileUpload = true;\r\n this.fileObject = {\r\n \"businessUnitId\": 1,\r\n \"fileName\": this.fileName,\r\n \"fileType\": this.fileType,\r\n \"fileSize\": this.filesize,\r\n \"fileAsBase64\": this.fileBuffer,\r\n \"created_by\": Number(sessionStorage.getItem('userid')),\r\n \"salesSupportDistributor\": Number(sessionStorage.getItem('SalesSupportDistributor'))\r\n };\r\n }\r\n fileReader.readAsDataURL(fileData);\r\n }\r\n this.uploadedFiles.push(event[0]);\r\n this.spinner.hide();\r\n }\r\n\r\n uploadSubmit(_fileUpload) {\r\n this.spinner.show();\r\n this._service.UploadEndMarketSaleReport(this.fileObject).subscribe(response => {\r\n this.afterAPIResponse(response);\r\n });\r\n }\r\n\r\n afterAPIResponse(response) {\r\n if (!response['isError']) {\r\n if (response.ErrorMessage && response.ErrorMessage.includes(\"Please Upload\")) { this.toastr.error(response.ErrorMessage, 'Error!') }\r\n else {\r\n this.toastr.success(response.responseMessage, 'Success!');\r\n }\r\n this.removeFile();\r\n this.displayUpload = false;\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n }\r\n\r\n removeFile() {\r\n this.fileName = \"\";\r\n this.fileType = \"\";\r\n this.filesize = \"\";\r\n this.fileBuffer = \"\"\r\n this.fileObject = null;\r\n }\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n position: relative;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9wcmljZS1oaXN0b3J5LXJldmlzaW9uL3ByaWNlLWhpc3RvcnktcmV2aXNpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixrQkFBa0I7QUFDdEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2FkbWluL3ByaWNlLWhpc3RvcnktcmV2aXNpb24vcHJpY2UtaGlzdG9yeS1yZXZpc2lvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhlYWRlci1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbi5leGNlbEljb24ge1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufSJdfQ== */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-price-history-revision',\r\n templateUrl: './price-history-revision.component.html',\r\n styleUrls: ['./price-history-revision.component.css']\r\n})\r\nexport class PriceHistoryRevisionComponent {\r\n receivePriceData(priceData) {\r\n console.log(priceData);\r\n }\r\n}\r\n","export default \"sup{\\r\\n color:red;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9wcm9kdWN0LW1hbmFnZXIvcHJvZHVjdC1tYW5hZ2VyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxTQUFTO0FBQ2IiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2FkbWluL3Byb2R1Y3QtbWFuYWdlci9wcm9kdWN0LW1hbmFnZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbInN1cHtcclxuICAgIGNvbG9yOnJlZDtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n@Component({\r\n selector: 'app-product-manager',\r\n templateUrl: './product-manager.component.html',\r\n styleUrls: ['./product-manager.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ProductManagerComponent implements OnInit {\r\n BusinessUnitData: any;\r\n SBusinessUnit: any;\r\n response: any;\r\n CountryData: any;\r\n RegionData: any;\r\n BusinessUnit: any;\r\n products: any;\r\n filteredFields = [];\r\n usersData =[];\r\n filteredData: any;\r\n tempFilteredData: any;\r\n Bu_user: any;\r\n filteredBU_users: any;\r\n currentBU: string = sessionStorage.getItem(\"BU\");\r\n displayProductInfoPopup: boolean = false;\r\n massChangePMPopup: boolean = false;\r\n massChangeCurrentPM: any;\r\n massChangeNewPM: any;\r\n currentProductsManagesList: any;\r\n productInfo: Object;\r\n activeStatus: any = [\r\n {\r\n name: \"Active\",\r\n value: true\r\n },\r\n {\r\n name: \"IN-Active\",\r\n value: false\r\n }\r\n ];\r\n currentBusinessUnit: any;\r\n selectedRegion: any;\r\n selectedCountry: any;\r\n cols: any\r\n selectedBusiness: any;\r\n emCols: any;\r\n evCols: any;\r\n pmCols: any;\r\n edCols: any;\r\n bu: any;\r\n EVID = 2;\r\n EMID = 1;\r\n apiResp: any;\r\n PMID = 3;\r\n EDID = 4;\r\n countryData =[\r\n {\r\n \"country_id\": 1,\r\n \"country_name\": \"US\"\r\n },\r\n {\r\n \"country_id\": 2,\r\n \"country_name\": \"Mexico\"\r\n },\r\n {\r\n \"country_id\": 3,\r\n \"country_name\": \"Canada\"\r\n }\r\n];\r\nproductsDD: any;\r\nproductPackageDD: any;\r\nselectedProductPackage: any;\r\nselectedProductManager: any;\r\n\r\n constructor(private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.bu = sessionStorage.getItem('BU');\r\n this.evCols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"product_id\",\r\n \"header\": \"Product Id\",\r\n \"is_show\": false,\r\n \"is_editable\": false,\r\n \"serial_no\": 1,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"product_name\",\r\n \"header\": \"Product Name\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": this.currentBU === \"EV\",\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"package_type\",\r\n \"header\": \"Product Type\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": false,\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"product_managerName\",\r\n \"header\": \"Product Manager\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"article_number\",\r\n \"header\": \"Article Number\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 4,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"threshold_volume\",\r\n \"header\": \"Threshold Volume\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 5,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 6,\r\n \"field\": \"threshold_price_discount\",\r\n \"header\": \"Threshold Price Discount\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 6,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 7,\r\n \"field\": \"target_price\",\r\n \"header\": \"Target Price\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 7,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 8,\r\n \"field\": \"distributor_price_from_basf\",\r\n \"header\": \"Distributor Price From Basf\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 8,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 9,\r\n \"field\": \"valid_from\",\r\n \"header\": \"Product Valid From\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 9,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 10,\r\n \"field\": \"valid_to\",\r\n \"header\": \"Product Valid To\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 10,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 11,\r\n \"field\": \"minimum_quantity\",\r\n \"header\": \"Minimum Quantity\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 11,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 12,\r\n \"field\": \"is_active\",\r\n \"header\": \"Status\",\r\n \"is_show\": false,\r\n \"is_editable\": false,\r\n \"serial_no\": 12,\r\n \"isHyperlink\": false\r\n },\r\n ];\r\n this.emCols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"product_id\",\r\n \"header\": \"Product Id\",\r\n \"is_show\": false,\r\n \"is_editable\": false,\r\n \"serial_no\": 1,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"product_name\",\r\n \"header\": \"Product Name\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": this.currentBU === \"EV\",\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"package_type\",\r\n \"header\": \"Product Type\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": false,\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"product_managerName\",\r\n \"header\": \"Product Manager\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"article_number\",\r\n \"header\": \"Article Number\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 4,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 9,\r\n \"field\": \"distributor_price_from_basf\",\r\n \"header\": \"Distributor Price From Basf\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 9,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 10,\r\n \"field\": \"valid_from\",\r\n \"header\": \"Product Valid From\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 10,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 11,\r\n \"field\": \"valid_to\",\r\n \"header\": \"Product Valid To\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 11,\r\n \"isHyperlink\": false\r\n },\r\n \r\n {\r\n \"header_id\": 12,\r\n \"field\": \"incoTerms\",\r\n \"header\": \"INCOTERMS\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 12,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 13,\r\n \"field\": \"sbu_name\",\r\n \"header\": \"SBU Name\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 13,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 14,\r\n \"field\": \"sold_To\",\r\n \"header\": \"Sold To / Hierarchy\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 14,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 15,\r\n \"field\": \"distributor_Name\",\r\n \"header\": \"Distributor\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 15,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 16,\r\n \"field\": \"is_active\",\r\n \"header\": \"Status\",\r\n \"is_show\": false,\r\n \"is_editable\": false,\r\n \"serial_no\": 16,\r\n \"isHyperlink\": false\r\n },\r\n ];\r\n this.edCols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"product_id\",\r\n \"header\": \"Product Id\",\r\n \"is_show\": false,\r\n \"is_editable\": false,\r\n \"serial_no\": 1,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"product_name\",\r\n \"header\": \"Product Name\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": this.currentBU === \"EV\",\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"package_type\",\r\n \"header\": \"Product Type\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": false,\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"product_managerName\",\r\n \"header\": \"Product Manager\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"article_number\",\r\n \"header\": \"Article Number\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 4,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 9,\r\n \"field\": \"distributor_price_from_basf\",\r\n \"header\": \"Distributor Price From Basf\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 9,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 10,\r\n \"field\": \"valid_from\",\r\n \"header\": \"Product Valid From\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 10,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 11,\r\n \"field\": \"valid_to\",\r\n \"header\": \"Product Valid To\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 11,\r\n \"isHyperlink\": false\r\n },\r\n\r\n {\r\n \"header_id\": 12,\r\n \"field\": \"incoTerms\",\r\n \"header\": \"INCOTERMS\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 12,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 13,\r\n \"field\": \"sbu_name\",\r\n \"header\": \"SBU Name\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 13,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 14,\r\n \"field\": \"is_active\",\r\n \"header\": \"Status\",\r\n \"is_show\": false,\r\n \"is_editable\": false,\r\n \"serial_no\": 164,\r\n \"isHyperlink\": false\r\n },\r\n ];\r\n this.pmCols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"product_id\",\r\n \"header\": \"Product Id\",\r\n \"is_show\": false,\r\n \"is_editable\": false,\r\n \"serial_no\": 1,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"product_name\",\r\n \"header\": \"Product Name\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2,\r\n \"isHyperlink\": this.currentBU === \"EV\",\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"article_number\",\r\n \"header\": \"Article Number\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 5,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 9,\r\n \"field\": \"distributor_price_from_basf\",\r\n \"header\": \"List Price\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 9,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 10,\r\n \"field\": \"scale_quantity1\",\r\n \"header\": \"Scale Quantity1\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 10,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 11,\r\n \"field\": \"scale_rate1\",\r\n \"header\": \"Scale Rate1\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 11,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 12,\r\n \"field\": \"scale_quantity2\",\r\n \"header\": \"Scale Quantity2\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 12,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 13,\r\n \"field\": \"scale_rate2\",\r\n \"header\": \"Scale Rate2\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 13,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 14,\r\n \"field\": \"scale_quantity3\",\r\n \"header\": \"Scale Quantity3\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 14,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 15,\r\n \"field\": \"scale_rate3\",\r\n \"header\": \"Scale Rate3\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 15,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 16,\r\n \"field\": \"scale_quantity4\",\r\n \"header\": \"Scale Quantity4\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 16,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 17,\r\n \"field\": \"scale_rate4\",\r\n \"header\": \"Scale Rate4\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 17,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 18,\r\n \"field\": \"scale_quantity5\",\r\n \"header\": \"Scale Quantity5\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 18,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 19,\r\n \"field\": \"scale_rate5\",\r\n \"header\": \"Scale Rate5\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 19,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 20,\r\n \"field\": \"scale_quantity6\",\r\n \"header\": \"Scale Quantity6\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 20,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 21,\r\n \"field\": \"scale_rate6\",\r\n \"header\": \"Scale Rate6\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 21,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 22,\r\n \"field\": \"valid_from\",\r\n \"header\": \"Product Valid From\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 22,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 23,\r\n \"field\": \"valid_to\",\r\n \"header\": \"Product Valid To\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 23,\r\n \"isHyperlink\": false\r\n },\r\n {\r\n \"header_id\": 24,\r\n \"field\": \"status\",\r\n \"header\": \"Status\",\r\n \"is_show\": false,\r\n \"is_editable\": false,\r\n \"serial_no\": 24,\r\n \"isHyperlink\": false\r\n },\r\n ];\r\n switch (this.bu) {\r\n case 'EM': this.currentBusinessUnit = this.EMID;this.cols = this.emCols; break;\r\n case 'EV': this.currentBusinessUnit = this.EVID;this.cols = this.evCols; break;\r\n case 'PM': this.currentBusinessUnit = this.PMID;this.cols = this.pmCols; break;\r\n case 'ED': this.currentBusinessUnit = this.EDID;this.cols = this.edCols; break;\r\n default: this.currentBusinessUnit = this.EMID;this.cols = this.emCols; break;\r\n }\r\n this._service.getAdminConfigMaster().subscribe((res: any) => {\r\n if (!res['isError']) {\r\n this.response = res;\r\n this.BusinessUnitData = this.response.buData;\r\n this.CountryData = this.response.countryData;\r\n this.selectedCountry = this.CountryData[0];\r\n this.RegionData = this.response.regionData;\r\n this.productPackageDD = this.response.packageType ? this.response.packageType.filter(type => type.businessunit_name == this.bu) : [];\r\n this.selectedRegion = this.RegionData[0];\r\n let key = 'businessunit_id';\r\n this.BusinessUnit = [...new Map(this.BusinessUnitData.map(item =>\r\n [item[key], item])).values()];\r\n this.BusinessUnit.forEach(bu => {\r\n if (bu.businessunit_name === this.currentBU) {\r\n this.selectedBusiness = bu.businessunit_id;\r\n }\r\n });\r\n this.getAllProductsyBu(this.currentBusinessUnit);\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n });\r\n this.selectedCountry = this.countryData[0];\r\n this.getAllProductsyBu(this.currentBusinessUnit);\r\n this.getBuUser(this.currentBusinessUnit);\r\n }\r\n\r\n getAllProductsyBu(value) {\r\n this.spinner.show();\r\n let bu_id = value;\r\n this._service.getAllProductsyBu(bu_id, this.selectedCountry.country_id).subscribe((res) => {\r\n this.spinner.hide();\r\n if (!res['isError']) {\r\n this.apiResp = res;\r\n this.products = JSON.parse(JSON.stringify(this.apiResp['response']));\r\n this.productsDD = this.getUniqueListBy(this.products, 'product_name');\r\n this.products.forEach(p => {\r\n if (p.sold_To == 0) {\r\n p.sold_To = '';\r\n }\r\n if(p.is_active) {\r\n p.status = 'Active';\r\n } else {\r\n p.status = 'InActive';\r\n }\r\n })\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n getUniqueListBy(arr, key) {\r\n return [...new Map(arr.map(item => [item[key], item])).values()]\r\n }\r\n\r\n getBuUser(value) {\r\n let bu_id = value;\r\n this._service.getBUUsers(bu_id).subscribe((res) => {\r\n if (!res['isError']) {\r\n this.Bu_user = res['lstUsers']\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n filterProductsByCountry(_event) {\r\n this.getAllProductsyBu(this.currentBusinessUnit);\r\n }\r\n\r\n submitData(value) {\r\n let pid = []\r\n value.product_name.filter(x => { console.log(x.product_id); pid.push(x.product_id) })\r\n \r\n if (this.selectedProductManager || this.selectedProductPackage) {\r\n let data = {\r\n \"SelectedProductId\": pid.toString(),\r\n \"ManagerId\": this.selectedProductManager ? this.selectedProductManager.user_id : 0,\r\n \"ModifiedBy\": parseInt(sessionStorage.getItem('userid')),\r\n \"BuId\": this.selectedBusiness,\r\n \"PackageType\": this.selectedProductPackage ? this.selectedProductPackage.value : ''\r\n }\r\n this._service.UpdateProductMangerMapping(data).subscribe(res => {\r\n this.getAllProductsyBu(this.currentBusinessUnit);\r\n this.displayResult(res);\r\n this.selectedProductPackage = undefined;\r\n this.selectedProductManager = undefined;\r\n })\r\n } else {\r\n this.toastr.warning(\"Select any Package Type or Product Manager to Update\");\r\n }\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n let { rowData, type } = rowObject;\r\n switch (type) {\r\n case 'hyperlink': this.onHyprelinkClick(rowData); break;\r\n case 'status': this.productStatusUpdate(rowData); break;\r\n default: break;\r\n }\r\n }\r\n\r\n productStatusUpdate(rowData) {\r\n this.spinner.show();\r\n this._service.ChangeProductStatus(rowData.product_id, sessionStorage.getItem(\"loginuser\")).subscribe((response) => {\r\n this.getAllProductsyBu(this.selectedBusiness);\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n onHyprelinkClick(value) {\r\n this.displayProductInfoPopup = true;\r\n this.productInfo = JSON.parse(JSON.stringify(value));\r\n }\r\n closePopup() {\r\n this.displayProductInfoPopup = false;\r\n this.massChangePMPopup = false;\r\n }\r\n\r\n showMassChangeDialog() {\r\n this.filteredBU_users = this.Bu_user;\r\n this.currentProductsManagesList = this.getUniqueListBy(this.products, 'product_manager');\r\n this.massChangePMPopup = true;\r\n }\r\n\r\n currentPmDDChange(value) {\r\n this.filteredBU_users = this.Bu_user.filter(user => user.user_id !== value.product_manager);\r\n }\r\n\r\n changePM() {\r\n if(!this.massChangeCurrentPM || !this.massChangeNewPM) {\r\n this.toastr.error(\"Required to select values before continuing\");\r\n return;\r\n }\r\n this._service.ChangeProductManager(this.massChangeCurrentPM.product_manager, this.massChangeNewPM.user_id).subscribe(res => {\r\n this.massChangePMPopup = false;\r\n if(!res['isError']) {\r\n this.getAllProductsyBu(this.currentBusinessUnit);\r\n this.toastr.success(\"Product manager changed\", \"Success\");\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n });\r\n }\r\n\r\n displayResult(res) {\r\n this._service.displayToastr(res);\r\n }\r\n\r\n filterData(filterObj) {\r\n let { value, filter } = filterObj;\r\n if (value == '') {\r\n if (this.filteredFields.length) {\r\n this.filteredFields = this.filteredFields.filter(ff => ff.fieldName !== filter);\r\n } else {\r\n this.filteredFields = [];\r\n }\r\n } else {\r\n let foundField = this.filteredFields.filter(ff => ff.fieldName == filter);\r\n if (foundField.length) {\r\n this.filteredFields.forEach(ff => {\r\n if (ff.fieldName == filter) {\r\n ff.value = value;\r\n }\r\n })\r\n } else {\r\n let fieldObj = {\r\n fieldName: filter,\r\n value: value\r\n };\r\n this.filteredFields.push(fieldObj);\r\n }\r\n }\r\n if (this.filteredFields.length) {\r\n let temp = this.usersData;\r\n this.filteredFields.forEach(ff => {\r\n temp = temp.filter(fd => fd[ff.fieldName].toUpperCase().includes(ff.value.toUpperCase()));\r\n })\r\n this.filteredData = temp;\r\n } else {\r\n this.filteredData = JSON.parse(JSON.stringify(this.usersData));\r\n }\r\n this.tempFilteredData = JSON.parse(JSON.stringify(this.filteredData));\r\n }\r\n\r\n submitProduct() {\r\n this.spinner.show();\r\n this._service.updateEVProductDetails(this.productInfo).subscribe(res => {\r\n this.getAllProductsyBu(this.selectedBusiness);\r\n this.spinner.hide();\r\n this.closePopup();\r\n });\r\n }\r\n}\r\n","export default \"sup{\\r\\n color: red; \\r\\n}\\r\\n.salesCommercialForm {\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9zYWxlcy1jb21tZXJpY2FsLW1hbmFnZXIvc2FsZXMtY29tbWVyaWNhbC1tYW5hZ2VyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxVQUFVO0FBQ2Q7QUFDQTtJQUNJLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vc2FsZXMtY29tbWVyaWNhbC1tYW5hZ2VyL3NhbGVzLWNvbW1lcmljYWwtbWFuYWdlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsic3Vwe1xyXG4gICAgY29sb3I6IHJlZDsgIFxyXG59XHJcbi5zYWxlc0NvbW1lcmNpYWxGb3JtIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n@Component({\r\n selector: 'app-sales-commerical-manager',\r\n templateUrl: './sales-commerical-manager.component.html',\r\n styleUrls: ['./sales-commerical-manager.component.css']\r\n})\r\nexport class SalesCommericalManagerComponent implements OnInit {\r\n BusinessUnitData: any;\r\n CountryData: any;\r\n RegionData: any;\r\n response: any;\r\n BusinessUnit: any;\r\n SBusinessUnit: any;\r\n selectedSBusiness: any;\r\n selectedBusiness:any;\r\n cols:any;\r\n selectedValues:any\r\n UsersData=[];\r\n Bu_user:any;\r\n filteredFields = [];\r\n usersData: any;\r\n filteredData: any;\r\n tempFilteredData: any;\r\n GridData: any;\r\n selectedSalesManager: any;\r\n selectedCommercialManager: any;\r\n selectedCountry: any;\r\n selectedRegion: any;\r\n availableSalesManagers: any;\r\n availableCommercialManagers: any;\r\n\r\n constructor(private _service: CupsService,private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n ngOnInit() {\r\n this.cols = [\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"user_name\",\r\n \"header\": \"User Name\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"region_name\",\r\n \"header\": \"Region\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 5\r\n },\r\n {\r\n \"header_id\": 6,\r\n \"field\": \"country_name\",\r\n \"header\": \"Country\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 6\r\n },\r\n {\r\n \"header_id\": 7,\r\n \"field\": \"role_name\",\r\n \"header\": \"Type\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 7\r\n }\r\n ]\r\n this._service.getAdminConfigMaster().subscribe((res1) => {\r\n if (!res1['isError']) {\r\n this.response = res1;\r\n this.BusinessUnitData = this.response.buData;\r\n this.CountryData = this.response.countryData;\r\n this.RegionData = this.response.regionData;\r\n let key = 'businessunit_id';\r\n this.BusinessUnit = [...new Map(this.BusinessUnitData.map(item =>\r\n [item[key], item])).values()];\r\n\r\n const currentBU = sessionStorage.getItem(\"BU\");\r\n this.BusinessUnit.forEach(bu => {\r\n if(bu.businessunit_name === currentBU) {\r\n this.selectedBusiness = bu.businessunit_id;\r\n this.getBuUser(this.selectedBusiness);\r\n this.getAllSalesCommericalManger(this.selectedBusiness);\r\n }\r\n });\r\n } else {\r\n this._service.displayToastr(res1);\r\n }\r\n })\r\n }\r\n\r\n getAllSalesCommericalManger(id) {\r\n this._service.getAllSalesCommericalManger(id).subscribe(res => {\r\n if (!res['isError']) {\r\n this.UsersData = res['response'];\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n getBuUser(value) {\r\n let bu_id = value;\r\n this._service.getBUUsers(bu_id).subscribe((res) => {\r\n if (!res['isError']) {\r\n this.Bu_user = this.getUniqueListBy(res['lstUsers'],'user_name');\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n getUniqueListBy(arr, key) {\r\n return [...new Map(arr.map(item => [item[key], item])).values()]\r\n }\r\n\r\n filterUsersByCountry(_event) {\r\n this.availableCommercialManagers = null;\r\n this.availableSalesManagers = null;\r\n switch(this.selectedCountry.country_id) {\r\n case 1: this.getUsersByUSCountry(); break;\r\n case 2: this.getUsersByMexicoCountry(); break;\r\n default: this.getUsersByUSCountry(); break;\r\n }\r\n }\r\n\r\n getUsersByUSCountry() {\r\n this.availableCommercialManagers = null;\r\n this.availableSalesManagers = null;\r\n this.availableCommercialManagers = JSON.parse(JSON.stringify(this.Bu_user));\r\n this.availableSalesManagers = JSON.parse(JSON.stringify(this.Bu_user));\r\n }\r\n\r\n getUsersByMexicoCountry() {\r\n this.availableCommercialManagers = null;\r\n this.availableSalesManagers = null;\r\n this.availableCommercialManagers = null;\r\n this.availableCommercialManagers = JSON.parse(JSON.stringify(this.Bu_user));\r\n this.availableSalesManagers = JSON.parse(JSON.stringify(this.Bu_user));\r\n }\r\n\r\n submitData(value){\r\n if (this.validationSalesCommercialmanager()) {\r\n let data = {\r\n \"businessUnit\": this.selectedBusiness,\r\n \"country\": (this.selectedCountry.country_id) ? this.selectedCountry.country_id : 0,\r\n \"region_id\": (this.selectedRegion.region_id) ? this.selectedRegion.region_id : 0,\r\n \"salesManager_id\": (this.selectedSalesManager) ? this.selectedSalesManager.user_id : 0,\r\n \"commercialManager_id\": (this.selectedCommercialManager) ? this.selectedCommercialManager.user_id : 0,\r\n \"created_user_id\": sessionStorage.getItem('userid')\r\n }\r\n this._service.postSalescommercialUsers(data).subscribe(res => {\r\n this.postSalesCommercialResp(res);\r\n this.getAllSalesCommericalManger(this.selectedBusiness);\r\n })\r\n }\r\n }\r\n\r\n postSalesCommercialResp(res: any) {\r\n if (!res['isError']) {\r\n if (res == \"Data saved successfully.\") {\r\n this.GridData = this.UsersData;\r\n }\r\n else {\r\n this.UsersData = []\r\n }\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n }\r\n\r\n validationSalesCommercialmanager() {\r\n if(!this.selectedSalesManager && !this.selectedCommercialManager) {\r\n this.toastr.error('Select any user either for Sales Manager or Commercial Manager');\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n filterData(filterObj) {\r\n let {value, filter } = filterObj;\r\n if (value == '') {\r\n if (this.filteredFields.length) {\r\n this.filteredFields = this.filteredFields.filter(ff => ff.fieldName !== filter);\r\n } else {\r\n this.filteredFields = [];\r\n }\r\n } else {\r\n let foundField = this.filteredFields.filter(ff => ff.fieldName == filter);\r\n if (foundField.length) {\r\n this.filteredFields.forEach(ff => {\r\n if (ff.fieldName == filter) {\r\n ff.value = value;\r\n }\r\n })\r\n } else {\r\n let fieldObj = {\r\n fieldName: filter,\r\n value: value\r\n };\r\n this.filteredFields.push(fieldObj);\r\n }\r\n }\r\n if (this.filteredFields.length) {\r\n let temp = this.usersData;\r\n this.filteredFields.forEach(ff => {\r\n temp = temp.filter(fd => fd[ff.fieldName].toUpperCase().includes(ff.value.toUpperCase()));\r\n })\r\n this.filteredData = temp;\r\n } else {\r\n this.filteredData = JSON.parse(JSON.stringify(this.usersData));\r\n }\r\n this.tempFilteredData = JSON.parse(JSON.stringify(this.filteredData));\r\n }\r\n}\r\n","export default \"sup{\\r\\n color: red; \\r\\n}\\r\\n\\r\\n#distributorRequestForm .ui-dropdown , #distributorRequestForm .ui-multiselect{\\r\\n width: 100% !important;\\r\\n border: 1px solid black !important;\\r\\n}\\r\\n\\r\\n/* @media screen and (min-width: 1000px) {\\r\\n #dynamicGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:140px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n @media screen and (min-width: 1052px) {\\r\\n #dynamicGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 320px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:110px !important;\\r\\n }\\r\\n }\\r\\n @media screen and (min-width: 1407px) {\\r\\n #dynamicGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 300px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:80px !important;\\r\\n }\\r\\n} */\\r\\n\\r\\n@media screen and (min-width: 1000px){\\r\\n /* div{\\r\\n text-align: center;\\r\\n }\\r\\n table{\\r\\n width: 1050px;\\r\\n } */\\r\\n}\\r\\n\\r\\n.multiselect{\\r\\n border-color: none;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi9zYWxlcy1zdXBwb3J0L3NhbGVzLXN1cHBvcnQvc2FsZXMtc3VwcG9ydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLGtDQUFrQztBQUN0Qzs7QUFPQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHOztBQUdIO0lBQ0k7Ozs7O09BS0c7QUFDUDs7QUFDQTtJQUNJLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vc2FsZXMtc3VwcG9ydC9zYWxlcy1zdXBwb3J0L3NhbGVzLXN1cHBvcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbInN1cHtcclxuICAgIGNvbG9yOiByZWQ7ICBcclxufVxyXG5cclxuI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLWRyb3Bkb3duICwgI2Rpc3RyaWJ1dG9yUmVxdWVzdEZvcm0gLnVpLW11bHRpc2VsZWN0e1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyogQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAjZHluYW1pY0dyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM3MHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjE0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUycHgpIHtcclxuICAgICNkeW5hbWljR3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzIwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2Yge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MTEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwN3B4KSB7XHJcbiAgICAjZHluYW1pY0dyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjgwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufSAqL1xyXG5cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCl7XHJcbiAgICAvKiBkaXZ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgdGFibGV7XHJcbiAgICAgICAgd2lkdGg6IDEwNTBweDtcclxuICAgIH0gKi9cclxufVxyXG4ubXVsdGlzZWxlY3R7XHJcbiAgICBib3JkZXItY29sb3I6IG5vbmU7XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n@Component({\r\n selector: 'app-sales-support',\r\n templateUrl: './sales-support.component.html',\r\n styleUrls: ['./sales-support.component.css']\r\n})\r\nexport class SalesSupportComponent implements OnInit {\r\n BusinessUnitData: any;\r\n CountryData: any;\r\n RegionData: any;\r\n response: any;\r\n BusinessUnit: any;\r\n SBusinessUnit: any;\r\n selectedSBusiness: any;\r\n // selectedBusiness: any;\r\n cols: any;\r\n selectedValues: any\r\n UsersData = [];\r\n Bu_user: any;\r\n AllUsersData: any;\r\n filteredFields = [];\r\n usersData: any;\r\n filteredData: any;\r\n tempFilteredData: any;\r\n GridData: any;\r\n selectedRegion: any;\r\n selectedCountry: any;\r\n selectedBusiness: any;\r\n selectedSBU: any;\r\n salesSupportUsers: any;\r\n pricingAdminUsers: any;\r\n selectedSalesSupportUsers: any;\r\n selectedPricingAdminUsers: any;\r\n\r\n constructor(private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n ngOnInit() {\r\n this.spinner.show();\r\n this.cols = [\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"userName\",\r\n \"header\": \"User Name\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"emailId\",\r\n \"header\": \"Email ID\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"sbuName\",\r\n \"header\": \"SBU\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 4\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"regionName\",\r\n \"header\": \"Region\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 5\r\n },\r\n {\r\n \"header_id\": 6,\r\n \"field\": \"countryName\",\r\n \"header\": \"Country\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 6\r\n },\r\n {\r\n \"header_id\": 7,\r\n \"field\": \"type\",\r\n \"header\": \"Type\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 7\r\n },\r\n {\r\n \"header_id\": 8,\r\n \"field\": \"businessUnitName\",\r\n \"header\": \"Bussiness Unit\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 8\r\n }]\r\n\r\n this._service.getAdminConfigMaster().subscribe((res1) => {\r\n this.spinner.hide();\r\n if (!res1['isError']) {\r\n this.response = res1;\r\n this.BusinessUnitData = this.response.buData;\r\n this.CountryData = this.response.countryData;\r\n this.RegionData = this.response.regionData;\r\n let key = 'businessunit_id';\r\n this.BusinessUnit = [...new Map(this.BusinessUnitData.map(item =>\r\n [item[key], item])).values()];\r\n const currentBU = sessionStorage.getItem(\"BU\");\r\n this.BusinessUnit.forEach(bu => {\r\n if (bu.businessunit_name === currentBU) {\r\n this.selectedBusiness = bu.businessunit_id;\r\n this.onBusinessChange(this.selectedBusiness);\r\n this.getBuUser(this.selectedBusiness);\r\n this.getAllSaleSupportPricingAdmin(this.selectedBusiness);\r\n }\r\n });\r\n } else {\r\n this._service.displayToastr(res1);\r\n }\r\n })\r\n }\r\n\r\n getAllSaleSupportPricingAdmin(id) {\r\n this.spinner.show();\r\n this._service.getAllSaleSupportPricingAdmin(id).subscribe((res) => {\r\n this.spinner.hide();\r\n if (!res['isError']) {\r\n this.UsersData = res['response'];\r\n this.GridData = this.UsersData;\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n onBusinessChange(event) {\r\n if (this.BusinessUnitData != undefined) {\r\n this.SBusinessUnit = this.BusinessUnitData.filter(i => i.businessunit_id == event);\r\n }\r\n }\r\n\r\n onSBusinessChange(newValue) {\r\n console.log(newValue);\r\n }\r\n\r\n getBuUser(value) {\r\n let bu_id = value;\r\n this._service.getBUUsers(bu_id).subscribe((res) => {\r\n if (!res['isError']) {\r\n this.Bu_user = this.getUniqueListBy(res['lstUsers'], 'user_name');\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n getUniqueListBy(arr, key) {\r\n return [...new Map(arr.map(item => [item[key], item])).values()]\r\n }\r\n\r\n submitData() {\r\n let data = {\r\n \"region_id\": this.selectedRegion.region_id,\r\n \"country_id\": this.selectedCountry.country_id,\r\n \"business_unit\": this.selectedBusiness,\r\n \"sbu\": this.selectedSBU.request_master_id,\r\n \"salesSupport_ids\": [\r\n ],\r\n \"pricingAdmin_ids\": [\r\n ]\r\n }\r\n if(this.selectedBusiness != 1 && this.selectedBusiness != 4) {\r\n this.selectedSalesSupportUsers.forEach(x => {\r\n data.salesSupport_ids.push(x.user_id);\r\n });\r\n }\r\n this.selectedPricingAdminUsers.forEach(x => {\r\n data.pricingAdmin_ids.push(x.user_id);\r\n });\r\n this._service.postSalesSupportUsers(data).subscribe(response => {\r\n if (!response['isError']) {\r\n this.spinner.show();\r\n this.selectedRegion = null;\r\n this.selectedCountry = null;\r\n this.selectedSBU = null;\r\n this.selectedSalesSupportUsers = null;\r\n this.selectedPricingAdminUsers = null;\r\n this.getAllSaleSupportPricingAdmin(this.selectedBusiness);\r\n this._service.displayToastr(response);\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n filterData(filterObj) {\r\n let { value, filter } = filterObj;\r\n if (value == '') {\r\n if (this.filteredFields.length) {\r\n this.filteredFields = this.filteredFields.filter(ff => ff.fieldName !== filter);\r\n } else {\r\n this.filteredFields = [];\r\n }\r\n } else {\r\n let foundField = this.filteredFields.filter(ff => ff.fieldName == filter);\r\n if (foundField.length) {\r\n this.filteredFields.forEach(ff => {\r\n if (ff.fieldName == filter) {\r\n ff.value = value;\r\n }\r\n })\r\n } else {\r\n let fieldObj = {\r\n fieldName: filter,\r\n value: value\r\n };\r\n this.filteredFields.push(fieldObj);\r\n }\r\n }\r\n if (this.filteredFields.length) {\r\n let temp = this.usersData;\r\n this.filteredFields.forEach(ff => {\r\n temp = temp.filter(fd => fd[ff.fieldName].toUpperCase().includes(ff.value.toUpperCase()));\r\n })\r\n this.filteredData = temp;\r\n } else {\r\n this.filteredData = JSON.parse(JSON.stringify(this.usersData));\r\n }\r\n this.tempFilteredData = JSON.parse(JSON.stringify(this.filteredData));\r\n }\r\n\r\n onChangeSBU(_event1) {\r\n if(this.selectedCountry){\r\n this.getCountryUsers();\r\n this.getUsersBasedOnSBUCountrySelection();\r\n }\r\n }\r\n\r\n onChangeSalesSupportUsers() {\r\n console.log(this.selectedSalesSupportUsers);\r\n }\r\n\r\n onChangePricingAdminUsers() {\r\n console.log(this.selectedPricingAdminUsers);\r\n }\r\n\r\n getCountryUsers() {\r\n this.salesSupportUsers = this.Bu_user;\r\n this.pricingAdminUsers = this.Bu_user;\r\n if(this.selectedSBU) {\r\n this.getUsersBasedOnSBUCountrySelection();\r\n }\r\n }\r\n\r\n getUsersBasedOnSBUCountrySelection() {\r\n let tempSalesSupportUsers = [];\r\n let tempPricingAdminUsers = [];\r\n this.GridData.forEach(gd => {\r\n if (gd.sbuName === this.selectedSBU.value && gd.type === 'SalesSupport' ){\r\n let fSalesSupportUser = this.salesSupportUsers.find(bu1 => bu1.user_id === gd.userId );\r\n if (fSalesSupportUser) {\r\n tempSalesSupportUsers.push(fSalesSupportUser);\r\n }\r\n }\r\n if (gd.sbuName === this.selectedSBU.value && gd.type === 'PricingAdmin'){\r\n let fPricingAdminUser = this.pricingAdminUsers.find(bu1 => bu1.user_id === gd.userId );\r\n if (fPricingAdminUser) {\r\n tempPricingAdminUsers.push(fPricingAdminUser);\r\n }\r\n }\r\n });\r\n this.assignTempDataToSalesSupportPricingAdmin(tempSalesSupportUsers, tempPricingAdminUsers);\r\n }\r\n\r\n assignTempDataToSalesSupportPricingAdmin(ssUsers: any[], paUsers: any[]) {\r\n if (ssUsers.length) {\r\n this.selectedSalesSupportUsers = JSON.parse(JSON.stringify(this.getUniqueListBy(ssUsers,'user_name')));\r\n }\r\n if (paUsers.length) {\r\n this.selectedPricingAdminUsers = JSON.parse(JSON.stringify(this.getUniqueListBy(paUsers,'user_name')));\r\n }\r\n }\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.add-btn {\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n float: right;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi91c2VyL3VzZXItZ3JpZC91c2VyLWdyaWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixZQUFZO0FBQ2hCIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi91c2VyL3VzZXItZ3JpZC91c2VyLWdyaWQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXItbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uYWRkLWJ0biB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgbWFyZ2luOjEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-user-grid',\r\n templateUrl: './user-grid.component.html',\r\n styleUrls: ['./user-grid.component.css'],\r\n providers: [ConfirmationService]\r\n\r\n})\r\nexport class UserGridComponent implements OnInit {\r\n cols: any;\r\n usersData: any;\r\n userAPIResp: any;\r\n filteredFields: any;\r\n filteredData: any;\r\n tempFilteredData: any;\r\n selectedRow: any;\r\n formType: any;\r\n showForm = false;\r\n businessUnits = [\r\n { id: 1, businessUnit: 'EM'},\r\n { id: 2, businessUnit: 'EV'},\r\n { id: 3, businessUnit: 'PM'},\r\n { id: 4, businessUnit: 'ED'}\r\n ]\r\n constructor(private service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService, private confirmationService: ConfirmationService) { }\r\n\r\n ngOnInit() {\r\n this.cols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"basf_user_id\",\r\n \"header\": \"BASF UserId\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 1\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"first_name\",\r\n \"header\": \"FirstName\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"last_name\",\r\n \"header\": \"LastName\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"email\",\r\n \"header\": \"Email\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 4\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"is_admin\",\r\n \"header\": \"Admin\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 5\r\n },\r\n {\r\n \"header_id\": 6,\r\n \"field\": \"businessUnits\",\r\n \"header\": \"Business Units\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 6\r\n }\r\n ]\r\n this.getUsers();\r\n }\r\n\r\n getUsers() {\r\n this.spinner.show();\r\n this.service.getUsers().subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this.userAPIResp = response;\r\n this.showForm = false;\r\n this.usersData = JSON.parse(JSON.stringify(this.userAPIResp.lstUsers.filter(ua => !ua.is_distributor_user && ua.is_active)));\r\n this.usersData.forEach(u => {\r\n let fBusinesUnits = this.userAPIResp.lstuserBu.filter(ua => ua.userid === u.user_id && !ua.is_distributor_user);\r\n if (fBusinesUnits.length > 0) {\r\n let tBUnit = '';\r\n fBusinesUnits.forEach(fb => {\r\n let fbUnit = this.businessUnits.find(bu => bu.id === fb.businessunit_id);\r\n if (tBUnit == '') {\r\n tBUnit = fbUnit.businessUnit;\r\n } else {\r\n tBUnit = tBUnit + ',' + fbUnit.businessUnit;\r\n }\r\n });\r\n u.businessUnits = tBUnit;\r\n } else {\r\n u.businessUnits = '';\r\n }\r\n });\r\n this.usersData = JSON.parse(JSON.stringify(this.usersData.filter(ud => ud.businessUnits === sessionStorage.getItem('BU') )));\r\n } else {\r\n this.service.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n filterData(filterObj) {\r\n let {value, filter } = filterObj;\r\n if (value == '') {\r\n if (this.filteredFields.length) {\r\n this.filteredFields = this.filteredFields.filter(ff => ff.fieldName !== filter);\r\n } else {\r\n this.filteredFields = [];\r\n }\r\n } else {\r\n let foundField = this.filteredFields.filter(ff => ff.fieldName == filter);\r\n if (foundField.length) {\r\n this.filteredFields.forEach(ff => {\r\n if (ff.fieldName == filter) {\r\n ff.value = value;\r\n }\r\n })\r\n } else {\r\n let fieldObj = {\r\n fieldName: filter,\r\n value: value\r\n };\r\n this.filteredFields.push(fieldObj);\r\n }\r\n }\r\n if (this.filteredFields.length) {\r\n let temp = this.usersData;\r\n this.filteredFields.forEach(ff => {\r\n temp = temp.filter(fd => fd[ff.fieldName].toUpperCase().includes(ff.value.toUpperCase()));\r\n })\r\n this.filteredData = temp;\r\n } else {\r\n this.filteredData = JSON.parse(JSON.stringify(this.usersData));\r\n }\r\n this.tempFilteredData = JSON.parse(JSON.stringify(this.filteredData));\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n let { rowData, type } = rowObject;\r\n this.selectedRow = JSON.parse(JSON.stringify(rowData));\r\n if (type == 'edit') {\r\n this.formType = 'Edit';\r\n this.showForm = true;\r\n } else {\r\n this.confirmationService.confirm({\r\n message: 'Please ensure the approval process for mapped price supports has been taken care for the following user. Kindly proceed to continue deletion. ?',\r\n header: 'Delete Confirmation',\r\n icon: 'pi pi-info-circle',\r\n accept: () => {\r\n this.deleteUser(rowData);\r\n },\r\n reject: () => {\r\n }\r\n });\r\n }\r\n }\r\n\r\n addNewUser() {\r\n this.selectedRow = {\r\n \"user_id\": 0,\r\n \"basf_user_id\": \"\",\r\n \"first_name\": \"\",\r\n \"last_name\": \"\",\r\n \"email\": \"\",\r\n \"is_admin\": false\r\n };\r\n this.formType = \"New\";\r\n this.showForm = true;\r\n }\r\n\r\n refreshUsers(eventvalue) {\r\n if(eventvalue) {\r\n this.getUsers();\r\n } else {\r\n this.showForm = false;\r\n }\r\n }\r\n\r\n deleteUser(rowData) {\r\n let payLoad = {\r\n \"user_id\": rowData.user_id,\r\n \"created_by\": sessionStorage.getItem('userid'),\r\n \"is_active\": false\r\n };\r\n this.spinner.show();\r\n this.service.deleteUser(payLoad).subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this.service.displayToastr(response);\r\n this.getUsers();\r\n } else {\r\n this.service.displayToastr(response);\r\n }\r\n })\r\n }\r\n}\r\n","export default \".cust-form-label {\\r\\n font-size: 14px !important;\\r\\n margin-bottom: 0px !important;\\r\\n display: block;\\r\\n}\\r\\n.cancel-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\n.submit-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\nsmall {\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n.cust-form-group {\\r\\n justify-content: end;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9hZG1pbi91c2VyL3VzZXItcmVnaXN0cmF0aW9uL3VzZXItcmVnaXN0cmF0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSwwQkFBMEI7SUFDMUIsNkJBQTZCO0lBQzdCLGNBQWM7QUFDbEI7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLDJCQUEyQjtBQUMvQjtBQUNBO0lBQ0ksb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixzQkFBc0I7QUFDMUIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2FkbWluL3VzZXIvdXNlci1yZWdpc3RyYXRpb24vdXNlci1yZWdpc3RyYXRpb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jdXN0LWZvcm0tbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5jYW5jZWwtYnRuIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG4uc3VibWl0LWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgbWFyZ2luOjEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuc21hbGwge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG59XHJcbi5jdXN0LWZvcm0tZ3JvdXAge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufSJdfQ== */\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-user-registration',\r\n templateUrl: './user-registration.component.html',\r\n styleUrls: ['./user-registration.component.css']\r\n})\r\nexport class UserRegistrationComponent implements OnInit {\r\n @Input() formData: any;\r\n @Input() formType: any;\r\n @Output() reLoadGrid = new EventEmitter();\r\n apiResp: any;\r\n apiRequest = {\r\n \"created_by\": sessionStorage.getItem('userid'),\r\n \"business_unit\": [],\r\n \"region_id\": 0,\r\n \"is_active\": true\r\n };\r\n selectedBU: any;\r\n businessUnits = [\r\n { id: 1, businessUnit: 'EM'},\r\n { id: 2, businessUnit: 'EV'},\r\n { id: 3, businessUnit: 'PM'},\r\n { id: 4, businessUnit: 'ED'}\r\n ]\r\n constructor(private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (this.formType !== 'New') {\r\n this.selectedBU = [];\r\n let tBUnits = this.formData['businessUnits'].split(\",\");\r\n tBUnits.forEach(t => {\r\n let fBUnit = this.businessUnits.find(bu => bu.businessUnit == t);\r\n if (fBUnit) {\r\n this.selectedBU.push(fBUnit);\r\n }\r\n });\r\n }\r\n }\r\n\r\n submitUser() {\r\n if (this.checkValidations()) {\r\n this.spinner.show();\r\n if (this.formType === 'New') {\r\n this.apiRequest['user_id'] = 0;\r\n } else {\r\n this.apiRequest['user_id'] = this.formData.user_id;\r\n }\r\n this.apiRequest['basf_user_id'] = this.formData.basf_user_id;\r\n this.apiRequest['first_name'] = this.formData.first_name;\r\n this.apiRequest['last_name'] = this.formData.last_name;\r\n this.apiRequest['email'] = this.formData.email;\r\n this.apiRequest['is_admin'] = this.formData.is_admin;\r\n let businessUnits = [];\r\n this.selectedBU.forEach(sbu => {\r\n let bObj = {\r\n \"Id\": 0,\r\n \"userid\": this.apiRequest['user_id'],\r\n \"businessunit_id\": sbu.id\r\n };\r\n businessUnits.push(bObj);\r\n });\r\n this.apiRequest['business_unit'] = businessUnits;\r\n this._service.submitUser(this.apiRequest).subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this._service.displayToastr(response);\r\n this.apiResp = response;\r\n this.reLoadGrid.emit(true);\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n }\r\n\r\n checkValidations() {\r\n if(this.formData.basf_user_id == null || this.formData.basf_user_id == undefined || this.formData.basf_user_id == '') {\r\n this.toastr.error(\"BASF UserName required field\");\r\n return false;\r\n }\r\n if(this.formData.first_name == null || this.formData.first_name == undefined || this.formData.first_name == '') {\r\n this.toastr.error(\"FirstName required field\");\r\n return false;\r\n }\r\n if(this.formData.last_name == null || this.formData.last_name == undefined || this.formData.last_name == '') {\r\n this.toastr.error(\"LastName required field\");\r\n return false;\r\n }\r\n if(this.formData.email == null || this.formData.email == undefined || this.formData.email == '' || !this.checkValidEmail(this.formData.email)) {\r\n this.toastr.error(\"Email required field\");\r\n return false;\r\n }\r\n if(!this.selectedBU) {\r\n this.toastr.error(\"Business Unit required field\");\r\n return false;\r\n } \r\n if(this.selectedBU && this.selectedBU.length > 1) {\r\n this.toastr.error(\"Select only one Business Unit\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n checkValidEmail(email) {\r\n if (email == '') {\r\n return false;\r\n } else {\r\n let reg = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\\.)+[A-Z]{2,4}$/i;\r\n if (!reg.test(email)) {\r\n this.toastr.error(\"Invalid Email\");\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n cancel() {\r\n this.reLoadGrid.emit(false);\r\n }\r\n\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n.excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid p {\\r\\n margin: 0;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-table .ui-table-thead > tr > th {\\r\\n background-color: #4f4f4f;\\r\\n color: white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-table .ui-table-thead > tr > th > div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n }\\r\\n\\r\\n#cupHistoryGrid .ui-table .ui-table-tbody > tr > td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n\\r\\n.pointer-cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.add-btn {\\r\\n border-radius: 5px !important;\\r\\n background-color: #0096d6;\\r\\n margin-left: 10px;\\r\\n margin-top: 5px;\\r\\n margin-bottom: 5px;\\r\\n color: white;\\r\\n top: -14px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .edit-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n right: 0px !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-paginator {\\r\\n margin-top: 10px !important;\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n float: right !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-paginator .ui-paginator-pages .ui-paginator-page.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n color: white !important;\\r\\n }\\r\\n\\r\\n#cupHistoryGrid .ui-multiselect .ui-multiselect-panel {\\r\\n left: -292px !important;\\r\\n right: 0px !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {\\r\\n color: black !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-chkbox .ui-chkbox-box.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-table table {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-table {\\r\\n max-height: 700px !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-table-scrollable-header, .ui-table-scrollable-footer {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-table-scrollable-header-box {\\r\\n margin-right: 60px !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 280px) !important;\\r\\n}\\r\\n\\r\\n#cupHistoryGrid .excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1000px) {\\r\\n #cupsRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n\\r\\n #supportRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n\\r\\n .cf {\\r\\n margin-top: 140px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1052px) {\\r\\n #cupsRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 320px) !important;\\r\\n }\\r\\n\\r\\n #supportRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 525px) !important;\\r\\n }\\r\\n\\r\\n .cf {\\r\\n margin-top: 110px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1407px) {\\r\\n #cupsRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 300px) !important;\\r\\n }\\r\\n\\r\\n #supportRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 460px) !important;\\r\\n }\\r\\n\\r\\n .cf {\\r\\n margin-top: 80px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jdXAtaGlzdG9yeS9jdXAtaGlzdG9yeS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQjtBQUNsQjs7QUFFQTtFQUNFLGdCQUFnQjtFQUNoQixlQUFlO0VBQ2YseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGlCQUFpQjtFQUNqQixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSxTQUFTO0FBQ1g7O0FBRUE7RUFDRSx5QkFBeUI7RUFDekIsWUFBWTtFQUNaLGVBQWU7RUFDZixnQkFBZ0I7RUFDaEIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQix5QkFBeUI7QUFDM0I7O0FBRUU7SUFDRSxxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix1QkFBdUI7RUFDekI7O0FBRUY7RUFDRSxlQUFlO0VBQ2YscUJBQXFCO0VBQ3JCLG1CQUFtQjtFQUNuQixnQkFBZ0I7RUFDaEIsZUFBZTtFQUNmLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsdUJBQXVCO0VBQ3ZCLDBDQUEwQztFQUMxQyx1QkFBdUI7RUFDdkIsOEJBQThCO0FBQ2hDOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFFQTtFQUNFLDZCQUE2QjtFQUM3Qix5QkFBeUI7RUFDekIsaUJBQWlCO0VBQ2pCLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFVBQVU7RUFDVixrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRSx3QkFBZ0I7RUFBaEIsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLDJCQUEyQjtFQUMzQixrQ0FBa0M7RUFDbEMsdUJBQXVCO0VBQ3ZCLHVCQUF1QjtBQUN6Qjs7QUFFRTtJQUNFLG9DQUFvQztJQUNwQyx1QkFBdUI7RUFDekI7O0FBRUY7RUFDRSx1QkFBdUI7RUFDdkIscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsdUJBQXVCO0VBQ3ZCLGtDQUFrQztBQUNwQzs7QUFFQTtFQUNFLGdDQUFnQztFQUNoQyxvQ0FBb0M7RUFDcEMseUJBQXlCO0FBQzNCOztBQUVBO0VBQ0Usc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsNEJBQTRCO0FBQzlCOztBQUVBO0VBQ0Usd0JBQWdCO0VBQWhCLGdCQUFnQjtFQUNoQix1QkFBdUI7RUFDdkIsYUFBYTtBQUNmOztBQUVBO0VBQ0UsNkJBQTZCO0FBQy9COztBQUVBO0VBQ0UsMENBQTBDO0FBQzVDOztBQUVBO0VBQ0UsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZix5QkFBeUI7RUFDekIsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osaUJBQWlCO0VBQ2pCLFNBQVM7RUFDVCxrQkFBa0I7QUFDcEI7O0FBRUE7RUFDRTtJQUNFLDBDQUEwQztFQUM1Qzs7RUFFQTtJQUNFLDBDQUEwQztFQUM1Qzs7RUFFQTtJQUNFLDRCQUE0QjtFQUM5QjtBQUNGOztBQUVBO0VBQ0U7SUFDRSwwQ0FBMEM7RUFDNUM7O0VBRUE7SUFDRSwwQ0FBMEM7RUFDNUM7O0VBRUE7SUFDRSw0QkFBNEI7RUFDOUI7QUFDRjs7QUFFQTtFQUNFO0lBQ0UsMENBQTBDO0VBQzVDOztFQUVBO0lBQ0UsMENBQTBDO0VBQzVDOztFQUVBO0lBQ0UsMkJBQTJCO0VBQzdCO0FBQ0YiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2N1cC1oaXN0b3J5L2N1cC1oaXN0b3J5LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGVhZGVyLWxhYmVsIHtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmV4Y2VsSWNvbiB7XHJcbiAgZm9udC1zaXplOiAxLjVlbTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIHBhZGRpbmc6IDZweDtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbiNjdXBIaXN0b3J5R3JpZCBwIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbiNjdXBIaXN0b3J5R3JpZCAudWktdGFibGUgLnVpLXRhYmxlLXRoZWFkID4gdHIgPiB0aCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzRmNGY0ZjtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgcGFkZGluZzogM3B4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjZTFmMGZmO1xyXG59XHJcblxyXG4gICNjdXBIaXN0b3J5R3JpZCAudWktdGFibGUgLnVpLXRhYmxlLXRoZWFkID4gdHIgPiB0aCA+IGRpdiB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIH1cclxuXHJcbiNjdXBIaXN0b3J5R3JpZCAudWktdGFibGUgLnVpLXRhYmxlLXRib2R5ID4gdHIgPiB0ZCB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMCAxMHB4O1xyXG4gIGNvbG9yOiBibGFjaztcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0ZjRmNGYgIWltcG9ydGFudDtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wb2ludGVyLWN1cnNvciB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYWRkLWJ0biB7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICB0b3A6IC0xNHB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuI2N1cEhpc3RvcnlHcmlkIC5lZGl0LWNvbHVtbiB7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNjdXBIaXN0b3J5R3JpZCAudWktcGFnaW5hdG9yIHtcclxuICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxufVxyXG5cclxuICAjY3VwSGlzdG9yeUdyaWQgLnVpLXBhZ2luYXRvciAudWktcGFnaW5hdG9yLXBhZ2VzIC51aS1wYWdpbmF0b3ItcGFnZS51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuI2N1cEhpc3RvcnlHcmlkIC51aS1tdWx0aXNlbGVjdCAudWktbXVsdGlzZWxlY3QtcGFuZWwge1xyXG4gIGxlZnQ6IC0yOTJweCAhaW1wb3J0YW50O1xyXG4gIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuI2N1cEhpc3RvcnlHcmlkIC51aS1tdWx0aXNlbGVjdC1wYW5lbCAudWktbXVsdGlzZWxlY3QtaXRlbXMgLnVpLW11bHRpc2VsZWN0LWl0ZW0udWktc3RhdGUtaGlnaGxpZ2h0IHtcclxuICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jY3VwSGlzdG9yeUdyaWQgLnVpLWNoa2JveCAudWktY2hrYm94LWJveC51aS1zdGF0ZS1hY3RpdmUge1xyXG4gIGJvcmRlci1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDYgIWltcG9ydGFudDtcclxuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jY3VwSGlzdG9yeUdyaWQgLnVpLXRhYmxlIHRhYmxlIHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jY3VwSGlzdG9yeUdyaWQgLnVpLXRhYmxlIHtcclxuICBtYXgtaGVpZ2h0OiA3MDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jY3VwSGlzdG9yeUdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLCAudWktdGFibGUtc2Nyb2xsYWJsZS1mb290ZXIge1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgei1pbmRleDogOTk5OTtcclxufVxyXG5cclxuI2N1cEhpc3RvcnlHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3gge1xyXG4gIG1hcmdpbi1yaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jY3VwSGlzdG9yeUdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI4MHB4KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jY3VwSGlzdG9yeUdyaWQgLmV4Y2VsSWNvbiB7XHJcbiAgZm9udC1zaXplOiAxLjVlbTtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIHBhZGRpbmc6IDZweDtcclxuICBtYXJnaW4tbGVmdDogMTBweDtcclxuICB0b3A6IC03cHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAjY3Vwc1JlcXVlc3RHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM3MHB4KSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3N1cHBvcnRSZXF1ZXN0R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzNzBweCkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jZiB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MnB4KSB7XHJcbiAgI2N1cHNSZXF1ZXN0R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMjBweCkgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICNzdXBwb3J0UmVxdWVzdEdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTI1cHgpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuY2Yge1xyXG4gICAgbWFyZ2luLXRvcDogMTEwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDdweCkge1xyXG4gICNjdXBzUmVxdWVzdEdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzAwcHgpICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjc3VwcG9ydFJlcXVlc3RHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQ2MHB4KSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmNmIHtcclxuICAgIG1hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIl19 */\"","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CupsService } from 'src/services/cups.service';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Component({\r\n selector: 'app-cup-history',\r\n templateUrl: './cup-history.component.html',\r\n styleUrls: ['./cup-history.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CupHistoryComponent implements OnInit {\r\n @Input() cupReqId: any;\r\n @Output() sendPriceData = new EventEmitter();\r\n selectedBusinessUnit: any;\r\n bu: any;\r\n EVID = 2;\r\n EMID = 1;\r\n PMID = 3;\r\n EDID = 4;\r\n cols = [];\r\n priceData: any;\r\n apiResp: any;\r\n emEVCols: any;\r\n pmCols: any;\r\n isDistributor: any;\r\n filteredFields = [];\r\n filteredData: any;\r\n tempFilteredData: any;\r\n constructor(private _service: CupsService, private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.bu = sessionStorage.getItem('BU');\r\n this.isDistributor = ( sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n this.emEVCols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"cupReqId\",\r\n \"header\": \"Ref #\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 1\r\n },\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"effectiveDate\",\r\n \"header\": \"Date\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 1\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"distributor_price_from_basf\",\r\n \"header\": \"Distributor Price\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"support_price_to_end_customer\",\r\n \"header\": \"Support Price\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"net_support_price\",\r\n \"header\": \"Net Support Price\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"credit_bank_amount\",\r\n \"header\": \"Credit Back Amount\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n }\r\n ];\r\n this.pmCols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"cupReqId\",\r\n \"header\": \"Ref #\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 1\r\n },\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"effectiveDate\",\r\n \"header\": \"Date\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 1\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"selling_margin\",\r\n \"header\": \"Selling Margin\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"suggested_selling_price\",\r\n \"header\": \"Suggested Selling Price\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"supported_buy_price\",\r\n \"header\": \"Supported Buy Price\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n },\r\n {\r\n \"header_id\": 5,\r\n \"field\": \"rebate\",\r\n \"header\": \"Rebate\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n }\r\n ]\r\n this.updateSelectedBU();\r\n this.getEMPPMHistory();\r\n }\r\n\r\n updateSelectedBU() {\r\n switch (this.bu) {\r\n case 'EM': this.selectedBusinessUnit = this.EMID; this.cols = this.emEVCols; break;\r\n case 'EV': this.selectedBusinessUnit = this.EVID; this.cols = this.emEVCols; break;\r\n case 'PM': this.selectedBusinessUnit = this.PMID; this.cols = this.pmCols;break;\r\n case 'ED': this.selectedBusinessUnit = this.EDID; this.cols = this.emEVCols;break;\r\n default: this.selectedBusinessUnit = this.EMID; this.cols = this.emEVCols; break;\r\n }\r\n }\r\n\r\n getEMPPMHistory() {\r\n this.spinner.show();\r\n this._service.getEMPPMHistory(this.cupReqId, this.bu, this.isDistributor).subscribe(response => {\r\n this.spinner.hide();\r\n this.apiResp = response;\r\n if(!this.apiResp['isError']) {\r\n this.cols = JSON.parse(JSON.stringify(this.apiResp['headerColumns']));\r\n if(this.isDistributor || Number(sessionStorage.getItem('SalesSupportDistributor'))>0){\r\n this.cols=this.cols.filter(col=>col.field!=='comments');\r\n }\r\n this.apiResp['historyData'].forEach(hd => {\r\n if (!hd.isInitialCupData) {\r\n hd.type_of_change = (hd.type_of_change === 1) ? '%' : '$';\r\n hd.direction_of_change = (hd.direction_of_change === 1) ? 'Increase' : 'Decrease';\r\n } else {\r\n hd.type_of_change = 'NA';\r\n hd.direction_of_change = 'NA';\r\n hd.change_value = 'NA';\r\n }\r\n hd.effective_date_of_change = moment(hd.effective_date_of_change).format('MM/DD/YYYY');\r\n hd.expiration_date = moment(hd.expiration_date).format('MM/DD/YYYY');\r\n })\r\n this.priceData = JSON.parse(JSON.stringify(this.apiResp['historyData']));\r\n this.filteredData = JSON.parse(JSON.stringify(this.priceData));\r\n this.sendPriceData.emit(this.apiResp['historyData']);\r\n this.priceData.forEach(pd => {\r\n pd.effectiveDate = moment(pd['effectiveDate']).format('MMMM Do YYYY');\r\n });\r\n }\r\n });\r\n }\r\n\r\n filterData(filterObj) {\r\n let {value, filter } = filterObj;\r\n if (value == '') {\r\n if (this.filteredFields.length) {\r\n this.filteredFields = this.filteredFields.filter(ff => ff.fieldName !== filter);\r\n } else {\r\n this.filteredFields = [];\r\n }\r\n } else {\r\n let foundField = this.filteredFields.filter(ff => ff.fieldName == filter);\r\n if (foundField.length) {\r\n this.filteredFields.forEach(ff => {\r\n if (ff.fieldName == filter) {\r\n ff.value = value;\r\n }\r\n })\r\n } else {\r\n let fieldObj = {\r\n fieldName: filter,\r\n value: value\r\n };\r\n this.filteredFields.push(fieldObj);\r\n }\r\n }\r\n if (this.filteredFields.length) {\r\n let temp = this.priceData;\r\n this.filteredFields.forEach(ff => {\r\n temp = temp.filter(fd => fd[ff.fieldName].toUpperCase().includes(ff.value.toUpperCase()));\r\n })\r\n this.filteredData = temp;\r\n } else {\r\n this.filteredData = JSON.parse(JSON.stringify(this.priceData));\r\n }\r\n this.tempFilteredData = JSON.parse(JSON.stringify(this.filteredData));\r\n }\r\n\r\n exportExcel() {\r\n let currentDate = moment().format('MM_DD_YYYY_hh_mm_ss_a');\r\n this.exportAsExcelFile(this.filteredData, `Price_Revision_History_${currentDate}`, 'sheet1', this.cols)\r\n }\r\n\r\n exportAsExcelFile(json: any[], excelFileName: string, sheetName: string, columnValues: any[]): void {\r\n let fieldValues: any[] = columnValues.map(field => field.field);\r\n let headerValues: string[] = columnValues.map(header => header.header);\r\n let displayedJson: any[] = [];\r\n if (json != null && json.length > 0) {\r\n for (let originalValue of json) {\r\n let jsonObject: any = {};\r\n for (let fieldValue of fieldValues) {\r\n jsonObject[fieldValue] = originalValue[fieldValue];\r\n }\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedJson.push(JSON.parse(jsonString));\r\n }\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(displayedJson);\r\n let range = XLSX.utils.decode_range(worksheet['!ref']);\r\n for (let C = range.s.c; C <= range.e.c; ++C) {\r\n let address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\r\n if (!worksheet[address]) continue;\r\n worksheet[address] = {\r\n v: headerValues[C],\r\n t: 's',\r\n s: {\r\n alignment: { textRotation: 90 },\r\n font: { bold: true }\r\n }\r\n };\r\n }\r\n XLSX.utils.sheet_add_aoa(worksheet, [[]], { origin: -1 });\r\n const workbook: XLSX.WorkBook = { Sheets: { [sheetName]: worksheet }, SheetNames: [sheetName] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n }\r\n\r\n saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n\r\n}\r\n","export default \"#cupReqTab .ui-tabview.ui-tabview-top .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-bottom .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-left .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-right .ui-tabview-nav li.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jdXAtcmVxdWVzdC10YWIvY3VwLXJlcXVlc3QtdGFiLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxnQ0FBZ0M7SUFDaEMsb0NBQW9DO0lBQ3BDLHlCQUF5QjtBQUM3QiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY3VwLXJlcXVlc3QtdGFiL2N1cC1yZXF1ZXN0LXRhYi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2N1cFJlcVRhYiAudWktdGFidmlldy51aS10YWJ2aWV3LXRvcCAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlLCBib2R5IC51aS10YWJ2aWV3LnVpLXRhYnZpZXctYm90dG9tIC51aS10YWJ2aWV3LW5hdiBsaS51aS1zdGF0ZS1hY3RpdmUsIGJvZHkgLnVpLXRhYnZpZXcudWktdGFidmlldy1sZWZ0IC51aS10YWJ2aWV3LW5hdiBsaS51aS1zdGF0ZS1hY3RpdmUsIGJvZHkgLnVpLXRhYnZpZXcudWktdGFidmlldy1yaWdodCAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufSJdfQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-cup-request-tab',\r\n templateUrl: './cup-request-tab.component.html',\r\n styleUrls: ['./cup-request-tab.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CupRequestTabComponent implements OnInit {\r\n labelData: any;\r\n orgRowData: any;\r\n formData: any;\r\n gridData: any;\r\n tabData = [];\r\n cupReqData: any;\r\n cupReqDatas = [];\r\n selIndex;\r\n constructor(private router: Router) { }\r\n\r\n ngOnInit() {\r\n if (!history.state.data) {\r\n this.router.navigate(['/']);\r\n } else {\r\n sessionStorage.setItem('returnUrlparams','');\r\n sessionStorage.setItem('paramsExist', 'false');\r\n sessionStorage.setItem('returnUrlpath','');\r\n this.labelData = history.state.data.labelData;\r\n this.orgRowData = history.state.data.rowData;\r\n this.formData = JSON.parse(JSON.stringify(this.orgRowData));\r\n this.gridData = history.state.data.gridData;\r\n this.cupReqData = {\r\n labelData: this.labelData,\r\n formData: this.formData\r\n }\r\n this.selIndex = this.formData.request_reference_number;\r\n }\r\n }\r\n\r\n filterCupRequest(cupReqRef) {\r\n let fCupReqTab = false;\r\n if(this.tabData.length) {\r\n this.tabData.forEach(td => {\r\n if(td.formData['request_reference_number'] === cupReqRef.request_reference_number ) {\r\n fCupReqTab = true;\r\n this.selIndex = td.formData['request_reference_number'];\r\n }\r\n })\r\n }\r\n if (cupReqRef && !fCupReqTab && cupReqRef.request_reference_number !== this.formData.request_reference_number) {\r\n let cupReqObj = { \r\n labelData: this.labelData,\r\n formData: cupReqRef,\r\n index: this.tabData.length + 1\r\n };\r\n this.tabData.push(cupReqObj);\r\n this.selIndex = cupReqRef.request_reference_number;\r\n }\r\n if(cupReqRef.request_reference_number === this.formData.request_reference_number) {\r\n this.selIndex = cupReqRef.request_reference_number;\r\n }\r\n }\r\n\r\n closeCupRequest(event) {\r\n this.tabData = this.tabData.filter(td => td.index !== event.index);\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['/home']);\r\n }\r\n}\r\n","export default \".cust-label {\\r\\n text-align: end;\\r\\n font-size: 14px;\\r\\n margin-bottom: 0.1rem;\\r\\n}\\r\\n.cust-text {\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 0.1rem;\\r\\n}\\r\\n.reject-btn {\\r\\n width: 150px;\\r\\n color: white !important;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 5px !important;\\r\\n}\\r\\n.approve-btn {\\r\\n width: 150px;\\r\\n color: white !important;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 5px !important;\\r\\n}\\r\\n#cust-dialog .ui-dialog .ui-dialog-footer {\\r\\n text-align: center;\\r\\n}\\r\\n#cust-dialog .ui-dialog .ui-dialog-content {\\r\\n overflow: hidden;\\r\\n}\\r\\n.ui-dialog-resizable .ui-dialog-content {\\r\\n overflow: hidden !important;\\r\\n}\\r\\n.cust-comments {\\r\\n white-space: pre-line;\\r\\n /* collapse WS, preserve LB */\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jdXBzLXJlcXVlc3QtaW5mby9jdXBzLXJlcXVlc3QtaW5mby5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksZUFBZTtJQUNmLGVBQWU7SUFDZixxQkFBcUI7QUFDekI7QUFDQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIscUJBQXFCO0FBQ3pCO0FBQ0E7SUFDSSxZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsNkJBQTZCO0FBQ2pDO0FBQ0E7SUFDSSxZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsNkJBQTZCO0FBQ2pDO0FBQ0E7SUFDSSxrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLGdCQUFnQjtBQUNwQjtBQUNBO0lBQ0ksMkJBQTJCO0FBQy9CO0FBQ0E7SUFDSSxxQkFBcUI7SUFDckIsNkJBQTZCO0FBQ2pDIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9jdXBzLXJlcXVlc3QtaW5mby9jdXBzLXJlcXVlc3QtaW5mby5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmN1c3QtbGFiZWwge1xyXG4gICAgdGV4dC1hbGlnbjogZW5kO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC4xcmVtO1xyXG59XHJcbi5jdXN0LXRleHQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDAuMXJlbTtcclxufVxyXG4ucmVqZWN0LWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcbi5hcHByb3ZlLWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcbiNjdXN0LWRpYWxvZyAudWktZGlhbG9nIC51aS1kaWFsb2ctZm9vdGVyIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4jY3VzdC1kaWFsb2cgLnVpLWRpYWxvZyAudWktZGlhbG9nLWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4udWktZGlhbG9nLXJlc2l6YWJsZSAudWktZGlhbG9nLWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcbi5jdXN0LWNvbW1lbnRzIHtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcclxuICAgIC8qIGNvbGxhcHNlIFdTLCBwcmVzZXJ2ZSBMQiAqL1xyXG59Il19 */\"","import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-cups-request-info',\r\n templateUrl: './cups-request-info.component.html',\r\n styleUrls: ['./cups-request-info.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CupsRequestInfoComponent implements OnInit {\r\n\r\n @Input() cupReqData;\r\n @Output() sendCupDetails = new EventEmitter();\r\n formData = {};\r\n orgRowData: any;\r\n rowData: any;\r\n labelData: any;\r\n productCupHistoryCols: any;\r\n productCupHistoryData: any;\r\n endCustomerProductHistoryCols: any;\r\n endCustomerProductHistoryData: any;\r\n marketSalesCols: any;\r\n marketSalesData: any;\r\n defaultWidth = '100%';\r\n approvalHistoryAPI: any;\r\n reqForm = {};\r\n headerName = \"\";\r\n dispEVEMDailog = false;\r\n statusOfCup = \"\";\r\n displayBtns = false;\r\n workFlowResp: any;\r\n userId: any;\r\n apiResp: any;\r\n cupApprovalStatus: any;\r\n businessId: any;\r\n dispCounterOffer: boolean = false;\r\n rejectWithCounterOfferData: any;\r\n rwcApiResp: any\r\n dispApprovalHistory: boolean = false;\r\n approvalHistoryData: any;\r\n approvalHistoryCols = [\r\n { field: \"date\", form_name: \"\", header: \"Date\", header_id: 2, is_editable: false, is_grid_display: true, is_show: true, serial_no: 1 },\r\n { field: \"status_name\", form_name: \"\", header: \"Status\", header_id: 1, is_editable: false, is_grid_display: true, is_show: true, serial_no: 1 },\r\n { field: \"approvar_name\", form_name: \"\", header: \"Name\", header_id: 3, is_editable: false, is_grid_display: true, is_show: true, serial_no: 1 },\r\n { field: \"approvar_comments\", form_name: \"\", header: \"Comments\", header_id: 4, is_editable: false, is_grid_display: true, is_show: true, serial_no: 1 }\r\n ];\r\n isDistributor: boolean = false;\r\n dispDistributorRespBtns: boolean = false;\r\n distributorUsers: any;\r\n duApiResp: any;\r\n dispActivateDialog: boolean = false;\r\n activateForm = {};\r\n isSalesSupportLogin: boolean = false;\r\n salesSupportUsers: any;\r\n currentDate: any;\r\n approvers: any;\r\n toApprovers: any;\r\n fromApprovers: any;\r\n displayDelgationPopup: boolean = false;\r\n userAdmin: boolean = false;\r\n delegationRequest = {};\r\n selectedFromApprover: any;\r\n selectedToApprover: any;\r\n displayComments: boolean = false;\r\n headerComments = '';\r\n newComments = '';\r\n internalComments: boolean = false;\r\n editComments: boolean = false;\r\n labelCount = 0;\r\n leftColumns: any;\r\n rightColumns: any;\r\n halfWayIndex: any;\r\n commentsList: any;\r\n internalCommentsList: any;\r\n externalCommentsList: any;\r\n dispEMExpiryUpdateDialog: boolean = false;\r\n updatedExpiryDate: any;\r\n isSalesSupportDistributor: number = 0;\r\n isSaleSupportUser = false;\r\n constructor(private router: Router, private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n if (!history.state.data) {\r\n this.router.navigate(['/']);\r\n } else {\r\n if (sessionStorage.getItem('BU') == 'ED') {\r\n this.labelData = this.cupReqData.labelData.filter(x => x.is_show == true);;\r\n }\r\n else {\r\n this.labelData = this.cupReqData.labelData;\r\n }\r\n this.changeFieldIndex();\r\n this.labelCount = this.labelData.length;\r\n this.halfWayIndex = Math.ceil(this.labelData.length / 2);\r\n this.orgRowData = this.cupReqData.formData;\r\n this.formData = JSON.parse(JSON.stringify(this.orgRowData));\r\n this.generateUserDetails();\r\n if (this.isDistributor && this.formData['status_id'] === 4) {\r\n this.getDistributorUserDetails();\r\n }\r\n this.callGetSalesSupportUsers();\r\n }\r\n this.getCupRequestDetails()\r\n this.isSalesSupportDistributor = Number(sessionStorage.getItem('SalesSupportDistributor'));\r\n let distributor_Id = history.state.data.rowData.distributor_id;\r\n let sbu_name = history.state.data.rowData.sbu_name;\r\n let cup_request_id = history.state.data.rowData.request_reference_number;\r\n this.validateSaleSupportUser(distributor_Id, sbu_name, cup_request_id);\r\n }\r\n\r\n validateSaleSupportUser(distributorId:number, sbu: string, cuprequestid: string) {\r\n this._service.validateSaleSupport(this.userId, distributorId, sbu, cuprequestid).subscribe((res: any) => {\r\n if (res.saleSupportUser) {\r\n this.isSaleSupportUser = true;\r\n } else {\r\n this.isSaleSupportUser = false;\r\n }\r\n });\r\n }\r\n\r\n callGetSalesSupportUsers() {\r\n if (this.businessId === 3) {\r\n this.formData['request_id'] = this.formData['pm_request_id'];\r\n if (this.formData['status_id'] === 1) {\r\n this.getSalesSupportUsers();\r\n }\r\n }\r\n if (this.businessId == 2) {\r\n this.getSalesSupportUsers();\r\n }\r\n }\r\n\r\n changeFieldIndex() {\r\n if (sessionStorage.getItem('BU') === 'EM' || sessionStorage.getItem('BU') === 'ED') {\r\n if (this.cupReqData.formData['cups_intostock_id'] !== 5) {\r\n this.labelData = this.labelData.filter(l => l.field !== 'credit_back_amount');\r\n //this.labelData = this.labelData.sort((a, b) => {\r\n // return a.serial_no - b.serial_no;\r\n //})\r\n } else {\r\n let labels = this.labelData;\r\n let index = labels.findIndex(function (item) {\r\n return item.field === 'distributor_name';\r\n });\r\n let soldToIndex = labels.findIndex(function (item) {\r\n return item.field === 'distributor_sold_to_name';\r\n });\r\n let endUserIndex = labels.findIndex(function (item) {\r\n return item.field === 'customer_name';\r\n });\r\n let shipToIndex = labels.findIndex(function (item) {\r\n return item.field === 'ship_to_name';\r\n });\r\n let disStateIndex = labels.findIndex(function (item) {\r\n return item.field === 'distributor_state';\r\n });\r\n labels.splice([index + 1], 0, labels[soldToIndex]);\r\n labels.splice([endUserIndex + 2], 0, labels[shipToIndex + 1]);\r\n labels.splice(soldToIndex + 2, 1);\r\n labels.splice(shipToIndex + 2, 1);\r\n labels.splice([index + 3], 0, labels[disStateIndex]);\r\n labels.splice(disStateIndex + 1, 1);\r\n }\r\n }\r\n }\r\n\r\n receivePriceData(priceData) {\r\n console.log(priceData);\r\n }\r\n\r\n\r\n generateUserDetails() {\r\n this.userAdmin = (sessionStorage.getItem('IsAdmin') === \"1\" || sessionStorage.getItem('IsAdmin') === \"true\") ? true : false;\r\n this.isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n switch (sessionStorage.getItem('BU')) {\r\n case 'EM': this.userId = sessionStorage.getItem('userid'); this.businessId = 1; this.halfWayIndex = this.formData['cups_intostock'] == 'CUP' ? this.halfWayIndex - 1 : this.halfWayIndex + 2; this.getSalesSupportUsers(); break;\r\n case 'EV': this.userId = sessionStorage.getItem('userid'); this.businessId = 2; break;\r\n case 'PM': this.userId = sessionStorage.getItem('userid'); this.businessId = 3; break;\r\n case 'ED': this.userId = sessionStorage.getItem('userid'); this.businessId = 4; this.halfWayIndex = this.formData['cups_intostock'] == 'CUP' ? this.halfWayIndex + 1 : this.halfWayIndex + 3; this.getSalesSupportUsers(); break;\r\n default: break;\r\n }\r\n this.hideCommentsForDistributor();\r\n this.leftColumns = this.labelData.slice(0, this.halfWayIndex)\r\n this.rightColumns = this.labelData.slice(this.halfWayIndex);\r\n }\r\n\r\n hideCommentsForDistributor() {\r\n if (sessionStorage.getItem('BU') === 'EM' || sessionStorage.getItem('BU') === 'ED') {\r\n this.labelData.map(item => {\r\n if (this.isDistributor && item.field == 'comments') {\r\n item.is_show = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n getSalesSupportUsers() {\r\n this.spinner.show();\r\n this._service.getSalesSupportUsers(this.businessId).subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this.apiResp = response['response'];\r\n this.salesSupportUsers = this.apiResp;\r\n let fSupportUser = this.salesSupportUsers.find(ss => ss.user_id === Number(this.userId));\r\n if (fSupportUser) {\r\n this.isSalesSupportLogin = true;\r\n }\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n getCupRequestDetails() {\r\n this.spinner.show();\r\n this._service.getCUPRequestDetails(this.formData['request_id'], this.businessId).subscribe(response => {\r\n this.spinner.hide();\r\n this.approvalHistoryAPI = response;\r\n this.productCupHistoryCols = this.approvalHistoryAPI.headerColumns.filter(h => h.form_name === 'ProductHistory' && h.is_grid_display);\r\n this.productCupHistoryData = this.approvalHistoryAPI.productHistory.filter(p => p.request_reference_number !== this.formData['request_reference_number']);\r\n this.endCustomerProductHistoryCols = this.approvalHistoryAPI.headerColumns.filter(h => h.form_name === 'ProductCustomerHistory' && h.is_grid_display);\r\n this.endCustomerProductHistoryData = this.approvalHistoryAPI.productCustomerHistory.filter(p => p.request_reference_number !== this.formData['request_reference_number']);\r\n this.marketSalesCols = this.approvalHistoryAPI.headerColumns.filter(h => h.form_name === 'EndMarketSalesReport' && h.is_grid_display);\r\n this.marketSalesData = this.approvalHistoryAPI.endMarketSaleReport;\r\n this.approvalHistoryData = this.approvalHistoryAPI.workFlowApprovalHistory;\r\n if (this.businessId === 3) {\r\n this.formData['status_id'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['status_id'];\r\n this.formData['status_name'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['status_name'];\r\n this.formData['suggested_selling_price'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['suggested_selling_price'];\r\n this.formData['supported_buy_price'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['supported_buy_price'];\r\n this.formData['rebate'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['rebate'];\r\n this.formData['effective_date'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['effective_date'];\r\n this.formData['expiration_date'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['expiration_date'];\r\n this.formData['pending_approver'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['pending_approver'];\r\n this.formData['internal_comments'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['internal_comments'];\r\n this.formData['external_comments'] = this.approvalHistoryAPI.pmRequestSubmissionData[0]['external_comments'];\r\n } else {\r\n this.formData['status_id'] = this.approvalHistoryAPI.requestSubmissionData[0]['status_id'];\r\n this.formData['expiration_date'] = this.approvalHistoryAPI.requestSubmissionData[0]['expiration_date'];\r\n this.formData['status_name'] = this.approvalHistoryAPI.requestSubmissionData[0]['status_name'];\r\n this.formData['discount_percent'] = this.approvalHistoryAPI.requestSubmissionData[0]['discount_percent'];\r\n this.formData['support_price_to_end_customer'] = this.approvalHistoryAPI.requestSubmissionData[0]['support_price_to_end_customer'];\r\n this.formData['frieght_allowance'] = this.approvalHistoryAPI.requestSubmissionData[0]['frieght_allowance'];\r\n this.formData['net_support_price'] = this.approvalHistoryAPI.requestSubmissionData[0]['net_support_price'];\r\n this.formData['other_allowance'] = this.approvalHistoryAPI.requestSubmissionData[0]['other_allowance'];\r\n this.formData['credit_back_amount'] = this.approvalHistoryAPI.requestSubmissionData[0]['credit_back_amount'];\r\n this.formData['pending_approver'] = this.approvalHistoryAPI.requestSubmissionData[0]['pending_approver'];\r\n this.formData['comments'] = this.approvalHistoryAPI.requestSubmissionData[0]['comments'];\r\n this.formData['external_comments'] = this.approvalHistoryAPI.requestSubmissionData[0]['external_comments'];\r\n this.formData['cups_auto_approval_id'] = this.approvalHistoryAPI.requestSubmissionData[0]['cups_auto_approval_id'];\r\n this.formData['created_by'] = this.approvalHistoryAPI.requestSubmissionData[0]['created_by'];\r\n }\r\n this.getWorkFlowUpdates();\r\n });\r\n }\r\n\r\n getDistributorUserDetails() {\r\n this.spinner.show();\r\n this._service.getDistributorUserDetails(this.formData['distributor_id']).subscribe(response => {\r\n if (!response['isError']) {\r\n this.duApiResp = response['response'];\r\n this.distributorUsers = this.duApiResp;\r\n let fUser = this.distributorUsers.find(du => du.distributor_user_id == this.userId);\r\n if (fUser) {\r\n this.dispDistributorRespBtns = true;\r\n }\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n getWorkFlowUpdates() {\r\n if (!this.isDistributor) {\r\n this.spinner.show();\r\n this.validateSaleSupportUser(this.formData['distributor_id'], this.formData['sbu_name'], this.formData['request_reference_number']);\r\n this._service.getWorkFlowUpdateDetails(this.userId, this.formData['request_id'], this.businessId, this.isDistributor).subscribe(response => {\r\n this.apiResp = response;\r\n console.log(this.apiResp, \"get workflow updates\")\r\n if (this.apiResp['authorized'] && !this.apiResp['isError'] && this.apiResp['response'].length > 0) {\r\n this.workFlowResp = this.apiResp.response[0];\r\n if (this.workFlowResp.work_flow_approver_id == this.userId || this.workFlowResp.deligated_approver_id == this.userId) {\r\n this.displayBtns = true;\r\n }\r\n } else if (this.apiResp['authorized'] && this.apiResp['isError']) {\r\n this._service.displayToastr(response);\r\n } else if (!this.apiResp['authorized'] && this.apiResp['isError']) {\r\n this._service.displayToastr(response);\r\n } else {\r\n console.log(\"No workflow updates found\");\r\n }\r\n this.spinner.hide();\r\n })\r\n }\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n let { rowData } = rowObject;\r\n this.spinner.show();\r\n this._service.getCUPRequestDetails(rowData['request_id'], this.businessId).subscribe(response => {\r\n this.spinner.hide();\r\n this.apiResp = response;\r\n if (this.businessId === 3) {\r\n this.sendCupDetails.emit(this.apiResp.pmRequestSubmissionData[0]);\r\n }\r\n else {\r\n this.sendCupDetails.emit(this.apiResp.requestSubmissionData[0]);\r\n }\r\n });\r\n }\r\n\r\n calculateEDPrice() {\r\n const dp = this.formData['distributor_price_from_basf'] ? Number(this.formData['distributor_price_from_basf']) : 0;\r\n const sp = this.reqForm['support_price_to_end_customer'] ? Number(this.reqForm['support_price_to_end_customer']) : 0;\r\n this.reqForm['net_support_price'] = 0;\r\n if (dp && sp) {\r\n this.reqForm['discount_percent'] = (((dp - sp) / dp) * 100).toFixed(2);\r\n this.reqForm['credit_back_amount'] = (dp - sp).toFixed(2);\r\n } else if (dp <= 0 && this.formData['cups_intostock'] === '3rd Party' || this.formData['cups_intostock'] === 'IntoStock') {\r\n this.reqForm['discount_percent'] = 0;\r\n this.reqForm['credit_back_amount'] = 0;\r\n }\r\n }\r\n\r\n calculatePrices() {\r\n if (this.businessId == 4) {\r\n this.calculateEDPrice();\r\n } else {\r\n const sp = Number(this.reqForm['support_price_to_end_customer']);\r\n const discount = Number(this.reqForm['discount_percent']);\r\n const fa = this.reqForm['freight_allowance'] ? Number(this.reqForm['freight_allowance']) : 0;\r\n const oa = this.reqForm['other_allowances'] ? Number(this.reqForm['other_allowances']) : 0;\r\n const dp = Number(this.formData['distributor_price_from_basf']);\r\n if ((this.businessId === 1 || this.businessId === 4) && sp && discount && fa >= 0 && oa >= 0 && dp >= 0) {\r\n this.reqForm['net_support_price'] = (sp - (sp * (discount) / 100) - fa - oa).toFixed(2).toString();\r\n this.reqForm['credit_back_amount'] = (dp - Number(this.reqForm['net_support_price'])).toFixed(2).toString();\r\n }\r\n const nsp = Number(this.formData['net_support_price']);\r\n if (this.businessId === 2 && nsp && dp && (this.formData['cups_intostock'] === '3rd Party' || this.formData['cups_intostock'] === 'IntoStock')) {\r\n this.reqForm['credit_back_amount'] = 0;\r\n } else if (this.businessId === 2 && nsp && dp && this.formData['cups_intostock'] === 'CUP') {\r\n this.reqForm['credit_back_amount'] = (dp - Number(this.reqForm['net_support_price'])).toFixed(2).toString();\r\n }\r\n }\r\n }\r\n\r\n doCalculations() {\r\n const SP = Number(this.reqForm['suggested_selling_price']);\r\n const SM = Number(this.formData['selling_margin']);\r\n if (SP && SM && this.formData['sell_price_UOM']) {\r\n this.reqForm['supported_buy_price'] = (SP - (SP * SM / 100)).toFixed(2).toString();\r\n if (this.formData['sell_price_UOM'] === 'LB') {\r\n this.reqForm['rebate'] = (Number(this.formData['list_price_lb']) - Number(this.reqForm['supported_buy_price'])).toFixed(2).toString();\r\n } else {\r\n this.reqForm['rebate'] = (Number(this.formData['list_price_kg']) - Number(this.reqForm['supported_buy_price'])).toFixed(2).toString();\r\n }\r\n }\r\n }\r\n\r\n getFormattedData(date) {\r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n\r\n populateExpiryDate() {\r\n this.activateForm['expirationDate'] = moment(this.activateForm['effectiveDate']).add(365, 'days').format('L');\r\n }\r\n\r\n sendCupRequest(funcType) {\r\n this.statusOfCup = funcType;\r\n switch (this.statusOfCup) {\r\n case 'a': this.headerName = 'Approve Confirmation'; this.workFlowResp['work_flow_status_id'] = 1; break;\r\n case 'r': this.headerName = 'Reject Confirmation'; this.workFlowResp['work_flow_status_id'] = 3; break;\r\n case 'rc': this.headerName = 'Reject with Counter Offer'; this.workFlowResp['work_flow_status_id'] = 4; break;\r\n default: this.headerName = ''; break;\r\n }\r\n this.dispEVEMDailog = true;\r\n }\r\n\r\n submitRequest() {\r\n switch (this.statusOfCup) {\r\n case 'a': this.generateRequest(); break;\r\n case 'r': this.generateRequest(); break;\r\n case 'rc': this.generateRCRequest(); break;\r\n default: break;\r\n }\r\n }\r\n\r\n generateRequest() {\r\n this.workFlowResp.cup_request_no = this.formData['request_reference_number'];\r\n this.workFlowResp.approvar_comments = this.reqForm['comments'] ? this.reqForm['comments'] : '';\r\n this.workFlowResp['businesunit_id'] = this.businessId;\r\n this.workFlowResp['request_id'] = this.formData['request_id'];\r\n this.workFlowResp['modified_by'] = Number(sessionStorage.getItem('userid'));\r\n this.updateWorkFlowStatus();\r\n }\r\n\r\n generateRCRequest() {\r\n this.workFlowResp['request_id'] = this.formData['request_id'];\r\n this.workFlowResp['support_price_to_end_user'] = (this.businessId === 1 || this.businessId === 2 || this.businessId === 4) ? Number(this.reqForm['support_price_to_end_customer']) : 0;\r\n if (this.businessId === 1 || this.businessId === 4) {\r\n this.generateEM_RCValues();\r\n }\r\n this.workFlowResp['net_support_price'] = (this.businessId === 1 || this.businessId === 2 || this.businessId === 4) ? Number(this.reqForm['net_support_price']) : 0;\r\n this.workFlowResp['credit_back_amount'] = (this.businessId === 1 || this.businessId === 2 || this.businessId === 4) ? Number(this.reqForm['credit_back_amount']) : 0;\r\n this.workFlowResp['suggested_selling_price'] = (this.businessId === 3) ? Number(this.reqForm['suggested_selling_price']) : 0;\r\n this.workFlowResp['selling_margin'] = (this.businessId === 3) ? Number(this.formData['selling_margin']) : 0;\r\n this.workFlowResp['supported_buy_price'] = (this.businessId === 3) ? Number(this.reqForm['supported_buy_price']) : 0;\r\n this.workFlowResp['rebate'] = (this.businessId === 3) ? Number(this.reqForm['rebate']) : 0;\r\n this.workFlowResp['created_by'] = Number(sessionStorage.getItem('userid'));\r\n this.workFlowResp['cup_request_no'] = this.formData['request_reference_number'];\r\n this.workFlowResp['businesunit_id'] = this.businessId;\r\n this.workFlowResp['approvar_comments'] = this.reqForm['comments'] ? this.reqForm['comments'] : '';\r\n this.workFlowResp['modified_by'] = Number(sessionStorage.getItem('userid'));\r\n this.updateWorkFlowRCStatus();\r\n\r\n\r\n }\r\n\r\n generateEM_RCValues() {\r\n this.workFlowResp['discount_percentage'] = Number(this.reqForm['discount_percent']);\r\n this.workFlowResp['frieght_allowance'] = this.reqForm['freight_allowance'] ? Number(this.reqForm['freight_allowance']) : this.formData['freight_allowance'];\r\n this.workFlowResp['other_allowance'] = this.reqForm['other_allowances'] ? Number(this.reqForm['other_allowances']) : this.formData['other_allowances'];\r\n }\r\n\r\n updateWorkFlowStatus() {\r\n this.spinner.show();\r\n this._service.updateWorkFLowStatus(this.workFlowResp).subscribe((response) => {\r\n this.apiResp = response;\r\n this.handleWorkFlowStatusBtns();\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n updateWorkFlowRCStatus() {\r\n this.spinner.show();\r\n this._service.updateWorkFLowRCStatus(this.workFlowResp).subscribe((response) => {\r\n this.apiResp = response;\r\n this.spinner.hide();\r\n this.handleWorkFlowStatusBtns();\r\n })\r\n }\r\n\r\n handleWorkFlowStatusBtns() {\r\n this.displayBtns = false;\r\n this.getWorkFlowUpdates();\r\n this.dispEVEMDailog = false;\r\n this.toastr.success(\"Request Submitted\");\r\n this.getCupRequestDetails();\r\n }\r\n\r\n getCounterOfferDetails() {\r\n this.spinner.show();\r\n this._service.getRejectWithCounterOfferDetails(this.formData['request_id'], this.businessId, this.userId, this.isDistributor).subscribe(response => {\r\n this.rwcApiResp = response;\r\n this.rejectWithCounterOfferData = this.rwcApiResp.rejectWithCounterOffer[0];\r\n this.spinner.hide();\r\n this.dispCounterOffer = true;\r\n })\r\n }\r\n\r\n openActivatePopup() {\r\n this.dispActivateDialog = true;\r\n }\r\n\r\n activateCup() {\r\n let requestApi = {\r\n \"request_reference_number\": this.formData['request_reference_number'],\r\n \"effective_date\": this.activateForm['effectiveDate'],\r\n \"expiration_date\": this.activateForm['expirationDate'],\r\n \"modified_by\": \"45\"\r\n }\r\n this.spinner.show();\r\n this._service.submitActivateCup(requestApi).subscribe(_response => {\r\n this.dispActivateDialog = false;\r\n this.getCupRequestDetails();\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n cancelActivate() {\r\n this.dispActivateDialog = false;\r\n }\r\n\r\n sendCounterOfferResponse(responseValue: any) {\r\n this.spinner.show();\r\n let requestData = {\r\n \"RequestId\": this.formData['request_id'],\r\n \"RequestReferenceNumber\": this.formData['request_reference_number'],\r\n \"BusinessUnitId\": this.businessId,\r\n \"DistributorResponse\": Number(responseValue),\r\n \"LoggedUserId\": this.userId\r\n };\r\n this._service.updateDistributorResponse(requestData).subscribe(_response1 => {\r\n this.dispCounterOffer = false;\r\n this.toastr.success(\"Sent Distributor Response\", \"Success!\");\r\n this.getCupRequestDetails();\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n openDelegationPopup() {\r\n this.currentDate = new Date();\r\n this.spinner.show();\r\n this._service.getApprovers(this.businessId).subscribe(response => {\r\n if (!response['isError']) {\r\n this.approvers = response['response'];\r\n this.toApprovers = this.approvers;\r\n this.fromApprovers = this.approvers;\r\n this.toApprovers = this.approvers.filter(a => a.userid != this.userId);\r\n this.spinner.hide();\r\n this.displayDelgationPopup = true;\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n cancelDelegationPopup() {\r\n this.displayDelgationPopup = false;\r\n }\r\n\r\n submitDelegation() {\r\n this.spinner.show();\r\n let apiResponse: any;\r\n this.delegationRequest['cupNumber'] = this.formData['request_reference_number'];\r\n this.delegationRequest['toApproverUserId'] = this.selectedToApprover['userid'];\r\n this.delegationRequest['currentUserId'] = Number(this.userId);\r\n this.delegationRequest['toDate'] = moment(this.delegationRequest['toDate']).format(\"MM/DD/yyyy\");\r\n this.delegationRequest['fromDate'] = moment(this.delegationRequest['fromDate']).format(\"MM/DD/yyyy\");\r\n this._service.submitEMCupDelegationRequest(this.delegationRequest).subscribe(response => {\r\n if (!response['isError']) {\r\n this.spinner.hide();\r\n this.displayDelgationPopup = false;\r\n this._service.displayToastr(response);\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n showCommentsDialog(commentsType) {\r\n this.editComments = false;\r\n this.displayComments = true;\r\n this.commentsList = [];\r\n this.internalCommentsList = [];\r\n this.externalCommentsList = [];\r\n this.newComments = '';\r\n if (this.formData['comments']) {\r\n this.commentsList = this.formData['comments'].split(\"||\");\r\n if (this.commentsList[this.commentsList.length - 1] == '') {\r\n this.commentsList.pop();\r\n }\r\n this.internalCommentsList = this.formData['comments'].split(\"||\");\r\n if (this.internalCommentsList[this.internalCommentsList.length - 1] == '') {\r\n this.internalCommentsList.pop();\r\n }\r\n }\r\n if (this.formData['internal_comments']) {\r\n this.internalCommentsList = this.formData['internal_comments'].split(\"||\");\r\n if (this.internalCommentsList[this.internalCommentsList.length - 1] == '') {\r\n this.internalCommentsList.pop();\r\n }\r\n }\r\n if (this.formData['external_comments']) {\r\n this.externalCommentsList = this.formData['external_comments'].split(\"||\");\r\n if (this.externalCommentsList[this.externalCommentsList.length - 1] == '') {\r\n this.externalCommentsList.pop();\r\n }\r\n }\r\n switch (commentsType) {\r\n case 'internal': this.internalComments = true; this.headerComments = 'Internal Comments'; break;\r\n case 'external': this.internalComments = false; this.headerComments = 'External Comments'; break;\r\n default: break;\r\n }\r\n }\r\n\r\n showComments() {\r\n this.editComments = true;\r\n this.newComments = '';\r\n }\r\n\r\n cancel() {\r\n this.editComments = false;\r\n this.newComments = '';\r\n }\r\n\r\n close() {\r\n this.displayComments = false;\r\n }\r\n\r\n submitComments(commentsType) {\r\n this.spinner.show();\r\n let currentDate = moment().format('MM/DD/yyyy');\r\n let commentsData = '';\r\n this.newComments = `${currentDate}: ${this.newComments} - by ${sessionStorage.getItem('loginuser')} ||`;\r\n if (commentsType === 'internal' && (this.businessId === 1 || this.businessId === 2 || this.businessId === 4)) {\r\n const isEndWithSlash = this.formData['comments'].endsWith('||');\r\n const newC = isEndWithSlash ? this.newComments : ` || ${this.newComments}`\r\n commentsData = this.formData['comments'] != '' ? `${this.formData['comments']} ${newC}` : `${this.newComments}`;\r\n }\r\n if (commentsType === 'internal' && (this.businessId === 3)) {\r\n const isEndWithSlash = this.formData['internal_comments'].endsWith('||');\r\n const newC = isEndWithSlash ? this.newComments : ` || ${this.newComments}`\r\n commentsData = this.formData['internal_comments'] != '' ? `${this.formData['internal_comments']} ${newC}` : `${this.newComments}`;\r\n }\r\n if (commentsType === 'external') {\r\n const isEndWithSlash = this.formData['external_comments'].endsWith('||');\r\n const newC = isEndWithSlash ? this.newComments : ` || ${this.newComments}`\r\n commentsData = this.formData['external_comments'] != '' ? `${this.formData['external_comments']} ${newC}` : `${this.newComments}`;\r\n }\r\n let reqData = {\r\n \"request_id\": this.formData['request_id'],\r\n \"businessunit_id\": this.businessId,\r\n \"internal_comments\": commentsData,\r\n \"type_of_comment\": commentsType,\r\n \"updated_by\": Number(this.userId)\r\n }\r\n this.spinner.show();\r\n this._service.updateComments(reqData).subscribe(response => {\r\n this.spinner.hide();\r\n this.close();\r\n this._service.displayToastr(response);\r\n this.getCupRequestDetails();\r\n })\r\n }\r\n\r\n updateExpiryDate() {\r\n this.dispEMExpiryUpdateDialog = true;\r\n }\r\n\r\n cancelUpdateExpiry() {\r\n this.dispEMExpiryUpdateDialog = false;\r\n }\r\n\r\n submitExpiryDate() {\r\n this.spinner.show();\r\n this._service.updateExpriyDate(this.formData['request_reference_number'], this.updatedExpiryDate, this.userId, this.businessId).subscribe(response => {\r\n this.spinner.hide();\r\n this.cancelUpdateExpiry();\r\n this._service.displayToastr(response);\r\n this.getCupRequestDetails();\r\n })\r\n }\r\n\r\n verifyCupRequest() { \r\n this.router.navigate(['cups-request'], { state: { data: { cols: this.labelData, rowData: this.formData, type: 'edit', gridData: this.formData } } });\r\n }\r\n\r\n editCupRequest() {\r\n this.workFlowResp.work_flow_status_id = 1;\r\n this.workFlowResp.cup_request_no = this.formData['request_reference_number'];\r\n this.workFlowResp.approvar_comments = this.reqForm['comments'] ? this.reqForm['comments'] : '';\r\n this.workFlowResp['businesunit_id'] = this.businessId;\r\n this.workFlowResp['request_id'] = this.formData['request_id'];\r\n this.workFlowResp['modified_by'] = Number(sessionStorage.getItem('userid'));\r\n this.router.navigate(['cups-request'], { state: { data: { cols: this.labelData, rowData: this.formData, type: 'edit', gridData: this.formData, saleSupportUserEdit: true, workFlowResp: this.workFlowResp } } });\r\n }\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.cust-form-label {\\r\\n font-size: 16px !important;\\r\\n margin-bottom: 0px !important;\\r\\n display: block;\\r\\n}\\r\\n.cancel-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 10px !important;\\r\\n}\\r\\n.submit-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 10px !important;\\r\\n}\\r\\nsmall {\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n.cust-form-group {\\r\\n justify-content: end;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n#cupsRequestForm .ui-dropdown {\\r\\n width: 100% !important;\\r\\n border: 1px solid black !important;\\r\\n}\\r\\n#currencyDiv .ui-dropdown {\\r\\n min-width: 4em !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9jdXBzLXJlcXVlc3QvY3Vwcy1yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSwwQkFBMEI7SUFDMUIsNkJBQTZCO0lBQzdCLGNBQWM7QUFDbEI7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCw4QkFBOEI7QUFDbEM7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCw4QkFBOEI7QUFDbEM7QUFDQTtJQUNJLDJCQUEyQjtBQUMvQjtBQUNBO0lBQ0ksb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7QUFDQTtJQUNJLHNCQUFzQjtJQUN0QixrQ0FBa0M7QUFDdEM7QUFDQTtJQUNJLHlCQUF5QjtBQUM3QiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvY3Vwcy1yZXF1ZXN0L2N1cHMtcmVxdWVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhlYWRlci1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbi5jdXN0LWZvcm0tbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5jYW5jZWwtYnRuIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcclxufVxyXG4uc3VibWl0LWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgbWFyZ2luOjEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuc21hbGwge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xyXG59XHJcbi5jdXN0LWZvcm0tZ3JvdXAge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxufVxyXG4jY3Vwc1JlcXVlc3RGb3JtIC51aS1kcm9wZG93biB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2sgIWltcG9ydGFudDtcclxufVxyXG4jY3VycmVuY3lEaXYgLnVpLWRyb3Bkb3duIHtcclxuICAgIG1pbi13aWR0aDogNGVtICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CupsService } from 'src/services/cups.service';\r\nimport * as moment from 'moment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-cups-request',\r\n templateUrl: './cups-request.component.html',\r\n styleUrls: ['./cups-request.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CupsRequestComponent implements OnInit {\r\n formData = {};\r\n // = {\r\n // //\"submissionDate\": \"\",\r\n // //\"effectiveDate\": \"\" ,\r\n // //\"expirationDate\": \"\",\r\n // \"distributorName\": \"\",\r\n // \"distributorCity\": \"\",\r\n // \"productName\": \"\",\r\n // \"article\": \"\",\r\n // \"estimatedAnnualVolume\": \"\",\r\n // \"estimatedAnnualVolume_uom\": \"\",\r\n // \"bulk_pkg_type\": \"\",\r\n // \"cup_intostock_3rdparty\": \"\" ,\r\n // \"freight_terms_distributor\": \"\",\r\n // \"end_user_name\": \"\",\r\n // \"city\": \"\",\r\n // \"state\": \"\",\r\n // \"zip\": \"\",\r\n // \"distributor_price_from_basf\": \"\",\r\n // \"support_price_to_end_customer\": \"\",\r\n // \"discount_percent\": \"\" ,\r\n // \"freight_allowance\": \"\" ,\r\n // \"other_allowances\": \"\" ,\r\n // \"net_support_price\": \"\" ,\r\n // \"credit_back_amount\": \"\" ,\r\n // \"mileageInbound\": \"\",\r\n // \"mileageOutbound\": \"\",\r\n // \"distributor\": \"\",\r\n // \"competitor\": \"\",\r\n // \"competitive_material\": \"\",\r\n // \"competitive_application\": \"\",\r\n // \"competitive_price\": \"\",\r\n // \"industry_or_market\": \"\",\r\n // \"comments\": \"\",\r\n // \"product_id\":\"\",\r\n // \"reference_id\":\"\",\r\n // \"request_id\":0\r\n // };\r\n requestAPI = {\r\n request_id: 0,\r\n submission_date: '2021-11-22T01:45:14.661Z',\r\n effective_date: '2021-11-22T01:45:14.661Z',\r\n expiration_date: '2021-11-22T01:45:14.661Z',\r\n distributor_id: 0,\r\n product_id: 0,\r\n article_number: '',\r\n estimated_annual_volume: 0,\r\n estimated_annual_volume_UOM_id: 0,\r\n bulk_package_type: '',\r\n cups_intostock_id: 0,\r\n frieght_terms_to_distributor_id: 0,\r\n customer_id: 0,\r\n customer_state: '',\r\n customer_city: '',\r\n distributor_price_from_basf: 0,\r\n support_price_to_end_customer: 0,\r\n prior_support_price: 0,\r\n delta_price: 0,\r\n discount_percentage: 0,\r\n frieght_allowance: 0,\r\n other_allowance: 0,\r\n net_support_price: 0,\r\n credit_back_amount: 0,\r\n mileage_inbound: '',\r\n mileage_outbound: '',\r\n distributor: '',\r\n competitor: 0,\r\n competitive_material: '',\r\n competitive_application: '',\r\n competitive_price: 0,\r\n status_id: 0,\r\n industry_market_id: 0,\r\n comments: '',\r\n created_by: '',\r\n discount_percent_id: 0,\r\n ship_to: 0,\r\n businessunit_id: 0,\r\n external_comments: '',\r\n freight_terms_to_end_customer_id: 0,\r\n is_internal_user: false,\r\n distributor_sales_rep_id: 0,\r\n product_name: '',\r\n product_manager: 0,\r\n sbuId: 0,\r\n distributor_region_id: 0,\r\n saleSupportUserUpdate: false,\r\n isNotifyDistributor: false\r\n };\r\n newCustomer = {\r\n customer_id: 0,\r\n customer_name: '',\r\n address: '',\r\n city: '',\r\n state: '',\r\n zip_code: '',\r\n created_by: '',\r\n customer_region: '',\r\n businessunit_id: 0,\r\n distributor_sold_to_id: 0\r\n };\r\n newCompetitor = {\r\n request_master_id: 0,\r\n master_name: 'Competitors',\r\n //master_key: '',\r\n value: '',\r\n created_by: '',\r\n businessunit_id: 0\r\n };\r\n orgRowData: any;\r\n rowData: any;\r\n masterApiResp: any;\r\n distributorsData: any;\r\n distributorData: any;\r\n selectedDistributor: any;\r\n productsData: any;\r\n selectedProduct: any;\r\n annualUOMData: any;\r\n selectedAnnualUOM: any;\r\n priceUOMTypeDD: any;\r\n selectedUOMType: any;\r\n bulkPkgType: any;\r\n selectedBulkPkgType: any;\r\n cupsIntoStockDD: any;\r\n distributorRegionDD: any;\r\n selectedCupsIntoStock: any;\r\n selectedDistributorRegion: any;\r\n freightTermstoDistributorDD: any;\r\n freightTermstoEndCustomerDD: any;\r\n customersDD: any;\r\n selectedCustomer: any;\r\n selectedFreightTermstoDistributor: any;\r\n selectedFreightTermstoEndCustomer: any;\r\n industryOrMarketDD: any;\r\n selectedIndustryOrMarket: any;\r\n requestMasterApiResp: any;\r\n requestMasterCompetitorsApiResp: any;\r\n productDetails: any;\r\n EVID = 2;\r\n EMID = 1;\r\n EDID = 4;\r\n businessName: any;\r\n soldToDD: any;\r\n shipToDD: any;\r\n selectedSoldTo: any;\r\n selectedShipTo: any;\r\n displayShipTo = false;\r\n cupRequestDetails: any;\r\n apiResp: any;\r\n formMode = 'New';\r\n selectedBU: any;\r\n competitorsDD: any;\r\n selectedCompetitor: any;\r\n userId: any;\r\n type: any;\r\n customerInfoRequired = true;\r\n displayCustomerPopUp = false;\r\n displayCompetitorPopUp = false;\r\n regionData = [\r\n {\r\n region_id: 1,\r\n region_name: 'North America'\r\n }\r\n ];\r\n selectedRegion: any;\r\n isDistributionActionRequired: boolean = false;\r\n displayCreditAmount: boolean = false;\r\n disableFreightTermsToDistributor: boolean = false;\r\n userAdmin: boolean = false;\r\n displayDistributorSalesRep: boolean = false;\r\n distSalesRepDD: any;\r\n selectedDistSalesRep: any;\r\n displayNewProduct: boolean = false;\r\n sbuDD: any;\r\n packageTypeDD: any;\r\n pmUsersDD: any;\r\n selectedPackageType: any;\r\n selectedProductManager: any;\r\n selectedSBU: any;\r\n isUpdateCustomer: boolean = false;\r\n isUpdateCompetitor: boolean = false;\r\n cityDD: any;\r\n stateDD: any;\r\n selectedCity: any;\r\n selectedState: any;\r\n isDistributor: boolean = false;\r\n minEffectDate: any;\r\n maxEffectDate: any;\r\n minExpireDate: any;\r\n isSalesSupportDistributor: number = 0;\r\n isSaleSupportUserEdit = false;\r\n industryAccountManager: any;\r\n isNotifyDistributor:boolean = false;\r\n constructor(private router: Router, private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n switch (sessionStorage.getItem('BU')) {\r\n case 'EM': this.selectedBU = 1; break;\r\n case 'EV': this.selectedBU = 2; break;\r\n case 'PM': this.selectedBU = 3; break;\r\n case 'ED': this.selectedBU = 4; break;\r\n default: this.selectedBU = 1; break;\r\n }\r\n this.isSalesSupportDistributor = Number(sessionStorage.getItem('SalesSupportDistributor'));\r\n this.userId = sessionStorage.getItem('userid');\r\n this.userAdmin = (sessionStorage.getItem('IsAdmin') === \"1\" || sessionStorage.getItem('IsAdmin') === \"true\") ? true : false;\r\n this.isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n this.displayDistributorSalesRep = (sessionStorage.getItem('isSalesSupport') === \"1\" || sessionStorage.getItem('isSalesSupport') === \"true\") ? true : false;\r\n if (!history.state.data) {\r\n this.router.navigate(['/home']);\r\n } else {\r\n this.getData();\r\n }\r\n }\r\n getData() {\r\n this.businessName = history.state.data.businessName;\r\n this.formData['submissionDate'] = moment(new Date()).format('L');\r\n this.minEffectDate = this.getFormattedData(this.formData['submissionDate']);\r\n this.maxEffectDate = this.getFormattedEndData(this.formData['submissionDate']);\r\n this.type = history.state.data.type;\r\n if (history.state.data.type !== 'New') {\r\n this.orgRowData = history.state.data.rowData;\r\n if (this.orgRowData.businessunit_id === 1) {\r\n this.businessName = 'EM';\r\n }\r\n else if (this.orgRowData.businessunit_id === 4) {\r\n this.businessName = 'ED';\r\n }\r\n else { this.businessName = 'EV'; }\r\n this.getCUPRequestDetails(this.orgRowData.request_id, this.orgRowData.businessunit_id);\r\n } else {\r\n this.getSoldToData();\r\n }\r\n }\r\n\r\n getCUPRequestDetails(requestId, businessUnitId) {\r\n this.spinner.show();\r\n this._service.getCUPRequestDetails(requestId, businessUnitId).subscribe(response => {\r\n this.apiResp = response;\r\n this.formMode = 'Edit';\r\n this.cupRequestDetails = JSON.parse(JSON.stringify(this.apiResp.requestSubmissionData[0]));\r\n this.getSoldToData();\r\n this.generateFormData();\r\n if (this.cupRequestDetails['sbu_name'] == '') {\r\n this.displayNewProduct = true;\r\n this.formData['newProductName'] = this.cupRequestDetails['product_name'];\r\n }\r\n let saleSupportUserEdit = history.state.data.saleSupportUserEdit;\r\n if (saleSupportUserEdit) {\r\n this.isSaleSupportUserEdit = true;\r\n } else {\r\n this.isSaleSupportUserEdit = false;\r\n }\r\n this.spinner.hide();\r\n });\r\n }\r\n\r\n getSoldToData() {\r\n this.spinner.show();\r\n this._service.getSoldTo(this.userId, this.selectedBU, this.userAdmin).subscribe(response => {\r\n if (!response['isError']) {\r\n this.soldToDD = response['response'];\r\n this.soldToDD.forEach(sd => {\r\n sd.soldToFullName = `${sd.sold_to_sap_id} - ${sd.distributor_sold_to_name}`;\r\n });\r\n console.log(this.formMode);\r\n if (this.formMode === 'Edit') {\r\n this.industryAccountManager = history.state.data.rowData.account_manager;\r\n console.log(this.cupRequestDetails);\r\n this.selectedSoldTo = this.soldToDD.find(ss => ss.distributor_id === this.cupRequestDetails.distributor_id\r\n && ss.distributor_sold_to === this.cupRequestDetails.distributor_sold_to);\r\n console.log(this.selectedSoldTo);\r\n this.getDistributorDetails();\r\n }\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n getDistributorDetails() {\r\n this._service.getMasterData(this.userId, this.selectedSoldTo.distributor_sold_to_id, this.selectedBU, this.selectedSoldTo.distributor_id, this.userAdmin).subscribe(response => {\r\n this.spinner.show();\r\n this.masterApiResp = response;\r\n this.getDistributorData(this.masterApiResp);\r\n this.getDistributorShipToData(this.masterApiResp);\r\n this.getCustomersData(this.masterApiResp);\r\n this.getRequestMasterData(this.masterApiResp);\r\n this.getCompetitorsData(this.masterApiResp);\r\n this.getProductsData(this.masterApiResp);\r\n this.getDistributorUsers(this.masterApiResp);\r\n console.log(this.selectedIndustryOrMarket);\r\n if (this.formMode !== 'Edit' || !this.selectedIndustryOrMarket)\r\n this.industryAccountManager = '';\r\n this.spinner.hide();\r\n console.log(this.selectedSoldTo);\r\n });\r\n }\r\n\r\n getDistributorUsers(masterJson) {\r\n this.distSalesRepDD = masterJson.distributorUsers;\r\n }\r\n\r\n getDistributorData(masterJson) {\r\n this.distributorData = masterJson.requestDistributorDetails;\r\n if (this.distributorData.length === 1) {\r\n this.selectedDistributor = this.distributorData[0];\r\n this.formData['distributorCity'] = this.selectedDistributor.distributor_city;\r\n this.formData['distributorName'] = this.selectedDistributor.distributor_name;\r\n }\r\n if (this.formMode === 'Edit') {\r\n if (this.selectedDistributor) {\r\n this.formData['distributorCity'] = this.selectedDistributor.distributor_city;\r\n this.formData['distributorName'] = this.selectedDistributor.distributor_name;\r\n }\r\n }\r\n }\r\n\r\n getProductsData(masterJson) {\r\n this.productsData = masterJson.productsData;\r\n let otherProduct = {\r\n product_id: 0,\r\n product_name: 'Others'\r\n };\r\n if (this.selectedBU === 1 || this.selectedBU === 4) {\r\n this.productsData = JSON.parse(JSON.stringify([...this.productsData, otherProduct]));\r\n this.productsData.sort(function (a, b) {\r\n if (a.product_name.toLowerCase() < b.product_name.toLowerCase())\r\n return -1;\r\n if (a.product_name.toLowerCase() > b.product_name.toLowerCase())\r\n return 1;\r\n return 0;\r\n });\r\n }\r\n if (this.formMode === 'Edit') {\r\n this.selectedProduct = this.productsData.find(p => p.product_id === this.cupRequestDetails.product_id);\r\n if (this.selectedProduct) {\r\n this.getProductDetails();\r\n } else {\r\n if (this.cupRequestDetails['sbu_name'] === '') {\r\n this.selectedProduct = this.productsData.find(pd => pd.product_id === 0);\r\n this.selectedProduct['product_id'] = this.cupRequestDetails['product_id'];\r\n this.getProductDetails();\r\n }\r\n }\r\n }\r\n }\r\n\r\n getCustomersData(masterJson) {\r\n this.customersDD = this.getUniqueListBy(masterJson.customerData, 'customer_name');\r\n const otherCustomer = {\r\n address: '',\r\n city: '',\r\n customer_id: 0,\r\n customer_name: 'Other',\r\n customer_region: '',\r\n s1_code: null,\r\n state: 'MO',\r\n zip_code: '0',\r\n customer_address_id: 0\r\n };\r\n this.customersDD.push(otherCustomer);\r\n this.customersDD.sort(function (a, b) {\r\n if (a.customer_name.toLowerCase() < b.customer_name.toLowerCase())\r\n return -1;\r\n if (a.customer_name.toLowerCase() > b.customer_name.toLowerCase())\r\n return 1;\r\n return 0;\r\n });\r\n if (this.formMode === 'Edit') {\r\n this.selectedCustomer = this.masterApiResp.customerData.find(c => c.customer_id === this.cupRequestDetails.customer_id);\r\n if (this.selectedCustomer) {\r\n this.constructStateDropDown();\r\n this.selectedState = this.stateDD.find(sd => sd.state === this.selectedCustomer.state);\r\n this.constructCityDropDown();\r\n if (this.cityDD) {\r\n this.selectedCity = this.cityDD.find(cd => cd.city === this.selectedCustomer.city);\r\n this.formData['zip'] = this.selectedCity.zip_code;\r\n }\r\n }\r\n this.selectedCustomer = this.customersDD.find(cd => cd.customer_name === this.cupRequestDetails.customer_name);\r\n }\r\n }\r\n getCompetitorsData(masterJson) {\r\n this.requestMasterCompetitorsApiResp = masterJson.requestMaster;\r\n this.competitorsDD = this.requestMasterCompetitorsApiResp.filter(cd => cd.master_name === 'Competitors');\r\n const otherCustomer = {\r\n request_master_id: 0,\r\n master_name: '',\r\n mater_key: '0',\r\n value: 'Other'\r\n };\r\n this.competitorsDD.push(otherCustomer);\r\n this.competitorsDD.sort(function (a, b) {\r\n if (a.value.toLowerCase() < b.value.toLowerCase())\r\n return -1;\r\n if (a.value.toLowerCase() > b.value.toLowerCase())\r\n return 1;\r\n return 0;\r\n });\r\n if (this.type === 'edit') {\r\n this.selectedCompetitor = this.competitorsDD.find(cd => cd.request_master_id === this.cupRequestDetails['competitor_id']);\r\n }\r\n }\r\n getUniqueListBy(arr, key) {\r\n return [...new Map(arr.map(item => [item[key], item])).values()]\r\n }\r\n\r\n onSelectCustomer() {\r\n if (this.selectedCustomer.customer_id === 0) {\r\n this.newCustomer.customer_name = '';\r\n this.newCustomer.address = '';\r\n this.newCustomer.city = '';\r\n this.newCustomer.state = '';\r\n this.newCustomer.zip_code = '';\r\n this.newCustomer.customer_region = undefined;\r\n this.selectedRegion = undefined;\r\n this.displayCustomerPopUp = true;\r\n } else {\r\n this.constructStateDropDown();\r\n this.constructCityDropDown();\r\n this.formData['zip'] = '';\r\n this.selectedState = undefined;\r\n this.selectedCity = undefined;\r\n }\r\n }\r\n onSelectCompetitor() {\r\n if (this.selectedCompetitor.request_master_id === 0) {\r\n this.displayCompetitorPopUp = true;\r\n }\r\n // else {\r\n // this.constructStateDropDown();\r\n // }\r\n }\r\n constructStateDropDown() {\r\n this.stateDD = this.masterApiResp.customerData.filter(cd => cd.customer_name === this.selectedCustomer.customer_name);\r\n this.stateDD = this.getUniqueListBy(this.stateDD, 'state');\r\n }\r\n\r\n constructCityDropDown() {\r\n if (this.selectedState && this.selectedState.state) {\r\n this.cityDD = this.masterApiResp.customerData.filter(sd => sd.customer_name === this.selectedCustomer.customer_name && sd.state === this.selectedState.state);\r\n }\r\n }\r\n\r\n addNewLocation() {\r\n this.newCustomer.customer_name = this.selectedCustomer.customer_name;\r\n this.isUpdateCustomer = true;\r\n this.displayCustomerPopUp = true;\r\n }\r\n\r\n getDistributorShipToData(masterJson) {\r\n this.shipToDD = masterJson.distributorShipToData;\r\n this.shipToDD.forEach(element => {\r\n if (!element.distributor_ship_to_Full_name || element.distributor_ship_to_Full_name.length < 1) {\r\n element.distributor_ship_to_Full_name = element.distributor_ship_to_name;\r\n }\r\n });\r\n }\r\n\r\n getProductDetails() {\r\n if (this.selectedProduct.product_id != 0 && this.type !== 'edit' && this.selectedProduct.product_name !== 'Others') {\r\n this.displayNewProduct = false;\r\n this.formData['newProductName'] = '';\r\n\r\n this.productDetails = this.productsData.filter(p => p.product_id === this.selectedProduct.product_id);\r\n if (this.productDetails[0].product_manager == 0 && this.selectedBU != 3) {\r\n this.toastr.error(\"Product Manager not available for this product, so Price Support cannot be created.Please contact BASF Sales Support\");\r\n }\r\n this.formData['article'] = this.productDetails[0].article_number;\r\n this.formData['bulk_pkg_type'] = this.productDetails[0].package_type;\r\n this.formData['sbuName'] = this.productDetails[0].sbu_name;\r\n if (this.businessName === 'ED') {\r\n this.selectedAnnualUOM = this.annualUOMData.find(uom => uom.value === this.productDetails[0].list_price_UOM);\r\n this.formData['estimatedAnnualVolumeUOM'] = this.selectedAnnualUOM.value;\r\n }\r\n this.getProductPricingDetails();\r\n } else {\r\n if (this.type !== 'edit') {\r\n this.displayNewProduct = true;\r\n }\r\n if (this.type === 'New') {\r\n this.formData['distributor_price_from_basf'] = 0;\r\n this.formData['article'] = '';\r\n this.formData['credit_back_amount'] = 0;\r\n this.formData['net_support_price'] = 0;\r\n }\r\n else if (this.type === 'clone') {\r\n this.formData['newProductName'] = this.cupRequestDetails['product_name'];\r\n this.formData['distributor_price_from_basf'] = this.cupRequestDetails['distributor_price_from_basf'];\r\n this.formData['article'] = this.cupRequestDetails['article_number'];\r\n this.formData['credit_back_amount'] = this.cupRequestDetails['credit_back_amount'];\r\n this.formData['net_support_price'] = this.cupRequestDetails['net_support_price'];\r\n this.formData['sbuName'] = this.cupRequestDetails['sbu_name'];\r\n this.calculatePrices();\r\n } else if (this.type === 'edit') {\r\n this.formData['newProductName'] = this.cupRequestDetails['product_name'];\r\n this.formData['sbuName'] = this.cupRequestDetails['sbu_name'];\r\n this.formData['distributor_price_from_basf'] = this.cupRequestDetails['distributor_price_from_basf'];\r\n this.formData['credit_back_amount'] = this.cupRequestDetails['credit_back_amount'];\r\n } else {\r\n this.formData['newProductName'] = this.cupRequestDetails['product_name'];\r\n }\r\n this.getProductConfig();\r\n }\r\n }\r\n\r\n onChangeSBU() {\r\n this.formData['sbuName'] = this.selectedSBU.value;\r\n this.requestAPI.sbuId = this.selectedSBU.request_master_id;\r\n }\r\n\r\n onSelectPackageType(_event) {\r\n this.formData['bulk_pkg_type'] = this.selectedPackageType.value;\r\n }\r\n\r\n getProductConfig() {\r\n this._service.getAdminConfigMaster().subscribe((res: any) => {\r\n if (!res['isError']) {\r\n this.apiResp = res;\r\n this.sbuDD = this.apiResp.buData.filter(bu => bu.businessunit_name === sessionStorage.getItem('BU'));\r\n this.packageTypeDD = this.apiResp.packageType.filter(bu => bu.businessunit_name === sessionStorage.getItem('BU'));\r\n if (this.userAdmin) {\r\n this.getBUUsers();\r\n }\r\n if (this.formMode === 'Edit') {\r\n this.selectedPackageType = this.packageTypeDD.find(pt => pt.value === this.cupRequestDetails['bulk_package_type']);\r\n this.onSelectPackageType('event');\r\n }\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n });\r\n }\r\n\r\n getBUUsers() {\r\n this._service.getBUUsers(this.selectedBU).subscribe((res) => {\r\n if (!res['isError']) {\r\n this.pmUsersDD = res['lstUsers']\r\n } else {\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n getProductPricingDetails() {\r\n if (this.selectedCupsIntoStock && this.selectedFreightTermstoDistributor && this.productDetails && this.formData['effectiveDate']) {\r\n this.spinner.show();\r\n if (this.selectedCupsIntoStock.value === '3rd Party' && !this.selectedShipTo) {\r\n this.spinner.hide();\r\n return false;\r\n }\r\n let ship_to_name = this.distributorData[0].sales_org_name;\r\n let shiptoId = this.selectedCupsIntoStock.value === '3rd Party' ? this.selectedShipTo.distributor_ship_to_id : 0;\r\n this._service.getProductPricingRecord(this.selectedBU, this.productDetails[0].article_number,\r\n this.selectedSoldTo.distributor_sold_to_id, shiptoId, this.selectedFreightTermstoDistributor.master_key,\r\n this.formData['effectiveDate'], ship_to_name, this.selectedCupsIntoStock.request_master_id).subscribe(response => {\r\n if (!response['isError']) {\r\n this.spinner.hide();\r\n this.apiResp = response;\r\n this.formData['distributor_price_from_basf'] = this.apiResp.response.list_Price;\r\n this.calculatePrices();\r\n }\r\n else {\r\n this.spinner.hide();\r\n this.formData['distributor_price_from_basf'] = '';\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n getRequestMasterData(masterJson) {\r\n this.spinner.show();\r\n this.requestMasterApiResp = masterJson.requestMaster;\r\n this.annualUOMData = this.requestMasterApiResp.filter(rm => rm.master_name === 'VolumeUOM');\r\n if (this.businessName === 'EV') {\r\n this.selectedAnnualUOM = this.annualUOMData.find(uom => uom.value === 'LB');\r\n this.formData['estimatedAnnualVolumeUOM'] = this.selectedAnnualUOM.value;\r\n }\r\n if (this.businessName === 'EM') {\r\n this.selectedAnnualUOM = this.annualUOMData.find(uom => uom.value === 'KG');\r\n this.formData['estimatedAnnualVolumeUOM'] = this.selectedAnnualUOM.value;\r\n }\r\n this.industryOrMarketDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'Industry');\r\n this.bulkPkgType = this.requestMasterApiResp.filter(rm => rm.master_name === 'BulkPkgType');\r\n this.cupsIntoStockDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'CupintoStock');\r\n this.distributorRegionDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'DistributorRegion');\r\n this.freightTermstoDistributorDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'FreightTermstoDistributor');\r\n this.freightTermstoEndCustomerDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'FreightTermsToEndCustomer');\r\n this.priceUOMTypeDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'PricingUOM');\r\n\r\n if (this.formMode === 'Edit') {\r\n this.selectedFreightTermstoDistributor = this.freightTermstoDistributorDD.find(f => f.master_key === this.cupRequestDetails.frieght_terms_to_distributor_id);\r\n this.selectedFreightTermstoEndCustomer = this.freightTermstoEndCustomerDD.find(f => f.request_master_id === this.cupRequestDetails.freight_terms_to_end_customer_id);\r\n this.selectedShipTo = this.shipToDD.find(ss => ss.distributor_ship_to_id === this.cupRequestDetails.ship_to);\r\n this.selectedCupsIntoStock = this.cupsIntoStockDD.find(c => c.request_master_id === this.cupRequestDetails.cups_intostock_id);\r\n\r\n if (this.type === 'edit') {\r\n if (this.businessName == 'ED') {\r\n this.selectedDistributorRegion = this.distributorRegionDD.find(im => im.request_master_id === this.cupRequestDetails['distributor_region_id']);\r\n }\r\n this.selectedIndustryOrMarket = this.industryOrMarketDD.find(im => im.request_master_id === this.cupRequestDetails['industry_market_id']);\r\n }\r\n this.onChangeCupsIntoStock();\r\n }\r\n this.spinner.hide();\r\n }\r\n\r\n getFormattedData(date) {\r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n\r\n getFormattedEndData(date) {\r\n return moment(date).add(730, 'days').format(\"yyyy-MM-DD\");\r\n }\r\n\r\n onChangeCupsIntoStock() {\r\n this.displayCreditAmount = true;\r\n this.customerInfoRequired = true;\r\n this.disableFreightTermsToDistributor = false;\r\n if (this.selectedCupsIntoStock.value === '3rd Party') {\r\n this.displayShipTo = true;\r\n this.displayCreditAmount = false;\r\n } else {\r\n this.displayShipTo = false;\r\n }\r\n if (this.selectedCupsIntoStock.value === 'IntoStock') {\r\n this.customerInfoRequired = false;\r\n this.displayCreditAmount = false;\r\n }\r\n if (this.selectedCupsIntoStock.value === 'CUP') {\r\n this.selectedFreightTermstoDistributor = this.freightTermstoDistributorDD.find(f => f.value === 'Collect');\r\n if (this.businessName === 'EV') {\r\n this.disableFreightTermsToDistributor = true;\r\n }\r\n }\r\n this.calculatePrices();\r\n this.getProductPricingDetails();\r\n }\r\n\r\n calculateEDPrice() {\r\n const dp = this.formData['distributor_price_from_basf'] ? Number(this.formData['distributor_price_from_basf']) : 0;\r\n const sp = this.formData['support_price_to_end_customer'] ? Number(this.formData['support_price_to_end_customer']) : 0;\r\n const psp = this.formData['prior_support_price'] ? Number(this.formData['prior_support_price']) : 0;\r\n if (psp && sp) {\r\n this.formData['delta_price'] = (psp - sp).toFixed(2);\r\n }\r\n if (dp && sp) {\r\n this.formData['discount_percent'] = (((dp - sp) / dp) * 100).toFixed(2);\r\n this.formData['credit_back_amount'] = (dp - sp).toFixed(2);\r\n }\r\n else if (dp <= 0 && this.formData['cups_intostock'] === '3rd Party' || this.formData['cups_intostock'] === 'IntoStock') {\r\n this.formData['discount_percent'] = 0;\r\n this.formData['credit_back_amount'] = 0;\r\n }\r\n }\r\n\r\n calculatePrices() {\r\n if (this.businessName == 'ED') {\r\n this.calculateEDPrice();\r\n } else {\r\n const sp = Number(this.formData['support_price_to_end_customer']);\r\n const discount = Number(this.formData['discount_percent']);\r\n const fa = this.formData['freight_allowance'] ? Number(this.formData['freight_allowance']) : 0;\r\n const oa = this.formData['other_allowances'] ? Number(this.formData['other_allowances']) : 0;\r\n const dp = this.formData['distributor_price_from_basf'] ? Number(this.formData['distributor_price_from_basf']) : 0;\r\n const nspev = this.formData['net_support_price'] ? Number(this.formData['net_support_price']) : 0;\r\n if (!this.displayNewProduct) {\r\n this.calculateForExistingProduct(sp, discount, fa, oa, dp, nspev);\r\n } else {\r\n this.calculateForNewProduct(sp, discount, fa, oa, dp);\r\n }\r\n }\r\n }\r\n\r\n calculateForNewProduct(sp, discount, fa, oa, dp) {\r\n if ((this.businessName === 'EM') && sp >= 0 && discount >= 0 && fa >= 0 && oa >= 0) {\r\n this.formData['net_support_price'] = (sp - (sp * (discount) / 100) - fa - oa).toFixed(2).toString();\r\n if (Number(this.formData['net_support_price']) < 0) {\r\n this.toastr.error(\"Net Support Price cannot be Negative\");\r\n }\r\n }\r\n if ((this.businessName === 'ED') && sp >= 0 && discount >= 0 && fa >= 0 && oa >= 0) {\r\n ///this.formData['net_support_price'] = (sp - fa - oa).toFixed(2).toString();\r\n this.formData['net_support_price'] = (sp).toFixed(2).toString();\r\n if (Number(this.formData['net_support_price']) < 0) {\r\n this.toastr.error(\"Net Support Price cannot be Negative\");\r\n }\r\n }\r\n const nsp = Number(this.formData['net_support_price']);\r\n if ((this.businessName === 'EM') && sp >= 0 && discount >= 0 && fa >= 0 && oa >= 0 && dp >= 0) {\r\n if (nsp && dp && (this.selectedCupsIntoStock.value === '3rd Party' || this.selectedCupsIntoStock.value === 'IntoStock')) {\r\n this.formData['credit_back_amount'] = 0;\r\n } else if (nsp && dp && this.selectedCupsIntoStock.value === 'CUP') {\r\n this.formData['credit_back_amount'] = (dp - nsp).toFixed(2).toString();\r\n if (Number(this.formData['credit_back_amount']) < 0) {\r\n this.toastr.error(\"Credit Back Amount cannot be Negative\");\r\n }\r\n }\r\n }\r\n if ((this.businessName === 'ED') && sp >= 0 && discount >= 0 && fa >= 0 && oa >= 0 && dp >= 0) {\r\n if (nsp && dp && (this.selectedCupsIntoStock.value === '3rd Party' || this.selectedCupsIntoStock.value === 'IntoStock')) {\r\n this.formData['credit_back_amount'] = 0;\r\n } else if (nsp && dp && this.selectedCupsIntoStock.value === 'CUP') {\r\n this.formData['credit_back_amount'] = (dp - sp).toFixed(2).toString();\r\n if (Number(this.formData['credit_back_amount']) < 0) {\r\n this.toastr.error(\"Credit Back Amount cannot be Negative\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n calculateForExistingProduct(sp, discount, fa, oa, dp, nspev) {\r\n if (this.businessName === 'EM') {\r\n if (sp >= 0 && discount >= 0 && fa >= 0 && oa >= 0 && dp >= 0) {\r\n this.formData['net_support_price'] = (sp - (sp * (discount) / 100) - fa - oa).toFixed(2).toString();\r\n if (Number(this.formData['net_support_price']) < 0) {\r\n this.toastr.error(\"Net Support Price cannot be Negative\");\r\n }\r\n }\r\n const nsp = Number(this.formData['net_support_price']);\r\n if (nsp && dp && (this.selectedCupsIntoStock.value === '3rd Party' || this.selectedCupsIntoStock.value === 'IntoStock')) {\r\n this.formData['credit_back_amount'] = 0;\r\n } else if (nsp && dp && this.selectedCupsIntoStock.value === 'CUP') {\r\n this.formData['credit_back_amount'] = (dp - nsp).toFixed(2).toString();\r\n if (Number(this.formData['credit_back_amount']) < 0) {\r\n this.toastr.error(\"Credit Back Amount cannot be Negative\");\r\n }\r\n }\r\n }\r\n if (this.businessName === 'ED') {\r\n if (sp >= 0 && discount >= 0 && fa >= 0 && oa >= 0 && dp >= 0) {\r\n ///this.formData['net_support_price'] = (sp - fa - oa).toFixed(2).toString();\r\n this.formData['net_support_price'] = (sp).toFixed(2).toString();\r\n if (Number(this.formData['net_support_price']) < 0) {\r\n this.toastr.error(\"Net Support Price cannot be Negative\");\r\n }\r\n }\r\n const nsped = Number(this.formData['net_support_price']);\r\n if (nsped && dp && (this.selectedCupsIntoStock.value === '3rd Party' || this.selectedCupsIntoStock.value === 'IntoStock')) {\r\n this.formData['credit_back_amount'] = 0;\r\n } else if (nsped && dp && this.selectedCupsIntoStock.value === 'CUP') {\r\n this.formData['credit_back_amount'] = (dp - sp).toFixed(2).toString();\r\n if (Number(this.formData['credit_back_amount']) < 0) {\r\n this.toastr.error(\"Credit Back Amount cannot be Negative\");\r\n }\r\n }\r\n }\r\n if (this.businessName === 'EV') {\r\n if (sp >= 0 && discount >= 0 && fa >= 0 && oa >= 0 && dp >= 0) {\r\n ///this.formData['net_support_price'] = (sp - fa - oa).toFixed(2).toString();\r\n this.formData['net_support_price'] = (sp).toFixed(2).toString();\r\n if (nspev < 0) {\r\n this.toastr.error(\"Net Support Price cannot be Negative\");\r\n }\r\n }\r\n\r\n if (nspev && dp && (this.selectedCupsIntoStock.value === '3rd Party' || this.selectedCupsIntoStock.value === 'IntoStock')) {\r\n this.formData['credit_back_amount'] = 0;\r\n } else if (nspev && dp && this.selectedCupsIntoStock.value === 'CUP') {\r\n this.formData['credit_back_amount'] = (dp - nspev).toFixed(2).toString();\r\n if (Number(this.formData['credit_back_amount']) < 0) {\r\n this.toastr.error(\"Credit Back Amount cannot be Negative\");\r\n }\r\n }\r\n }\r\n }\r\n\r\n generateFormData() {\r\n this.spinner.show();\r\n this.formData['reference_id'] = this.type === 'edit' ? this.orgRowData['request_reference_number'] : \"\";\r\n this.requestAPI.request_id = this.type === 'edit' ? this.orgRowData['request_id'] : 0;\r\n this.formData['submissionDate'] = this.type === 'edit' ? moment(this.cupRequestDetails['submission_date']).format('MM/DD/yyyy') : moment(new Date()).format('L');\r\n this.formData['effectiveDate'] = this.type === 'edit' ? moment(this.cupRequestDetails['effective_date']).format('yyyy-MM-DD') : \"\";\r\n this.formData['expirationDate'] = this.type === 'edit' ? moment(this.cupRequestDetails['expiration_date']).format('yyyy-MM-DD') : \"\";\r\n this.formData['support_price_to_end_customer'] = this.cupRequestDetails['support_price_to_end_customer'];\r\n this.formData['prior_support_price'] = this.cupRequestDetails['prior_support_price'];\r\n this.formData['mileageInbound'] = this.cupRequestDetails['mileage_inbound'];\r\n this.formData['mileageOutbound'] = this.cupRequestDetails['mileage_outbound'];\r\n this.formData['discount_percent'] = this.cupRequestDetails['discount_percent'].replace('%', '');\r\n this.formData['freight_allowance'] = this.cupRequestDetails['frieght_allowance'];\r\n this.formData['other_allowances'] = this.cupRequestDetails['other_allowance'];\r\n this.formData['net_support_price'] = this.cupRequestDetails['net_support_price'];\r\n this.formData['credit_back_amount'] = this.cupRequestDetails['credit_back_amount'];\r\n this.formData['comments'] = this.type === 'edit' ? this.cupRequestDetails['comments'] : '';\r\n this.formData['externalComments'] = this.type === 'edit' ? this.cupRequestDetails['external_comments'] : '';\r\n this.formData['status_id'] = this.cupRequestDetails['status_id'];\r\n this.formData['article'] = this.cupRequestDetails['article_number'];\r\n if (this.formData['status_id'] === 11) {\r\n this.isDistributionActionRequired = true;\r\n }\r\n if (this.type === 'edit') {\r\n this.formData['competitive_material'] = this.cupRequestDetails['competitive_material'];\r\n this.formData['competitive_price'] = this.cupRequestDetails['competitive_price'];\r\n this.formData['competitive_application'] = this.cupRequestDetails['competitive_application'];\r\n this.formData['distributor'] = this.cupRequestDetails['distributor'];\r\n if (this.cupRequestDetails['external_comments'] != '') {\r\n this.formData['externalComments'] = this.cupRequestDetails['external_comments'].split(':')[1].split('-')[0].trim();\r\n } else {\r\n this.formData['externalComments'] = this.cupRequestDetails['external_comments'];\r\n }\r\n this.formData['estimatedAnnualVolume'] = this.cupRequestDetails['estimated_annual_volume'];\r\n this.formData['industry_market_id'] = this.cupRequestDetails['industry_market_id'];\r\n }\r\n this.spinner.hide();\r\n }\r\n\r\n bindCustomerDetails() {\r\n if (this.selectedCustomer != undefined) {\r\n let customer = this.masterApiResp.customerData.find(cd => cd.customer_name === this.selectedCustomer.customer_name);\r\n this.requestAPI.customer_id = customer ? customer.customer_id : 0;\r\n this.requestAPI.customer_state = (customer && this.selectedState) ? this.selectedState.state : '';\r\n this.requestAPI.customer_city = (customer && this.selectedCity) ? this.selectedCity.city : '';\r\n\r\n } else {\r\n this.requestAPI.customer_id = 0;\r\n this.requestAPI.customer_city = '';\r\n this.requestAPI.customer_state = ''\r\n }\r\n }\r\n\r\n submitRequest() {\r\n this.spinner.show();\r\n if (this.checkValidations()) {\r\n if (this.businessName === 'EM') {\r\n this.generateEMRequest();\r\n }\r\n else if (this.businessName === 'ED') {\r\n this.generateEDRequest();\r\n }\r\n else {\r\n this.generateEVRequest();\r\n }\r\n if (this.productDetails && this.productDetails[0].product_manager == 0 && this.selectedBU != 3) {\r\n this.toastr.error(\"Product Manager not available for this product, so Price Support cannot be created.Please contact BASF Sales Support\");\r\n return;\r\n }\r\n this.requestAPI['submission_date'] = moment(this.formData['submissionDate']).toDate().toDateString();\r\n this.requestAPI['effective_date'] = moment(this.formData['effectiveDate']).toDate().toDateString();\r\n this.requestAPI['expiration_date'] = moment(this.formData['expirationDate']).toDate().toDateString();\r\n this.requestAPI.distributor_id = this.selectedDistributor.distributor_id;\r\n this.requestAPI.product_id = this.selectedProduct.product_id;\r\n this.requestAPI.article_number = this.formData['article'];\r\n if (this.type == 'edit') {\r\n if (this.formData['estimatedAnnualVolume'].toString().indexOf(' ') >= 0) {\r\n this.formData['estimatedAnnualVolume'] = this.formData['estimatedAnnualVolume'].split(' ')[0].replace(',', '');\r\n }\r\n }\r\n this.requestAPI.estimated_annual_volume = Number(this.formData['estimatedAnnualVolume']);\r\n this.requestAPI.estimated_annual_volume_UOM_id = this.selectedAnnualUOM.request_master_id;\r\n this.requestAPI.bulk_package_type = this.formData['bulk_pkg_type'];\r\n this.requestAPI.cups_intostock_id = this.selectedCupsIntoStock.request_master_id;\r\n this.requestAPI.frieght_terms_to_distributor_id = this.selectedFreightTermstoDistributor.master_key;\r\n this.bindCustomerDetails();\r\n\r\n this.requestAPI.distributor_price_from_basf = this.formData['distributor_price_from_basf'] ? Number(this.formData['distributor_price_from_basf']) : 0;\r\n this.requestAPI.support_price_to_end_customer = Number(this.formData['support_price_to_end_customer']);\r\n this.requestAPI.net_support_price = this.formData['net_support_price'] ? Number(this.formData['net_support_price']) : 0;\r\n this.requestAPI.credit_back_amount = this.formData['credit_back_amount'] ? Number(this.formData['credit_back_amount']) : 0;\r\n this.requestAPI.distributor = this.formData['distributor'];\r\n this.requestAPI.competitor = this.selectedCompetitor.request_master_id;\r\n this.requestAPI.competitive_material = this.formData['competitive_material'];\r\n this.requestAPI.competitive_price = this.formData['competitive_price'] ? Number(this.formData['competitive_price']) : 0;\r\n this.requestAPI.industry_market_id = this.selectedIndustryOrMarket.request_master_id;\r\n this.requestAPI.status_id = 2;\r\n this.requestAPI.created_by = sessionStorage.getItem('userid');\r\n this.requestAPI.discount_percent_id = 4;\r\n this.requestAPI.ship_to = this.selectedCupsIntoStock.value === '3rd Party' ? this.selectedShipTo.distributor_ship_to_id : 0;\r\n this.requestAPI.distributor_sales_rep_id = this.selectedDistSalesRep ? this.selectedDistSalesRep.distributor_user_id : 0;\r\n this.constructComments();\r\n this.requestAPI.is_internal_user = !this.isDistributor;\r\n if (this.isSaleSupportUserEdit) {\r\n this.saleSupportUserApproval();\r\n this.requestAPI.saleSupportUserUpdate = true;\r\n this.requestAPI.created_by = history.state.data.rowData.created_by;\r\n this.requestAPI.is_internal_user = history.state.data.rowData.is_internal_user;\r\n this.requestAPI.isNotifyDistributor = this.isNotifyDistributor;\r\n }\r\n this.callSubmitAPI();\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n saleSupportUserApproval() {\r\n this.spinner.show();\r\n let workFlowResp = history.state.data.workFlowResp;\r\n this._service.updateWorkFLowStatus(workFlowResp).subscribe((response) => {\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n constructComments() {\r\n let currentDate = moment().format('MM/DD/yyyy');\r\n if (this.formData['comments'] != '') {\r\n this.requestAPI.comments = this.formData['comments'];\r\n } else {\r\n this.requestAPI.comments = '';\r\n }\r\n if (this.formData['externalComments'] != '') {\r\n this.requestAPI.external_comments = `${currentDate}: ${this.formData['externalComments']} - by ${sessionStorage.getItem('loginuser')} ||`;\r\n } else {\r\n this.requestAPI.external_comments = '';\r\n }\r\n }\r\n\r\n callSubmitAPI() {\r\n this._service.submitRequest(this.requestAPI).subscribe((_response: any) => {\r\n if (!_response.isError) {\r\n this.spinner.hide();\r\n this._service.displayToastr(_response);\r\n //this.toastr.success('Request submitted successfully', 'Success!')\r\n sessionStorage.setItem('paramsExist', 'false');\r\n this.router.navigate(['/home']);\r\n }\r\n else {\r\n this.spinner.hide();\r\n this._service.displayToastr(_response);\r\n }\r\n });\r\n }\r\n\r\n generateEMRequest() {\r\n this.requestAPI.discount_percentage = Number(this.formData['discount_percent']);\r\n this.requestAPI.frieght_allowance = this.formData['freight_allowance'] ? Number(this.formData['freight_allowance']) : 0;\r\n this.requestAPI.other_allowance = this.formData['other_allowances'] ? Number(this.formData['other_allowances']) : 0;\r\n this.requestAPI.mileage_inbound = this.formData['mileageInbound'];\r\n this.requestAPI.mileage_outbound = this.formData['mileageOutbound'];\r\n this.requestAPI.freight_terms_to_end_customer_id = this.selectedFreightTermstoEndCustomer.request_master_id;\r\n this.requestAPI.competitive_application = this.formData['competitive_application'];\r\n this.requestAPI.businessunit_id = this.EMID;\r\n if (this.displayNewProduct && !this.selectedDistSalesRep) {\r\n this.requestAPI.product_name = this.formData['newProductName'];\r\n this.requestAPI.product_manager = 0;\r\n }\r\n if (this.displayNewProduct && (this.type === 'edit' || this.type === 'New')) {\r\n this.requestAPI.product_name = this.formData['newProductName'];\r\n this.requestAPI.product_manager = this.selectedProductManager ? this.selectedProductManager.user_id : 0;\r\n this.requestAPI.article_number = this.formData['article'];\r\n this.requestAPI.sbuId = this.selectedSBU ? this.selectedSBU.request_master_id : 0;\r\n }\r\n }\r\n\r\n generateEVRequest() {\r\n this.requestAPI.discount_percentage = 0;\r\n this.requestAPI.frieght_allowance = 0;\r\n this.requestAPI.other_allowance = 0;\r\n this.requestAPI.freight_terms_to_end_customer_id = 0;\r\n this.requestAPI.mileage_inbound = \"\";\r\n this.requestAPI.mileage_outbound = \"\";\r\n this.requestAPI.businessunit_id = this.EVID;\r\n this.requestAPI.competitive_application = '';\r\n }\r\n\r\n generateEDRequest() {\r\n this.requestAPI.distributor_region_id = this.selectedDistributorRegion.request_master_id;\r\n this.requestAPI.discount_percentage = Number(this.formData['discount_percent']);\r\n this.requestAPI.frieght_allowance = this.formData['freight_allowance'] ? Number(this.formData['freight_allowance']) : 0;\r\n this.requestAPI.prior_support_price = this.formData['prior_support_price'] ? Number(this.formData['prior_support_price']) : 0;\r\n this.requestAPI.delta_price = this.formData['delta_price'] ? Number(this.formData['delta_price']) : 0;\r\n this.requestAPI.other_allowance = this.formData['other_allowances'] ? Number(this.formData['other_allowances']) : 0;\r\n this.requestAPI.mileage_inbound = this.formData['mileageInbound'];\r\n this.requestAPI.mileage_outbound = this.formData['mileageOutbound'];\r\n this.requestAPI.freight_terms_to_end_customer_id = 0;\r\n this.requestAPI.competitive_application = '';\r\n this.requestAPI.businessunit_id = this.EDID;\r\n if (this.displayNewProduct && !this.selectedDistSalesRep) {\r\n this.requestAPI.product_name = this.formData['newProductName'];\r\n this.requestAPI.product_manager = 0;\r\n }\r\n if (this.displayNewProduct && (this.type === 'edit' || this.type === 'New')) {\r\n this.requestAPI.product_name = this.formData['newProductName'];\r\n this.requestAPI.product_manager = this.selectedProductManager ? this.selectedProductManager.user_id : 0;\r\n this.requestAPI.article_number = this.formData['article'];\r\n this.requestAPI.sbuId = this.selectedSBU ? this.selectedSBU.request_master_id : 0;\r\n }\r\n }\r\n\r\n cancel() {\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n openCustomerPopUp() {\r\n this.displayCustomerPopUp = true;\r\n }\r\n\r\n cancelCustomerPopUp() {\r\n this.displayCustomerPopUp = false;\r\n this.isUpdateCustomer = false;\r\n\r\n }\r\n cancelCompetitorPopUp() {\r\n this.displayCompetitorPopUp = false;\r\n this.isUpdateCompetitor = false;\r\n\r\n }\r\n\r\n addCustomer() {\r\n this.spinner.show();\r\n this.newCustomer.created_by = sessionStorage.getItem('userid');\r\n this.newCustomer.businessunit_id = this.selectedBU;\r\n if (this.selectedRegion) {\r\n this.newCustomer.customer_region = this.selectedRegion.region_id;\r\n }\r\n this.newCustomer.distributor_sold_to_id = this.selectedSoldTo.distributor_sold_to_id;\r\n if (this.checkCustomerValidation()) {\r\n this._service.createCustomer(this.newCustomer).subscribe(_response => {\r\n if (!_response['isError']) {\r\n this._service.getMasterData(this.userId, this.selectedSoldTo.distributor_sold_to_id, this.selectedBU, this.selectedSoldTo.distributor_id, this.userAdmin).subscribe(response1 => {\r\n this.masterApiResp = response1;\r\n this.getCustomersData(response1);\r\n this.selectedCustomer = this.masterApiResp.customerData.find(c => c.customer_name === this.newCustomer.customer_name && c.state === this.newCustomer.state && c.city === this.newCustomer.city);\r\n this.constructStateDropDown();\r\n this.selectedState = this.stateDD.find(sd => sd.state === this.selectedCustomer.state);\r\n this.constructCityDropDown();\r\n this.selectedCity = this.cityDD.find(cd => cd.city === this.selectedCustomer.city);\r\n this.formData['zip'] = this.selectedCity.zip_code;\r\n this.displayCustomerPopUp = false;\r\n this.selectedCustomer = this.customersDD.find(cdd => cdd.customer_name === this.newCustomer.customer_name);\r\n this.newCustomer.customer_name = '';\r\n this.newCustomer.address = '';\r\n this.newCustomer.city = '';\r\n this.newCustomer.state = '';\r\n this.newCustomer.zip_code = '';\r\n this.spinner.hide();\r\n this.toastr.success(\"Customer Added and selected\", \"Success!\");\r\n });\r\n } else {\r\n this._service.displayToastr(_response);\r\n }\r\n })\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n addCompetitor() {\r\n this.spinner.show();\r\n this.newCompetitor.created_by = sessionStorage.getItem('userid');\r\n this.newCompetitor.businessunit_id = this.selectedBU;\r\n if (this.checkCompetitorValidation()) {\r\n this._service.createCompetitor(this.newCompetitor).subscribe(_response => {\r\n if (!_response['isError']) {\r\n this._service.getMasterData(this.userId, this.selectedSoldTo.distributor_sold_to_id, this.selectedBU, this.selectedSoldTo.distributor_id, this.userAdmin).subscribe(response1 => {\r\n this.masterApiResp = response1;\r\n this.getCompetitorsData(response1);\r\n this.selectedCompetitor = this.masterApiResp.requestMaster.find(c => c.value === this.newCompetitor.value);\r\n this.displayCompetitorPopUp = false;\r\n this.selectedCompetitor = this.competitorsDD.find(cdd => cdd.value === this.newCompetitor.value);\r\n this.newCompetitor.value = '';\r\n this.spinner.hide();\r\n this.toastr.success(\"Competitor Added and selected\", \"Success!\");\r\n });\r\n } else {\r\n this._service.displayToastr(_response);\r\n }\r\n })\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n checkCustomerValidation() {\r\n let validCustomerName = this.checkValidCustomerName();\r\n let validCustomerCity = this.checkValidCustomerCity();\r\n let validCustomerState = this.checkValidCustomerState();\r\n let validCustomerZipcode = this.checkValidCustomerZipcode();\r\n let validCustomerRegion = this.checkValidCustomerRegion();\r\n let validExistingCustomer = this.checkExistingCustomerLocation();\r\n return validCustomerName && validCustomerCity && validCustomerState && validCustomerZipcode && validCustomerRegion && validExistingCustomer;\r\n }\r\n\r\n checkCompetitorValidation() {\r\n return this.checkValidCompetitorValue();\r\n }\r\n\r\n checkExistingCustomerLocation() {\r\n if (this.isUpdateCustomer) {\r\n let fCustomer = this.masterApiResp.customerData.filter(cd => cd.customer_name === this.newCustomer.customer_name && cd.state === this.newCustomer.state && cd.city === this.newCustomer.city);\r\n if (fCustomer.length > 0) {\r\n this.toastr.error(\"Customer location already exists with combination of State and City\");\r\n return false\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n checkNewProductValidation() {\r\n if (!this.formData['newProductName']) {\r\n this.toastr.error(\"New Product Name Required\");\r\n return false;\r\n }\r\n if (!this.selectedPackageType) {\r\n this.toastr.error(\"Package Type Required\");\r\n return false;\r\n }\r\n if (!this.selectedSBU || this.selectedSBU.request_master_id == 0) {\r\n this.toastr.error(\"SBU required\");\r\n return false;\r\n }\r\n if (!this.selectedProductManager || this.selectedProductManager.user_id == 0) {\r\n this.toastr.error(\"Product Manager required\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n checkAdminProductValidation() {\r\n if (!this.selectedSBU || this.selectedSBU.request_master_id == 0) {\r\n this.toastr.error(\"SBU required\");\r\n return false;\r\n }\r\n if (!this.selectedProductManager || this.selectedProductManager.user_id == 0) {\r\n this.toastr.error(\"Product Manager required\");\r\n return false;\r\n }\r\n if (!this.formData['distributor_price_from_basf'] && this.formData['distributor_price_from_basf'] > 0 && this.type === 'edit') {\r\n this.toastr.error(\"Distributor Price required and should be greater than of Support Price to End Customer\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n checkValidCustomerName() {\r\n if (this.newCustomer.customer_name != \"\") {\r\n if (this.customersDD.filter(customer => customer.customer_name === this.newCustomer.customer_name).length && !this.isUpdateCustomer) {\r\n this.toastr.error(\"Customer Name already exists\", \"Error!\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n this.toastr.error(\"Customer Name required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCompetitorValue() {\r\n if (this.newCompetitor.value != \"\") {\r\n if (this.competitorsDD.filter(competitor => competitor.value === this.newCompetitor.value).length && !this.isUpdateCompetitor) {\r\n this.toastr.error(\"Customer Name already exists\", \"Error!\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n this.toastr.error(\"Customer Name required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerAddress() {\r\n if (this.newCustomer.address != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer Address required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerCity() {\r\n if (this.newCustomer.city != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer City required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerState() {\r\n if (this.newCustomer.state != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer State required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerZipcode() {\r\n if (this.newCustomer.zip_code != \"\" || this.businessName === 'ED') {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer Zipcode required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerRegion() {\r\n if (this.newCustomer.customer_region != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer Region required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidations() {\r\n if (!this.checkDropDownValidations()) {\r\n return false\r\n }\r\n if (!this.checkInputTextValidations()) {\r\n return false\r\n }\r\n if ((this.businessName !== 'EM' && this.businessName !== 'ED') && !this.formData['net_support_price']) {\r\n this.toastr.error(\"Net Support Price($) Required\");\r\n return false;\r\n }\r\n if ((this.businessName === 'EM' || this.businessName === 'ED') && !this.checkEMValidations()) {\r\n return false;\r\n }\r\n if ((this.businessName === 'EM' || this.businessName === 'ED') && this.displayNewProduct && !this.checkNewProductValidation()) {\r\n return false;\r\n }\r\n if ((this.businessName === 'EM' || this.businessName === 'ED') && this.displayNewProduct && (this.type === 'edit' || this.type === 'New') && this.formData['article'] === this.formData['reference_id'] && !this.checkAdminProductValidation()) {\r\n return false;\r\n }\r\n this.assignEmptyValues();\r\n return true;\r\n }\r\n\r\n checkInputTextValidations() {\r\n if (!this.formData['effectiveDate']) {\r\n this.toastr.error(\"Effective Date Required\");\r\n return false;\r\n }\r\n if (!this.formData['expirationDate']) {\r\n this.toastr.error(\"Expiration Date Required\");\r\n return false;\r\n }\r\n if (this.businessName == 'ED' && !this.selectedDistributorRegion && !this.selectedDistributorRegion.request_master_id) {\r\n this.toastr.error(\"Distributor region Required\");\r\n return false;\r\n }\r\n if (!this.formData['estimatedAnnualVolume']) {\r\n this.toastr.error(\"Est. Annual Volume value Required\");\r\n return false;\r\n }\r\n if (!this.formData['support_price_to_end_customer']) {\r\n this.toastr.error(this.businessName != 'ED' ? \"Support Price to End Customer Required\" : \"Support Price Required\");\r\n return false;\r\n }\r\n if (!this.formData['competitive_material']) {\r\n this.toastr.error(\"Competitive Material Required\");\r\n return false;\r\n }\r\n if (this.businessName != 'ED' && !this.formData['competitive_price']) {\r\n this.toastr.error(\"Competitive Price Required\");\r\n return false;\r\n }\r\n return this.checkValidPrices();\r\n }\r\n\r\n checkValidPrices() {\r\n if (Number(this.formData['support_price_to_end_customer']) < 0) {\r\n this.toastr.error(this.businessName != 'ED' ? \"Support Price to End Customer Required cannot be negative\" : \"Support Price Required cannot be negative\");\r\n return false;\r\n }\r\n if (this.businessName != 'ED' && Number(this.formData['competitive_price']) < 0) {\r\n this.toastr.error(\"Competitor Price Required cannot be negative\");\r\n return false;\r\n }\r\n if (Number(this.formData['net_support_price']) < 0) {\r\n this.toastr.error(\"Net Support Price cannot be Negative\");\r\n }\r\n if (Number(this.formData['credit_back_amount']) !== 0 && Number(this.formData['credit_back_amount']) < 0) {\r\n this.toastr.error(\"Credit Back Amount cannot be Negative\");\r\n }\r\n return true;\r\n }\r\n\r\n assignEmptyValues() {\r\n if (!this.formData['distributor']) {\r\n this.formData['distributor'] = '';\r\n }\r\n if (!this.formData['comments']) {\r\n this.formData['comments'] = '';\r\n }\r\n if (!this.formData['externalComments']) {\r\n this.formData['externalComments'] = '';\r\n }\r\n }\r\n\r\n checkDropDownValidations() {\r\n if (!this.selectedDistributor) {\r\n this.toastr.error(\"Sold To Required\");\r\n return false;\r\n }\r\n if (!this.selectedCupsIntoStock) {\r\n this.toastr.error(\"CUP / Into Stock / 3rd Party Required\");\r\n return false;\r\n }\r\n if (this.selectedCupsIntoStock.value === '3rd Party' && !this.selectedShipTo) {\r\n this.toastr.error(\"Ship To Required\");\r\n return false;\r\n }\r\n if (this.businessName === 'EV' && this.displayDistributorSalesRep && !this.selectedDistSalesRep && this.type !== 'edit') {\r\n this.toastr.error(\"Distributor Sales Rep Required\");\r\n return false;\r\n }\r\n if (!this.selectedProduct) {\r\n this.toastr.error(\"Product Name Required\");\r\n return false;\r\n }\r\n if (this.businessName != 'ED' && !this.selectedFreightTermstoDistributor) {\r\n this.toastr.error(\"Freight Terms to Distributor Required\");\r\n return false;\r\n }\r\n if (this.selectedCupsIntoStock.value !== 'IntoStock' && !this.selectedCustomer) {\r\n this.toastr.error(\"Customer Name Required\");\r\n return false;\r\n }\r\n if (this.selectedCustomer) {\r\n if (this.selectedCustomer['customer_id'] === 0) {\r\n this.toastr.error(\"Customer Details not provided while selected other\");\r\n return false;\r\n }\r\n }\r\n if (!this.selectedCompetitor) {\r\n this.toastr.error(\"Competitor Name Required\");\r\n return false;\r\n }\r\n if (!this.selectedIndustryOrMarket) {\r\n this.toastr.error(\"Industry or Market Required\");\r\n return false;\r\n }\r\n if (!this.selectedDistributorRegion && this.businessName == 'ED') {\r\n this.toastr.error(\"Distributor Region Required\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n\r\n checkEMValidations() {\r\n if (!this.formData['mileageInbound']) {\r\n this.formData['mileageInbound'] = '';\r\n }\r\n if (!this.formData['mileageOutbound']) {\r\n this.formData['mileageOutbound'] = '';\r\n }\r\n if (!this.formData['discount_percent'] && !this.displayNewProduct) {\r\n this.toastr.error(\"Discount % Required\");\r\n return false;\r\n } else if (!this.formData['discount_percent']) {\r\n this.formData['discount_percent'] = 0;\r\n }\r\n if (this.formData['freight_allowance'] === undefined) {\r\n this.formData['freight_allowance'] = 0.00;\r\n }\r\n if (this.formData['other_allowances'] === undefined) {\r\n this.formData['other_allowances'] = 0.00;\r\n }\r\n if (this.businessName != 'ED' && !this.selectedFreightTermstoEndCustomer) {\r\n this.toastr.error(\"Freight Terms to End Customer Required\");\r\n return false;\r\n }\r\n if (!this.formData['competitive_application']) {\r\n this.toastr.error(\"Competitive Application Required\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n populateExpiryDate(date) {\r\n this.minExpireDate = this.getFormattedData(this.formData['effectiveDate']);\r\n if (this.businessName == 'EM' || this.businessName == 'ED') {\r\n let datevar = moment(date).add(365, 'days').format('L');\r\n this.formData['expirationDate'] = moment(datevar).clone().endOf('month').format('yyyy-MM-DD');\r\n }\r\n else {\r\n let datevar = moment(date).add(365, 'days').format('L');\r\n this.formData['expirationDate'] = moment(datevar).format('yyyy-MM-DD');\r\n }\r\n }\r\n\r\n industryChange(industryObj) {\r\n let id = industryObj.value.request_master_id;\r\n this.industryAccountManager = this.masterApiResp.salesRepEmailData.filter(x => x.industry_id == id)[0].sales_rep_name;\r\n }\r\n\r\n isNotifyDistributorChange(eve) {\r\n this.isNotifyDistributor = eve;\r\n }\r\n\r\n}\r\n","export default \"#dynamicGrid .ui-table .ui-table-thead>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-table .ui-table-thead>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-table .ui-table-tbody>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .edit-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n right: 0px !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .checkbox-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n left: 0px !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-paginator {\\r\\n margin-top: 10px !important;\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n float: right !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-paginator .ui-paginator-pages .ui-paginator-page.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-multiselect .ui-multiselect-panel {\\r\\n left: -292px !important;\\r\\n right: 0px !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {\\r\\n color: black !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-chkbox .ui-chkbox-box.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-table table {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-table {\\r\\n max-height: 700px !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-table-scrollable-header, .ui-table-scrollable-footer {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-table-scrollable-header-box {\\r\\n margin-right: 60px !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 280px) !important;\\r\\n}\\r\\n\\r\\n#dynamicGrid .excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1000px) {\\r\\n #dynamicGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:140px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media screen and (min-width: 1052px) {\\r\\n #dynamicGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 320px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:110px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media screen and (min-width: 1407px) {\\r\\n #dynamicGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 300px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:80px !important;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9keW5hbWljLWdyaWQvZHluYW1pYy1ncmlkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQix1QkFBdUI7QUFDM0I7O0FBQ0E7SUFDSSxlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLDBDQUEwQztJQUMxQyx1QkFBdUI7SUFDdkIsOEJBQThCO0FBQ2xDOztBQUNBO0lBQ0ksd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixxQkFBcUI7QUFDekI7O0FBQ0E7SUFDSSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtBQUN4Qjs7QUFDQTtJQUNJLDJCQUEyQjtJQUMzQixrQ0FBa0M7SUFDbEMsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtBQUMzQjs7QUFDQTtJQUNJLG9DQUFvQztJQUNwQyx1QkFBdUI7QUFDM0I7O0FBQ0E7SUFDSSx1QkFBdUI7SUFDdkIscUJBQXFCO0FBQ3pCOztBQUNBO0lBQ0ksdUJBQXVCO0lBQ3ZCLGtDQUFrQztBQUN0Qzs7QUFDQTtJQUNJLGdDQUFnQztJQUNoQyxvQ0FBb0M7SUFDcEMseUJBQXlCO0FBQzdCOztBQUNBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUNBO0lBQ0ksNEJBQTRCO0FBQ2hDOztBQUNBO0lBQ0ksd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsYUFBYTtBQUNqQjs7QUFDQTtJQUNJLDZCQUE2QjtBQUNqQzs7QUFDQTtJQUNJLDBDQUEwQztBQUM5Qzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1Qsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0k7UUFDSSwwQ0FBMEM7SUFDOUM7SUFDQTtRQUNJLDJCQUEyQjtJQUMvQjtFQUNGOztBQUVBO0lBQ0U7UUFDSSwwQ0FBMEM7SUFDOUM7SUFDQTtRQUNJLDJCQUEyQjtJQUMvQjtFQUNGOztBQUNBO0lBQ0U7UUFDSSwwQ0FBMEM7SUFDOUM7SUFDQTtRQUNJLDBCQUEwQjtJQUM5QjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9keW5hbWljLWdyaWQvZHluYW1pYy1ncmlkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjZHluYW1pY0dyaWQgLnVpLXRhYmxlIC51aS10YWJsZS10aGVhZD50cj50aCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY0ZjRmO1xyXG4gICAgY29sb3I6d2hpdGU7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UxZjBmZjtcclxufVxyXG5cclxuI2R5bmFtaWNHcmlkIC51aS10YWJsZSAudWktdGFibGUtdGhlYWQ+dHI+dGg+ZGl2IHtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuI2R5bmFtaWNHcmlkIC51aS10YWJsZSAudWktdGFibGUtdGJvZHk+dHI+dGQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNGY0ZjRmICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcclxufVxyXG4jZHluYW1pY0dyaWQgLmVkaXQtY29sdW1uIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI2R5bmFtaWNHcmlkIC5jaGVja2JveC1jb2x1bW4ge1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbiNkeW5hbWljR3JpZCAudWktcGFnaW5hdG9yIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcbiNkeW5hbWljR3JpZCAudWktcGFnaW5hdG9yIC51aS1wYWdpbmF0b3ItcGFnZXMgLnVpLXBhZ2luYXRvci1wYWdlLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG4jZHluYW1pY0dyaWQgLnVpLW11bHRpc2VsZWN0IC51aS1tdWx0aXNlbGVjdC1wYW5lbCB7XHJcbiAgICBsZWZ0OiAtMjkycHggIWltcG9ydGFudDtcclxuICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG4jZHluYW1pY0dyaWQgLnVpLW11bHRpc2VsZWN0LXBhbmVsIC51aS1tdWx0aXNlbGVjdC1pdGVtcyAudWktbXVsdGlzZWxlY3QtaXRlbS51aS1zdGF0ZS1oaWdobGlnaHQge1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcbiNkeW5hbWljR3JpZCAudWktY2hrYm94IC51aS1jaGtib3gtYm94LnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICMwMDk2ZDYgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDYgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuI2R5bmFtaWNHcmlkIC51aS10YWJsZSB0YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcbiNkeW5hbWljR3JpZCAudWktdGFibGUge1xyXG4gICAgbWF4LWhlaWdodDogNzAwcHggIWltcG9ydGFudDtcclxufVxyXG4jZHluYW1pY0dyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLCAudWktdGFibGUtc2Nyb2xsYWJsZS1mb290ZXIge1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxufVxyXG4jZHluYW1pY0dyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLWJveCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcclxufVxyXG4jZHluYW1pY0dyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjgwcHgpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNkeW5hbWljR3JpZCAuZXhjZWxJY29uIHtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgcGFkZGluZzogNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB0b3A6IC03cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xyXG4gICAgI2R5bmFtaWNHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzNzBweCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jZiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDoxNDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MnB4KSB7XHJcbiAgICAjZHluYW1pY0dyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMyMHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjExMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE0MDdweCkge1xyXG4gICAgI2R5bmFtaWNHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMDBweCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jZiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDo4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn0iXX0= */\"","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CupsService } from 'src/services/cups.service';\r\nimport { FilterUtils } from 'primeng/api';\r\nimport * as moment from 'moment';\r\n@Component({\r\n selector: 'app-dynamic-grid',\r\n templateUrl: './dynamic-grid.component.html',\r\n styleUrls: ['./dynamic-grid.component.css'],\r\n encapsulation:ViewEncapsulation.None\r\n})\r\n\r\nexport class DynamicGridComponent implements OnInit {\r\n @Input() gridCols: any;\r\n @Input() gridData: any;\r\n @Input() checkboxShow: any;\r\n @Input() showEdit: any;\r\n @Input() showDelete: any;\r\n @Input() showView: any;\r\n @Input() showClone: any;\r\n @Input() showFilter: any;\r\n @Input() showActive: any;\r\n @Input() showEmail: any;\r\n @Input() showConEmail: any;\r\n @Input() showReview: any;\r\n @Input() dataKey: any;\r\n @Input() adminAction: any;\r\n @Input() rows: any;\r\n \r\n @Output() filterData = new EventEmitter();\r\n @Output() selectRow = new EventEmitter();\r\n @Output() sendSelectedRows = new EventEmitter();\r\n cupsRequestData: any;\r\n apiResp: any;\r\n defaultWidth: '100%';\r\n userId: any;\r\n userAdmin: boolean = false;\r\n filteredData: any;\r\n filteredFields = [];\r\n tempFilteredData: any;\r\n title = \"Cups Request\";\r\n selectedRows: any;\r\n accountManager: any;\r\n bu:any;\r\n filters = [];\r\n orgGridData: any;\r\n orgCols: any;\r\n isDistributor: boolean = false;\r\n \r\n constructor(private _cupsService: CupsService, private router: Router,private spinner: NgxSpinnerService) { console.log(this.gridCols);}\r\n\r\n ngOnInit() {\r\n if (this.rows === undefined || this.rows === null) {\r\n this.rows = 10;\r\n }\r\n this.orgGridData =JSON.parse(JSON.stringify(this.gridData));\r\n this.accountManager = sessionStorage.getItem('loginuseremail');\r\n this.bu = sessionStorage.getItem('BU');\r\n this.isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n FilterUtils['custom'] = (value, filter): boolean => {\r\n if (filter === undefined || filter === null || filter.trim() === '') {\r\n return true;\r\n }\r\n\r\n if (value === undefined || value === null) {\r\n return false;\r\n }\r\n\r\n return parseInt(filter) > value;\r\n }\r\n this.orgCols = this.sortSelectedColumns(this.gridCols);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if(changes.gridCols) {\r\n this.orgCols = this.sortSelectedColumns(changes.gridCols['currentValue']);\r\n }\r\n }\r\n\r\n sortSelectedColumns(columsnData) {\r\n return columsnData.sort((a, b) => {\r\n return a.serial_no - b.serial_no;\r\n })\r\n }\r\n\r\n reOrderColumns(event: any) {\r\n event.columns.forEach((col: any) => {\r\n col.serial_no = event.columns.findIndex(x => x.header_id == col.header_id) + 1;\r\n let colData = event.columns;\r\n let ColObject = { colData, type: 'ColReorder' };\r\n this.selectRow.emit(ColObject)\r\n });\r\n }\r\n\r\n sendFilterData(value, filter) {\r\n let filterObj = {\r\n value, filter\r\n };\r\n this.filterData.emit(filterObj);\r\n }\r\n\r\n onSelectRow(rowData: any, type ) {\r\n let rowObject = {rowData, type};\r\n this.selectRow.emit(rowObject);\r\n }\r\n\r\n onDeleteRow(rowData: any, type ) {\r\n let rowObject = {rowData, type};\r\n this.selectRow.emit(rowObject);\r\n }\r\n\r\n checkSelectedRow(_event) {\r\n this.sendSelectedRows.emit(this.selectedRows)\r\n }\r\n\r\n checkDateField(fieldName) {\r\n if(fieldName.includes('_date')) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n buildFilter(event, fieldName) {\r\n let filterObj = {\r\n fieldName: fieldName,\r\n value: event.target.value\r\n };\r\n let fFieldName = this.filters.find(f => f.fieldName === fieldName);\r\n if (!fFieldName) {\r\n if (filterObj.value != \"\") {\r\n this.filters.push(filterObj);\r\n }\r\n else {\r\n this.filters = this.filters.filter(f => f.fieldName === fieldName);\r\n }\r\n } else {\r\n if (filterObj.value != \"\") {\r\n this.filters.forEach(f1 => {\r\n if (f1.fieldName === fieldName) {\r\n f1.value = event.target.value;\r\n }\r\n })\r\n } else {\r\n this.filters = this.filters.filter(f => f.fieldName !== fieldName);\r\n }\r\n }\r\n this.sortGridData();\r\n }\r\n\r\n sortGridData() {\r\n let tempOrgGridData = JSON.parse(JSON.stringify(this.orgGridData));\r\n this.filters.forEach(filter => {\r\n tempOrgGridData = tempOrgGridData.filter(f => moment(f[filter.fieldName]).format('L') === moment(filter.value).format('L'));\r\n });\r\n this.gridData = JSON.parse(JSON.stringify(tempOrgGridData));\r\n }\r\n\r\n \r\n}\r\n","export default \".errorcls{\\r\\n text-align: center;margin-top: 100px;font-size: 24px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9lcnJvci9lcnJvci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCLENBQUMsaUJBQWlCLENBQUMsZUFBZTtBQUN4RCIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZXJyb3IvZXJyb3IuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lcnJvcmNsc3tcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjttYXJnaW4tdG9wOiAxMDBweDtmb250LXNpemU6IDI0cHg7XHJcbn0iXX0= */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-error',\r\n templateUrl: './error.component.html',\r\n styleUrls: ['./error.component.css']\r\n})\r\nexport class ErrorComponent {\r\n\r\n}\r\n","export default \".copyright {\\r\\n text-align: left;\\r\\n line-height: 50px;\\r\\n color: #fff;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLFdBQVc7QUFDZiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNvcHlyaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDUwcHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n currentYear: number=new Date().getFullYear();\r\n ngOnInit(): void {\r\n }\r\n}\r\n","export default \".header-bg {\\r\\n background-color: white;\\r\\n }\\r\\n ul >li {\\r\\n margin-right: 20px;\\r\\n }\\r\\n ul > li > a {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n }\\r\\n .nav-link {\\r\\n padding: 1rem 1rem;\\r\\n }\\r\\n .active {\\r\\n border-bottom: 4px solid #0096d6;\\r\\n color: #0096d6;\\r\\n }\\r\\n .navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show>.nav-link {\\r\\n color: #0096d6 !important;\\r\\n }\\r\\n .nav-img {\\r\\n padding: 0px;\\r\\n margin-right: 0px;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx1QkFBdUI7RUFDekI7RUFDQTtJQUNFLGtCQUFrQjtFQUNwQjtFQUVBO0lBQ0UsZUFBZTtJQUNmLGdCQUFnQjtFQUNsQjtFQUNBO0lBQ0Usa0JBQWtCO0VBQ3BCO0VBRUE7SUFDRSxnQ0FBZ0M7SUFDaEMsY0FBYztFQUNoQjtFQUNBO0lBQ0UseUJBQXlCO0VBQzNCO0VBQ0E7SUFDRSxZQUFZO0lBQ1osaUJBQWlCO0VBQ25CIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGVhZGVyLWJnIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIH1cclxuICB1bCA+bGkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gIH1cclxuICBcclxuICB1bCA+IGxpID4gYSB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gIH1cclxuICAubmF2LWxpbmsge1xyXG4gICAgcGFkZGluZzogMXJlbSAxcmVtO1xyXG4gIH1cclxuICBcclxuICAuYWN0aXZlIHtcclxuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjMDA5NmQ2O1xyXG4gICAgY29sb3I6ICMwMDk2ZDY7XHJcbiAgfVxyXG4gIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssIC5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rLmFjdGl2ZSwgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdywgLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmsge1xyXG4gICAgY29sb3I6ICMwMDk2ZDYgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLm5hdi1pbWcge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAwcHg7XHJcbiAgfSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n selectedBU: any;\r\n isExpanded: boolean;\r\n IsAdmin: boolean;\r\n isDistributorUser: boolean;\r\n logInUser: string;\r\n isSalesSupport: boolean;\r\n isSalesRepo: boolean;\r\n loginUserType = '0';\r\n distributors: any;\r\n userId: any;\r\n isInternalUserAsDistributor = false;\r\n constructor(private router: Router, private service: CupsService) {\r\n console.log(\"header Constructor Initiated\");\r\n this.service.getSalesSupport().subscribe(sales => {\r\n this.isSalesSupport = (sales == 'true' || sales) ? true : false;\r\n })\r\n this.service.getSalesRep().subscribe(salesrep => {\r\n this.isSalesRepo = (salesrep == 'true' || salesrep) ? true : false;\r\n })\r\n this.service.getBusinessUnit().subscribe(bu => {\r\n this.selectedBU = bu;\r\n })\r\n this.service.getUserValue().subscribe(id => {\r\n this.userId = parseInt(id);\r\n if ((this.selectedBU == 'EM' || this.selectedBU == 'ED') && (this.isSalesRepo || this.isSalesSupport)) {\r\n this.service.getSalesSupportDistributors(this.userId, this.isSalesSupport, this.isSalesRepo, this.selectedBU).subscribe(response => {\r\n this.distributors = response['response'];\r\n if (sessionStorage.getItem('SalesSupportDistributor') != '0') {\r\n this.loginUserType = this.distributors.filter(x => x.distributor_id == parseInt(sessionStorage.getItem('SalesSupportDistributor'), 0))[0].distributor_id.toString();\r\n }\r\n });\r\n }\r\n })\r\n }\r\n\r\n ngOnInit() {\r\n this.service.getSessionObject().subscribe(response => {\r\n this.isDistributorUser = response['isDistributor'];\r\n if (this.isDistributorUser) {\r\n this.IsAdmin = false;\r\n } else {\r\n this.IsAdmin = response['isAdmin'];\r\n }\r\n this.logInUser = response['loginUser'];\r\n if (!this.logInUser) {\r\n this.logInUser = sessionStorage.getItem('loginuser');\r\n }\r\n });\r\n if (this.IsAdmin === undefined) {\r\n this.IsAdmin = sessionStorage.getItem('IsAdmin') == 'true' ? true : false;\r\n this.service.sendAdminValue(this.IsAdmin);\r\n }\r\n }\r\n\r\n changeUser(value) {\r\n this.isInternalUserAsDistributor = value == 0 ? false : true;\r\n sessionStorage.setItem('SalesSupportDistributor', value);\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.accordion-img-icon {\\r\\n margin-right: 6px;\\r\\n margin-bottom: 2px;\\r\\n margin-top: 2px;\\r\\n margin-left: 2px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n#cupsRequestGrid .ui-table .ui-table-thead>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n#cupsRequestGrid .ui-table .ui-table-thead>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n#cupsRequestGrid .ui-table .ui-table-tbody>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n.pointer-cursor {\\r\\n cursor: pointer;\\r\\n}\\r\\n.add-btn {\\r\\n border-radius: 5px !important;\\r\\n background-color: #0096d6;\\r\\n margin-left: 10px;\\r\\n margin-top: 5px;\\r\\n margin-bottom: 5px;\\r\\n color: white;\\r\\n top: -14px;\\r\\n position: relative;\\r\\n}\\r\\n#cupsRequestGrid .edit-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n right: 0px !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-paginator {\\r\\n margin-top: 10px !important;\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n float: right !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-paginator .ui-paginator-pages .ui-paginator-page.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n color: white !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-multiselect .ui-multiselect-panel {\\r\\n left: -292px !important;\\r\\n right: 0px !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {\\r\\n color: black !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-chkbox .ui-chkbox-box.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-table table {\\r\\n width: 100% !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-table {\\r\\n max-height: 700px !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-table-scrollable-header, .ui-table-scrollable-footer {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n z-index: 9998;\\r\\n}\\r\\n#cupsRequestGrid .ui-table-scrollable-header-box {\\r\\n margin-right: 60px !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 280px) !important;\\r\\n}\\r\\n#cupsRequestGrid .excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n#delegationPopUp .ui-dropdown-items-wrapper {\\r\\n max-height: 110px !important;\\r\\n}\\r\\n.massChangeGrid .ui-table .ui-table-thead>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n.massChangeGrid .ui-table .ui-table-thead>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n.massChangeGrid .ui-table .ui-table-tbody>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n.massChangeGrid .edit-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n right: 0px !important;\\r\\n}\\r\\n.massChangeGrid .checkbox-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n left: 0px !important;\\r\\n}\\r\\n.massChangeGrid .ui-paginator {\\r\\n margin-top: 10px !important;\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n float: right !important;\\r\\n}\\r\\n.massChangeGrid .ui-paginator .ui-paginator-pages .ui-paginator-page.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n color: white !important;\\r\\n}\\r\\n.massChangeGrid .ui-multiselect .ui-multiselect-panel {\\r\\n left: -292px !important;\\r\\n right: 0px !important;\\r\\n}\\r\\n.massChangeGrid .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {\\r\\n color: black !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n.massChangeGrid .ui-chkbox .ui-chkbox-box.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n.massChangeGrid .ui-table table {\\r\\n width: 100% !important;\\r\\n table-layout: auto !important;\\r\\n}\\r\\n.massChangeGrid .ui-table {\\r\\n max-height: 700px !important;\\r\\n overflow-y: auto !important;\\r\\n}\\r\\n.massChangeGrid .ui-table-scrollable-header, .ui-table-scrollable-footer {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n z-index: 9999;\\r\\n}\\r\\n.massChangeGrid .ui-table-scrollable-header-box {\\r\\n margin-right: 60px !important;\\r\\n}\\r\\n.massChangeGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 280px) !important;\\r\\n}\\r\\n.massChangeGrid .excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n.massChangeGrid .ui-radiobutton-label {\\r\\n margin-right: 10px !important;\\r\\n}\\r\\n@media screen and (min-width: 1000px) {\\r\\n .massChangeGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:140px !important;\\r\\n }\\r\\n }\\r\\n@media screen and (min-width: 1052px) {\\r\\n .massChangeGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 320px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:110px !important;\\r\\n }\\r\\n }\\r\\n@media screen and (min-width: 1407px) {\\r\\n .massChangeGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 300px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:80px !important;\\r\\n }\\r\\n}\\r\\n@media screen and (min-width: 1000px) {\\r\\n #cupsRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:140px !important;\\r\\n }\\r\\n }\\r\\n@media screen and (min-width: 1052px) {\\r\\n #cupsRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 320px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:110px !important;\\r\\n }\\r\\n }\\r\\n@media screen and (min-width: 1407px) {\\r\\n #cupsRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 300px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:80px !important;\\r\\n }\\r\\n}\\r\\n#cupsRequestGrid .ui-tabview.ui-tabview-top .ui-tabview-nav li.ui-state-active, .ui-tabview.ui-tabview-bottom .ui-tabview-nav li.ui-state-active, .ui-tabview.ui-tabview-left .ui-tabview-nav li.ui-state-active, .ui-tabview.ui-tabview-right .ui-tabview-nav li.ui-state-active {\\r\\n border: 0px;\\r\\n background-color: transparent !important;\\r\\n border-bottom: 5px solid #0096d6;\\r\\n}\\r\\n#cupsRequestGrid .ui-tabview.ui-tabview-top .ui-tabview-nav li, .ui-tabview.ui-tabview-bottom .ui-tabview-nav li, .ui-tabview.ui-tabview-left .ui-tabview-nav li, .ui-tabview.ui-tabview-right .ui-tabview-nav li {\\r\\n border: 0px;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-tabview.ui-tabview-top .ui-tabview-nav li.ui-state-active a, .ui-tabview.ui-tabview-bottom .ui-tabview-nav li.ui-state-active a, .ui-tabview.ui-tabview-left .ui-tabview-nav li.ui-state-active a, .ui-tabview.ui-tabview-right .ui-tabview-nav li.ui-state-active a {\\r\\n color: #0096d6 !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-tabview.ui-tabview-top .ui-tabview-nav li a, .ui-tabview.ui-tabview-bottom .ui-tabview-nav li a, .ui-tabview.ui-tabview-left .ui-tabview-nav li a, .ui-tabview.ui-tabview-right .ui-tabview-nav li a {\\r\\n color: #696969 !important;\\r\\n}\\r\\n#cupsRequestGrid .ui-tabview .ui-tabview-panels {\\r\\n border: 0px !important;\\r\\n padding: 0.571em 0em !important\\r\\n}\\r\\n#cupsRequestGrid body .ui-tabview.ui-tabview-top .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-bottom .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-left .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-right .ui-tabview-nav li.ui-state-active {\\r\\n background-color: transparent !important;\\r\\n}\\r\\n@media screen and (min-width:320px) and (max-width:600px) {\\r\\n #cupsRequestGrid .ui-multiselect .ui-multiselect-panel {\\r\\n left: -150px !important;\\r\\n right: 0px !important;\\r\\n }\\r\\n}\\r\\n#uploadExcel .activ-btn {\\r\\n background-color: #0096d6;\\r\\n border-radius: 5px;\\r\\n color: white;\\r\\n margin-right: 25px;\\r\\n height: 40px !important;\\r\\n}\\r\\n#uploadExcel .ui-button-icon-only .ui-button-icon-left, .ui-button-text-icon-left .ui-button-icon-left, .ui-button-text-icon-right .ui-button-icon-right {\\r\\n display: none !important;\\r\\n}\\r\\n#uploadExcel .ui-button {\\r\\n height: 40px !important;\\r\\n background-color: #0096d6 !important;\\r\\n border-radius: 5px !important;\\r\\n color: white !important;\\r\\n width: 250px !important;\\r\\n}\\r\\n#uploadExcel .ui-button.ui-button-text-icon-left .ui-button-text {\\r\\n padding: 3% !important;\\r\\n font-size: 1rem !important;\\r\\n}\\r\\n#uploadExcel .ui-card {\\r\\n box-shadow: 2px 2px 6px 1px rgb(0 0 0 / 12%), 1px 1px 3px 2px rgb(0 0 0 / 20%), 0 1px 1px 0 rgb(0 0 0 / 14%), 0 2px 1px -1px rgb(0 0 0 / 12%) !important;\\r\\n}\\r\\n#uploadExcel .cust-header {\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n font-size: 16px;\\r\\n padding: 10px;\\r\\n text-align: center\\r\\n}\\r\\n#uploadExcel .form-frame2 {\\r\\n border: 1px dashed darkgray;\\r\\n height: 200px;\\r\\n}\\r\\n#uploadExcel .p-class {\\r\\n top: 40px;\\r\\n font-weight: 500;\\r\\n color: #0096d6;\\r\\n position: inherit;\\r\\n text-align: center;\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n}\\r\\n#uploadExcel .del-class {\\r\\n font-size: 16px;\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n cursor: pointer;\\r\\n color: #0096d6;\\r\\n }\\r\\n#uploadExcel .p2-class {\\r\\n text-align: left;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n }\\r\\n.backdrop {\\r\\n background-color:rgba(0,0,0,0.83);\\r\\n position:fixed;\\r\\n top:0;\\r\\n left:0;\\r\\n width:100%;\\r\\n height:100vh;\\r\\n z-index: 9999;\\r\\n}\\r\\n.s-modal {\\r\\n top: 80px !important;\\r\\n right: 35px;\\r\\n z-index: 9999;\\r\\n}\\r\\n.s-modal-title {\\r\\n font-weight: 700;\\r\\n}\\r\\n.s-modal-header {\\r\\n padding: 5px;\\r\\n border: none;\\r\\n}\\r\\n.s-modal-body {\\r\\n padding: 0px !important;\\r\\n max-height: 600px;\\r\\n}\\r\\n.s-modal-dialog {\\r\\n width: auto;\\r\\n}\\r\\n/* .s-modal {\\r\\n float: right;\\r\\n} */\\r\\n.s-modal-content {\\r\\n /* color: white; */\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n /* background-color: rgba(0,0,0,0.8) */\\r\\n}\\r\\n#rebates .ui-tabview.ui-tabview-top .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-bottom .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-left .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-right .ui-tabview-nav li.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n border: 1px solid #6faf6a !important;\\r\\n}\\r\\n.excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n.error-value {\\r\\n color: white !important;\\r\\n background-color: red !important;\\r\\n}\\r\\n.colreorder-msg {\\r\\n font-size: 14px;\\r\\n font-style: italic;\\r\\n color: orange;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9ob21lL2hvbWUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osV0FBVztBQUNmO0FBQ0E7SUFDSSx5QkFBeUI7SUFDekIsV0FBVztJQUNYLGVBQWU7SUFDZixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQix5QkFBeUI7QUFDN0I7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtBQUMzQjtBQUNBO0lBQ0ksZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QiwwQ0FBMEM7SUFDMUMsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtBQUNsQztBQUVBO0lBQ0ksZUFBZTtBQUNuQjtBQUVBO0lBQ0ksNkJBQTZCO0lBQzdCLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osVUFBVTtJQUNWLGtCQUFrQjtBQUN0QjtBQUVBO0lBQ0ksd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQixxQkFBcUI7QUFDekI7QUFDQTtJQUNJLDJCQUEyQjtJQUMzQixrQ0FBa0M7SUFDbEMsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtBQUMzQjtBQUNBO0lBQ0ksb0NBQW9DO0lBQ3BDLHVCQUF1QjtBQUMzQjtBQUNBO0lBQ0ksdUJBQXVCO0lBQ3ZCLHFCQUFxQjtBQUN6QjtBQUNBO0lBQ0ksdUJBQXVCO0lBQ3ZCLGtDQUFrQztBQUN0QztBQUNBO0lBQ0ksZ0NBQWdDO0lBQ2hDLG9DQUFvQztJQUNwQyx5QkFBeUI7QUFDN0I7QUFD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QUNsQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFNBQVM7SUFDVCxrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLHVCQUF1QjtJQUN2QixnQ0FBZ0M7QUFDcEM7QUFDQTtFQUNFLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsYUFBYTtBQUNmIiwiZmlsZSI6InNyYy9hcHAvY29tcG9uZW50cy9ob21lL2hvbWUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXItbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uYWNjb3JkaW9uLWltZy1pY29uIHtcclxuICAgIG1hcmdpbi1yaWdodDogNnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcclxuICAgIGhlaWdodDogMjBweDtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG59XHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLXRhYmxlIC51aS10YWJsZS10aGVhZD50cj50aCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY0ZjRmO1xyXG4gICAgY29sb3I6d2hpdGU7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgcGFkZGluZzogM3B4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UxZjBmZjtcclxufVxyXG5cclxuI2N1cHNSZXF1ZXN0R3JpZCAudWktdGFibGUgLnVpLXRhYmxlLXRoZWFkPnRyPnRoPmRpdiB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLXRhYmxlIC51aS10YWJsZS10Ym9keT50cj50ZCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0ZjRmNGYgIWltcG9ydGFudDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucG9pbnRlci1jdXJzb3Ige1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYWRkLWJ0biB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRvcDogLTE0cHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbiNjdXBzUmVxdWVzdEdyaWQgLmVkaXQtY29sdW1uIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI2N1cHNSZXF1ZXN0R3JpZCAudWktcGFnaW5hdG9yIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLXBhZ2luYXRvciAudWktcGFnaW5hdG9yLXBhZ2VzIC51aS1wYWdpbmF0b3ItcGFnZS51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuI2N1cHNSZXF1ZXN0R3JpZCAudWktbXVsdGlzZWxlY3QgLnVpLW11bHRpc2VsZWN0LXBhbmVsIHtcclxuICAgIGxlZnQ6IC0yOTJweCAhaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLW11bHRpc2VsZWN0LXBhbmVsIC51aS1tdWx0aXNlbGVjdC1pdGVtcyAudWktbXVsdGlzZWxlY3QtaXRlbS51aS1zdGF0ZS1oaWdobGlnaHQge1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLWNoa2JveCAudWktY2hrYm94LWJveC51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLXRhYmxlIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuI2N1cHNSZXF1ZXN0R3JpZCAudWktdGFibGUge1xyXG4gICAgbWF4LWhlaWdodDogNzAwcHggIWltcG9ydGFudDtcclxufVxyXG4jY3Vwc1JlcXVlc3RHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlciwgLnVpLXRhYmxlLXNjcm9sbGFibGUtZm9vdGVyIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHotaW5kZXg6IDk5OTg7XHJcbn1cclxuI2N1cHNSZXF1ZXN0R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXItYm94IHtcclxuICAgIG1hcmdpbi1yaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjgwcHgpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNjdXBzUmVxdWVzdEdyaWQgLmV4Y2VsSWNvbiB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgdG9wOiAtN3B4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jZGVsZWdhdGlvblBvcFVwIC51aS1kcm9wZG93bi1pdGVtcy13cmFwcGVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDExMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tYXNzQ2hhbmdlR3JpZCAudWktdGFibGUgLnVpLXRhYmxlLXRoZWFkPnRyPnRoIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBjb2xvcjp3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTFmMGZmO1xyXG59XHJcblxyXG4ubWFzc0NoYW5nZUdyaWQgLnVpLXRhYmxlIC51aS10YWJsZS10aGVhZD50cj50aD5kaXYge1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4ubWFzc0NoYW5nZUdyaWQgLnVpLXRhYmxlIC51aS10YWJsZS10Ym9keT50cj50ZCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM0ZjRmNGYgIWltcG9ydGFudDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xyXG59XHJcbi5tYXNzQ2hhbmdlR3JpZCAuZWRpdC1jb2x1bW4ge1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIHJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG4ubWFzc0NoYW5nZUdyaWQgLmNoZWNrYm94LWNvbHVtbiB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hc3NDaGFuZ2VHcmlkIC51aS1wYWdpbmF0b3Ige1xyXG4gICAgbWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hc3NDaGFuZ2VHcmlkIC51aS1wYWdpbmF0b3IgLnVpLXBhZ2luYXRvci1wYWdlcyAudWktcGFnaW5hdG9yLXBhZ2UudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDYgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcbi5tYXNzQ2hhbmdlR3JpZCAudWktbXVsdGlzZWxlY3QgLnVpLW11bHRpc2VsZWN0LXBhbmVsIHtcclxuICAgIGxlZnQ6IC0yOTJweCAhaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5tYXNzQ2hhbmdlR3JpZCAudWktbXVsdGlzZWxlY3QtcGFuZWwgLnVpLW11bHRpc2VsZWN0LWl0ZW1zIC51aS1tdWx0aXNlbGVjdC1pdGVtLnVpLXN0YXRlLWhpZ2hsaWdodCB7XHJcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hc3NDaGFuZ2VHcmlkIC51aS1jaGtib3ggLnVpLWNoa2JveC1ib3gudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hc3NDaGFuZ2VHcmlkIC51aS10YWJsZSB0YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgdGFibGUtbGF5b3V0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbn1cclxuLm1hc3NDaGFuZ2VHcmlkIC51aS10YWJsZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MDBweCAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xyXG59XHJcbi5tYXNzQ2hhbmdlR3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXIsIC51aS10YWJsZS1zY3JvbGxhYmxlLWZvb3RlciB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG59XHJcbi5tYXNzQ2hhbmdlR3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXItYm94IHtcclxuICAgIG1hcmdpbi1yaWdodDogNjBweCAhaW1wb3J0YW50O1xyXG59XHJcbi5tYXNzQ2hhbmdlR3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyODBweCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm1hc3NDaGFuZ2VHcmlkIC5leGNlbEljb24ge1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIHRvcDogLTdweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLm1hc3NDaGFuZ2VHcmlkIC51aS1yYWRpb2J1dHRvbi1sYWJlbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAubWFzc0NoYW5nZUdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDM3MHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjE0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDUycHgpIHtcclxuICAgIC5tYXNzQ2hhbmdlR3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzIwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2Yge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MTEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwN3B4KSB7XHJcbiAgICAubWFzc0NoYW5nZUdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjgwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAjY3Vwc1JlcXVlc3RHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzNzBweCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jZiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDoxNDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTA1MnB4KSB7XHJcbiAgICAjY3Vwc1JlcXVlc3RHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMjBweCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jZiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDoxMTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDA3cHgpIHtcclxuICAgICNjdXBzUmVxdWVzdEdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtYm9keSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMwMHB4KSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmNmIHtcclxuICAgICAgICBtYXJnaW4tdG9wOjgwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuI2N1cHNSZXF1ZXN0R3JpZCAudWktdGFidmlldy51aS10YWJ2aWV3LXRvcCAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlLCAudWktdGFidmlldy51aS10YWJ2aWV3LWJvdHRvbSAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlLCAudWktdGFidmlldy51aS10YWJ2aWV3LWxlZnQgLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSwgLnVpLXRhYnZpZXcudWktdGFidmlldy1yaWdodCAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJvcmRlcjogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDA5NmQ2O1xyXG59XHJcblxyXG4jY3Vwc1JlcXVlc3RHcmlkIC51aS10YWJ2aWV3LnVpLXRhYnZpZXctdG9wIC51aS10YWJ2aWV3LW5hdiBsaSwgLnVpLXRhYnZpZXcudWktdGFidmlldy1ib3R0b20gLnVpLXRhYnZpZXctbmF2IGxpLCAudWktdGFidmlldy51aS10YWJ2aWV3LWxlZnQgLnVpLXRhYnZpZXctbmF2IGxpLCAudWktdGFidmlldy51aS10YWJ2aWV3LXJpZ2h0IC51aS10YWJ2aWV3LW5hdiBsaSB7XHJcbiAgICBib3JkZXI6IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLXRhYnZpZXcudWktdGFidmlldy10b3AgLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSBhLCAudWktdGFidmlldy51aS10YWJ2aWV3LWJvdHRvbSAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlIGEsIC51aS10YWJ2aWV3LnVpLXRhYnZpZXctbGVmdCAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlIGEsIC51aS10YWJ2aWV3LnVpLXRhYnZpZXctcmlnaHQgLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSBhIHtcclxuICAgIGNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNjdXBzUmVxdWVzdEdyaWQgLnVpLXRhYnZpZXcudWktdGFidmlldy10b3AgLnVpLXRhYnZpZXctbmF2IGxpIGEsIC51aS10YWJ2aWV3LnVpLXRhYnZpZXctYm90dG9tIC51aS10YWJ2aWV3LW5hdiBsaSBhLCAudWktdGFidmlldy51aS10YWJ2aWV3LWxlZnQgLnVpLXRhYnZpZXctbmF2IGxpIGEsIC51aS10YWJ2aWV3LnVpLXRhYnZpZXctcmlnaHQgLnVpLXRhYnZpZXctbmF2IGxpIGEge1xyXG4gICAgY29sb3I6ICM2OTY5NjkgIWltcG9ydGFudDtcclxufVxyXG5cclxuI2N1cHNSZXF1ZXN0R3JpZCAudWktdGFidmlldyAudWktdGFidmlldy1wYW5lbHMge1xyXG4gICAgYm9yZGVyOiAwcHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAuNTcxZW0gMGVtICFpbXBvcnRhbnRcclxufVxyXG4jY3Vwc1JlcXVlc3RHcmlkIGJvZHkgLnVpLXRhYnZpZXcudWktdGFidmlldy10b3AgLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSwgYm9keSAudWktdGFidmlldy51aS10YWJ2aWV3LWJvdHRvbSAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlLCBib2R5IC51aS10YWJ2aWV3LnVpLXRhYnZpZXctbGVmdCAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlLCBib2R5IC51aS10YWJ2aWV3LnVpLXRhYnZpZXctcmlnaHQgLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjMyMHB4KSBhbmQgKG1heC13aWR0aDo2MDBweCkge1xyXG4gICAgI2N1cHNSZXF1ZXN0R3JpZCAudWktbXVsdGlzZWxlY3QgLnVpLW11bHRpc2VsZWN0LXBhbmVsIHtcclxuICAgICAgICBsZWZ0OiAtMTUwcHggIWltcG9ydGFudDtcclxuICAgICAgICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuI3VwbG9hZEV4Y2VsIC5hY3Rpdi1idG4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIG1hcmdpbi1yaWdodDogMjVweDtcclxuICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jdXBsb2FkRXhjZWwgLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi1pY29uLWxlZnQsIC51aS1idXR0b24tdGV4dC1pY29uLWxlZnQgLnVpLWJ1dHRvbi1pY29uLWxlZnQsIC51aS1idXR0b24tdGV4dC1pY29uLXJpZ2h0IC51aS1idXR0b24taWNvbi1yaWdodCB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiN1cGxvYWRFeGNlbCAudWktYnV0dG9uIHtcclxuICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xyXG59XHJcbiN1cGxvYWRFeGNlbCAudWktYnV0dG9uLnVpLWJ1dHRvbi10ZXh0LWljb24tbGVmdCAudWktYnV0dG9uLXRleHQge1xyXG4gICAgcGFkZGluZzogMyUgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xyXG59XHJcbiN1cGxvYWRFeGNlbCAudWktY2FyZCB7XHJcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDZweCAxcHggcmdiKDAgMCAwIC8gMTIlKSwgMXB4IDFweCAzcHggMnB4IHJnYigwIDAgMCAvIDIwJSksIDAgMXB4IDFweCAwIHJnYigwIDAgMCAvIDE0JSksIDAgMnB4IDFweCAtMXB4IHJnYigwIDAgMCAvIDEyJSkgIWltcG9ydGFudDtcclxufVxyXG4jdXBsb2FkRXhjZWwgLmN1c3QtaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyXHJcbn1cclxuI3VwbG9hZEV4Y2VsIC5mb3JtLWZyYW1lMiB7XHJcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgZGFya2dyYXk7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG59XHJcbiN1cGxvYWRFeGNlbCAucC1jbGFzcyB7XHJcbiAgdG9wOiA0MHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgY29sb3I6ICMwMDk2ZDY7XHJcbiAgcG9zaXRpb246IGluaGVyaXQ7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XHJcbn1cclxuI3VwbG9hZEV4Y2VsIC5kZWwtY2xhc3Mge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogIzAwOTZkNjtcclxuICB9XHJcbiN1cGxvYWRFeGNlbCAucDItY2xhc3Mge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xyXG4gIH1cclxuICAuYmFja2Ryb3Age1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuODMpO1xyXG4gICAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgICB0b3A6MDtcclxuICAgIGxlZnQ6MDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBoZWlnaHQ6MTAwdmg7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG59XHJcblxyXG4ucy1tb2RhbCB7XHJcbiAgICB0b3A6IDgwcHggIWltcG9ydGFudDtcclxuICAgIHJpZ2h0OiAzNXB4O1xyXG4gICAgei1pbmRleDogOTk5OTtcclxufVxyXG4ucy1tb2RhbC10aXRsZSB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcbi5zLW1vZGFsLWhlYWRlciB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuLnMtbW9kYWwtYm9keSB7XHJcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xyXG59XHJcbi5zLW1vZGFsLWRpYWxvZyB7XHJcbiB3aWR0aDogYXV0bztcclxufVxyXG4vKiAucy1tb2RhbCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn0gKi9cclxuLnMtbW9kYWwtY29udGVudCB7XHJcbiAgICAvKiBjb2xvcjogd2hpdGU7ICovXHJcbiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjgpICovXHJcbn1cclxuI3JlYmF0ZXMgLnVpLXRhYnZpZXcudWktdGFidmlldy10b3AgLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSwgYm9keSAudWktdGFidmlldy51aS10YWJ2aWV3LWJvdHRvbSAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlLCBib2R5IC51aS10YWJ2aWV3LnVpLXRhYnZpZXctbGVmdCAudWktdGFidmlldy1uYXYgbGkudWktc3RhdGUtYWN0aXZlLCBib2R5IC51aS10YWJ2aWV3LnVpLXRhYnZpZXctcmlnaHQgLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNmZhZjZhICFpbXBvcnRhbnQ7XHJcbn1cclxuLmV4Y2VsSWNvbiB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgdG9wOiAtN3B4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5lcnJvci12YWx1ZSB7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZCAhaW1wb3J0YW50O1xyXG59XHJcbi5jb2xyZW9yZGVyLW1zZyB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICBjb2xvcjogb3JhbmdlO1xyXG59XHJcbiJdfQ== */\"","import { Component, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CupsService } from 'src/services/cups.service';\r\nimport { FilterUtils } from 'primeng/api';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport * as moment from 'moment';\r\nimport { SupportRequestGridComponent } from '../support-request-grid/support-request-grid.component';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class HomeComponent {\r\n cupsRequestData: any;\r\n cols: any[];\r\n sortedCols: any[];\r\n apiResp: any;\r\n defaultWidth: '100%';\r\n viewColHeight: any\r\n selectedCols: any[];\r\n userId: any;\r\n userAdmin: boolean = false;\r\n filteredData: any;\r\n filteredFields = [];\r\n tempFilteredData: any;\r\n title = \"Price Support Request\";\r\n gridAPIResp: any;\r\n APPROVED = '1';\r\n TO_BE_APPROVED = '2';\r\n REJECTED_CUPS = '3';\r\n EXPIRED_CUPS = '4';\r\n ALL_CUPS = '5';\r\n EVID = 2;\r\n EMID = 1;\r\n PMID = 3;\r\n EDID = 4;\r\n selectedBusinessUnit: any;\r\n selectedRows = [];\r\n selectedCupsData: any;\r\n rebatesCols: any;\r\n rebatesData = [];\r\n bu = \"EM\";\r\n displayDownloadBtn = false;\r\n massChangeDialog = false;\r\n selectedMassRows = [];\r\n uploadedFiles: any[] = [];\r\n fileName = \"\";\r\n fileType = \"\";\r\n fileUpload = false;\r\n filesize = \"\";\r\n fileBuffer: any;\r\n fileObject: any;\r\n displayUpload = false;\r\n massCancellationDialog: boolean;\r\n displayDelegationBtn: boolean = false;\r\n displayDelgationPopup: boolean = false;\r\n toApprovers = [];\r\n fromApprovers = [];\r\n delegationRequest = {};\r\n currentDate: any;\r\n approvers: any;\r\n selectedToApprover: any;\r\n selectedFromApprover: any;\r\n isDistributor: boolean = false;\r\n paramsData: any;\r\n routparams: any;\r\n displayMassChangeBtn: boolean = false;\r\n issueInMassChange: boolean = false;\r\n prodData = [];\r\n isListPricebind: boolean = false;\r\n uploadType = \"\";\r\n displayMassChangeOpt: boolean = false;\r\n displayMassCancellationOpt: boolean = false;\r\n fileUploadType = '';\r\n isSalesRep: boolean = false;\r\n displayColOrderLabel: boolean = false;\r\n emMassChangeCols = [\r\n {\r\n header: 'CUP Ref#',\r\n field: 'request_reference_number',\r\n editField: false\r\n },\r\n {\r\n header: 'Expiration Date',\r\n field: 'expiration_date',\r\n editField: false\r\n },\r\n {\r\n header: 'Distributor',\r\n field: 'distributor_name',\r\n editField: false\r\n },\r\n {\r\n header: 'Distributor #',\r\n field: 'distributor_sold_to_name',\r\n editField: false\r\n },\r\n {\r\n header: 'End User Name',\r\n field: 'customer_name',\r\n editField: false\r\n },\r\n {\r\n header: 'Support Type',\r\n field: 'cups_intostock',\r\n editField: false\r\n },\r\n {\r\n header: 'End User Ship To',\r\n field: 'ship_to_name',\r\n editField: false\r\n },\r\n {\r\n header: 'Product Name',\r\n field: 'product_name',\r\n editField: false\r\n },\r\n {\r\n header: 'Product Manager',\r\n field: 'product_manager_name',\r\n editField: false\r\n },\r\n {\r\n header: 'Material #',\r\n field: 'article_number',\r\n editField: false\r\n },\r\n {\r\n header: 'Estimated Annual Volume',\r\n field: 'estimated_annual_volume',\r\n editField: false\r\n },\r\n {\r\n header: 'Annual Vol UOM',\r\n field: 'estimated_annual_volume_UOM',\r\n editField: false\r\n },\r\n {\r\n header: 'Bulk/Pkg',\r\n field: 'bulk_package_type',\r\n editField: false\r\n },\r\n {\r\n header: 'Freight',\r\n field: 'freight_terms_to_end_customer',\r\n editField: false\r\n },\r\n {\r\n header: 'Effective Date of Change',\r\n field: 'date',\r\n editField: true\r\n },\r\n {\r\n header: 'Distributor Price from BASF($/KG)',\r\n field: 'distributor_price_from_basf',\r\n editField: true\r\n },\r\n {\r\n header: 'Change in Distributor Price from BASF($/KG)',\r\n field: 'distributor_price_from_basf_MC',\r\n editField: true\r\n },\r\n {\r\n header: 'Support Price to End Customer($/KG)',\r\n field: 'support_price_to_end_customer',\r\n editField: false\r\n },\r\n {\r\n header: 'Change in Support Price to End Customer($/KG)',\r\n field: 'support_price_to_end_customer_MC',\r\n editField: true\r\n },\r\n {\r\n header: 'Discount %',\r\n field: 'discount_percent',\r\n editField: false\r\n },\r\n {\r\n header: 'Freight Allow',\r\n field: 'frieght_allowance',\r\n editField: false\r\n },\r\n {\r\n header: 'Other Allow',\r\n field: 'other_allowance',\r\n editField: false\r\n },\r\n {\r\n header: 'Net Support Price',\r\n field: 'net_support_price',\r\n editField: false\r\n },\r\n {\r\n header: 'Updated Net Support Price',\r\n field: 'net_support_price_MC',\r\n editField: true\r\n },\r\n {\r\n header: 'Credit Back Amount',\r\n field: 'credit_back_amount',\r\n editField: false\r\n },\r\n {\r\n header: 'Updated Credit Back Amount',\r\n field: 'credit_back_amount_MC',\r\n editField: true\r\n },\r\n {\r\n header: 'Type of Change (For % 1, $ 2)',\r\n field: 'typeOfChange',\r\n editField: true\r\n },\r\n {\r\n header: 'Direction of Change (For Increase 1, Decrease 0)',\r\n field: 'directionOfChange',\r\n editField: true\r\n },\r\n {\r\n header: 'Change Value for Distributor Price from BASF',\r\n field: 'dpbValue',\r\n editField: true\r\n },\r\n {\r\n header: 'Change Value for Support Price to End Customer',\r\n field: 'specValue',\r\n editField: true\r\n },\r\n {\r\n header: 'Comments',\r\n field: 'massChangeComment',\r\n editField: true\r\n },\r\n ]\r\n\r\n massCancellationCols = [\r\n {\r\n header: 'REF#',\r\n field: 'request_reference_number'\r\n },\r\n {\r\n header: 'Expiration Date',\r\n field: 'expiration_date'\r\n },\r\n {\r\n header: 'Comments',\r\n field: 'cancel_comments'\r\n },\r\n {\r\n header: 'Distributor',\r\n field: 'distributor_name'\r\n },\r\n {\r\n header: 'Account',\r\n field: 'customer_name'\r\n },\r\n {\r\n header: 'Product Name',\r\n field: 'product_name'\r\n },\r\n {\r\n header: 'Article #',\r\n field: 'article_number'\r\n }\r\n ]\r\n displayEMRebatesForm: boolean = false;\r\n getUpdatedRebatesData: boolean = false;\r\n updatedRebatesData: any;\r\n updatedRebatesCols: any[];\r\n priceData: any;\r\n orgSelectedMassRows: any;\r\n funcType: any;\r\n massChangeExisting: boolean = false;\r\n emPopupHeader: any;\r\n isSalesSupportDistributor = 0;\r\n @ViewChild(SupportRequestGridComponent, { static: false }) gridChild: SupportRequestGridComponent | undefined;\r\n constructor(private _cupsService: CupsService, private router: Router, private spinner: NgxSpinnerService, private toastr: ToastrService) {\r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n }\r\n\r\n ngOnInit() {\r\n this.spinner.show();\r\n this.getSessionValues();\r\n this.generateBU_ID();\r\n if (sessionStorage.getItem('paramsExist') !== \"true\") {\r\n this.displayMassChangeBtn = true;\r\n this.getGridData(this.APPROVED, this.selectedBusinessUnit);\r\n } else {\r\n this.paramsData = JSON.parse(sessionStorage.getItem('returnUrlparams'));\r\n this.loadGridData();\r\n }\r\n this.viewColHeight = (window.innerHeight - 190) + \"px\";\r\n FilterUtils['custom'] = (value, filter): boolean => {\r\n if (filter === undefined || filter === null || filter.trim() === '') {\r\n return true;\r\n }\r\n\r\n if (value === undefined || value === null) {\r\n return false;\r\n }\r\n\r\n return parseInt(filter) > value;\r\n }\r\n\r\n this.isSalesSupportDistributor = Number(sessionStorage.getItem('SalesSupportDistributor'));\r\n }\r\n\r\n getSessionValues() {\r\n this.userId = sessionStorage.getItem('userid');\r\n this.userAdmin = (sessionStorage.getItem('IsAdmin') === \"1\" || sessionStorage.getItem('IsAdmin') === \"true\") ? true : false;\r\n this.isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n this.isSalesRep = (sessionStorage.getItem('isSalesRep') === \"1\" || sessionStorage.getItem('isSalesRep') === \"true\") ? true : false;\r\n }\r\n\r\n generateBU_ID() {\r\n this.bu = sessionStorage.getItem('BU');\r\n switch (this.bu) {\r\n case 'EM': this.selectedBusinessUnit = this.EMID; this.isSalesRep = (this.isSalesRep == false ? ((sessionStorage.getItem('isSalesSupport') === \"1\" || sessionStorage.getItem('isSalesSupport') === \"true\") ? true : false) : this.isSalesRep); break;\r\n case 'EV': this.selectedBusinessUnit = this.EVID; break;\r\n case 'PM': this.selectedBusinessUnit = this.PMID; break;\r\n case 'ED': this.selectedBusinessUnit = this.EDID; this.isSalesRep = (this.isSalesRep == false ? ((sessionStorage.getItem('isSalesSupport') === \"1\" || sessionStorage.getItem('isSalesSupport') === \"true\") ? true : false) : this.isSalesRep); break;\r\n default: this.selectedBusinessUnit = this.EMID; break;\r\n }\r\n }\r\n\r\n loadGridData() {\r\n\r\n if (atob(this.paramsData['RequestStatusId']) === \"1\" || atob(this.paramsData['RequestStatusId']) === \"9\") {\r\n this.displayMassChangeBtn = true;\r\n this.getGridData(this.APPROVED, Number(atob(this.paramsData['BusinessunitId'])));\r\n } else {\r\n this.getGridData(this.TO_BE_APPROVED, Number(atob(this.paramsData['BusinessunitId'])));\r\n }\r\n }\r\n\r\n onChangeDDValue(_value) {\r\n this.sortColumns();\r\n }\r\n updateUserColumns() {\r\n this._cupsService.updateUserGridCols(this.selectedCols, this.userId, this.isDistributor).subscribe((response: any) => {\r\n this._cupsService.displayToastr(response);\r\n });\r\n this.displayColOrderLabel = false;\r\n }\r\n\r\n showHideData(e) {\r\n this.cols = e;\r\n }\r\n\r\n sortColumns() {\r\n this.selectedCols = JSON.parse(JSON.stringify(this.sortSelectedColumns()));\r\n }\r\n\r\n sortSelectedColumns() {\r\n return this.selectedCols.sort((a, b) => {\r\n return a.serial_no - b.serial_no;\r\n })\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n let { rowData, type } = rowObject;\r\n if (type == 'delete') {\r\n this._cupsService.deleteSupport(rowData.request_id, rowData.businessunit_id).subscribe(response => {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(response);\r\n this.router.navigate(['home']);\r\n })\r\n return 0;\r\n }\r\n if (type == 'ColReorder') {\r\n this.selectedCols.forEach((selCol: any) => {\r\n selCol.serial_no = rowObject.colData.find(col => col.header_id == selCol.header_id).serial_no;\r\n })\r\n this.displayColOrderLabel = true;\r\n return 0;\r\n }\r\n if (type == 'email') {\r\n this.spinner.show();\r\n if (this.selectedBusinessUnit === 3) {\r\n rowData.request_id = rowData.pm_request_id;\r\n rowData.businessunit_id = 3;\r\n }\r\n this._cupsService.sendEmailReminder(rowData.request_id, rowData.businessunit_id, rowData.request_reference_number, rowData.expiration_date.replaceAll('/', '-'), rowData.status_id).subscribe(response => {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(response);\r\n })\r\n return 0;\r\n }\r\n if (type == 'confirmationemail') {\r\n this.spinner.show();\r\n if (this.selectedBusinessUnit === 3) {\r\n rowData.request_id = rowData.pm_request_id;\r\n rowData.businessunit_id = 3;\r\n }\r\n this._cupsService.resendSupportConfirmationEmail(rowData.request_id, rowData.businessunit_id, rowData.request_reference_number, rowData.status_id).subscribe(response => {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(response);\r\n })\r\n return 0;\r\n }\r\n if (type == 'edit' || type == 'clone') {\r\n let path = (this.selectedBusinessUnit === 3) ? 'pm-cups-request' : 'cups-request';\r\n this.router.navigate([path], { state: { data: { cols: this.cols, rowData: rowData, type, gridData: this.cupsRequestData } } });\r\n } else {\r\n this.router.navigate(['cups-request/info'], { state: { data: { labelData: this.cols, rowData: rowData, type, gridData: this.cupsRequestData } } });\r\n }\r\n }\r\n\r\n filterData(filterObj) {\r\n let { value, filter } = filterObj;\r\n if (value == '') {\r\n if (this.filteredFields.length) {\r\n this.filteredFields = this.filteredFields.filter(ff => ff.fieldName !== filter);\r\n } else {\r\n this.filteredFields = [];\r\n }\r\n } else {\r\n let foundField = this.filteredFields.filter(ff => ff.fieldName == filter);\r\n if (foundField.length) {\r\n this.filteredFields.forEach(ff => {\r\n if (ff.fieldName == filter) {\r\n ff.value = value;\r\n }\r\n })\r\n } else {\r\n let fieldObj = {\r\n fieldName: filter,\r\n value: value\r\n };\r\n this.filteredFields.push(fieldObj);\r\n }\r\n }\r\n if (this.filteredFields.length) {\r\n let temp = this.cupsRequestData;\r\n this.filteredFields.forEach(ff => {\r\n temp = temp.filter(fd => fd[ff.fieldName].toUpperCase().includes(ff.value.toUpperCase()));\r\n })\r\n this.filteredData = temp;\r\n } else {\r\n this.filteredData = JSON.parse(JSON.stringify(this.cupsRequestData));\r\n }\r\n this.tempFilteredData = JSON.parse(JSON.stringify(this.filteredData));\r\n }\r\n\r\n exportExcel() {\r\n let currentDate = moment().format('MM_DD_YYYY_hh_mm_ss_a');\r\n let cols;\r\n if ((this.bu == 'EM' || this.bu == 'ED') && (this.isDistributor || sessionStorage.getItem('SalesSupportDistributor') != '0')) {\r\n cols = this.cols.filter(x => x.field != 'comments');\r\n } else {\r\n cols = this.cols;\r\n }\r\n this.exportAsExcelFile(this.filteredData, `All_Requests_${currentDate}`, 'sheet1', cols)\r\n }\r\n\r\n exportEMTemplate() {\r\n let filteredEmMassChangeCols = this.emMassChangeCols.filter(em => em.header !== 'Change in Distributor Price from BASF($/KG)');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Change in Support Price to End Customer($/KG)');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Updated Net Support Price');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Updated Credit Back Amount');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Type of Change (For % 1, $ 2)');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Direction of Change (For Increase 1, Decrease 0)');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Change Value for Distributor Price from BASF');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Change Value for Support Price to End Customer');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Comments');\r\n\r\n let selectedMassRows = JSON.parse(JSON.stringify(this.selectedMassRows));\r\n selectedMassRows.forEach(smr => {\r\n smr.dpbValue = 0;\r\n smr.specValue = 0;\r\n });\r\n this.updatedRebatesCols = JSON.parse(JSON.stringify(filteredEmMassChangeCols));\r\n this.updatedRebatesCols.forEach(urc => {\r\n urc.is_show = true;\r\n })\r\n this.updatedRebatesData = JSON.parse(JSON.stringify(selectedMassRows));\r\n this.funcType = \"Mass Template\";\r\n this.emPopupHeader = \"Enter the Effective Date of Change\";\r\n this.displayEMRebatesForm = true;\r\n }\r\n\r\n generateExcelForMassCancellation() {\r\n let currentDate = moment().format('MM_DD_YYYY_hh_mm_ss_a');\r\n if (this.selectedBusinessUnit === 3) {\r\n this.massCancellationCols.forEach(colInfo => {\r\n if (colInfo.header === 'Account') {\r\n colInfo.field = 'account';\r\n }\r\n });\r\n }\r\n if (this.selectedRows.length === 0) {\r\n this.selectedRows = [\r\n { 'request_reference_number': '', 'expiration_date': '', 'cancel_comments': '', 'distributor_name': '', 'customer_name': '', 'product_name': '', 'article_number': '' }\r\n ];\r\n } else {\r\n this.selectedRows.forEach(sr => {\r\n sr.cancel_comments = '';\r\n })\r\n }\r\n this.exportAsExcelFile(this.selectedRows, `MASS_CANCELLATION_${currentDate}`, 'sheet1', this.massCancellationCols);\r\n this.displayMassCancellationOpt = false;\r\n }\r\n\r\n exportAsExcelFile(json: any[], excelFileName: string, sheetName: string, columnValues: any[]): void {\r\n let fieldValues: any[] = columnValues.map(field => field.field);\r\n let headerValues: string[] = columnValues.map(header => header.header);\r\n let displayedJson: any[] = [];\r\n if (json != null && json.length > 0) {\r\n for (let originalValue of json) {\r\n let jsonObject: any = {};\r\n for (let fieldValue of fieldValues) {\r\n jsonObject[fieldValue] = originalValue[fieldValue];\r\n }\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedJson.push(JSON.parse(jsonString));\r\n }\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(displayedJson);\r\n let range = XLSX.utils.decode_range(worksheet['!ref']);\r\n for (let C = range.s.c; C <= range.e.c; ++C) {\r\n let address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\r\n if (!worksheet[address]) continue;\r\n worksheet[address] = {\r\n v: headerValues[C],\r\n t: 's',\r\n s: {\r\n alignment: { textRotation: 90 },\r\n font: { bold: true }\r\n }\r\n };\r\n }\r\n XLSX.utils.sheet_add_aoa(worksheet, [[]], { origin: -1 });\r\n const workbook: XLSX.WorkBook = { Sheets: { [sheetName]: worksheet }, SheetNames: [sheetName] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n }\r\n\r\n saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n\r\n navigateToCupsRequest(businessName) {\r\n this.router.navigate(['cups-request'], { state: { data: { cols: this.cols, type: 'New', businessName } } })\r\n }\r\n\r\n navigateToPMCupsRequest() {\r\n this.router.navigate(['pm-cups-request'], { state: { data: { cols: this.cols, type: 'New' } } })\r\n }\r\n\r\n onTabChange(event) {\r\n switch (event.index) {\r\n case 0: this.getGridData(this.APPROVED, this.selectedBusinessUnit); this.displayDelegationBtn = false; this.displayMassChangeBtn = true; break;\r\n case 1: this.getGridData(this.TO_BE_APPROVED, this.selectedBusinessUnit); this.displayDelegationBtn = true; this.displayMassChangeBtn = false; break;\r\n case 2: this.getGridData(this.REJECTED_CUPS, this.selectedBusinessUnit); this.displayDelegationBtn = false; this.displayMassChangeBtn = false; break;\r\n case 3: this.getGridData(this.EXPIRED_CUPS, this.selectedBusinessUnit); this.displayDelegationBtn = false; this.displayMassChangeBtn = false; break;\r\n case 4: this.getAllGridData(this.selectedBusinessUnit); this.displayDelegationBtn = false; this.displayMassChangeBtn = false; break;\r\n }\r\n }\r\n getAllGridData(formName) {\r\n this.spinner.show();\r\n this._cupsService.getAllGridData(formName, this.userId, this.isDistributor).subscribe(resp => {\r\n if (!resp['isError']) {\r\n this.selectedRows = [];\r\n this.selectedBusinessUnit = formName;\r\n this.gridAPIResp = resp;\r\n this.cols = this.gridAPIResp.headerColumns;\r\n this.cols = this.cols.filter(col => col.is_grid_display);\r\n if (this.bu == 'EM' || this.bu == 'ED') {\r\n this.hideCols();\r\n }\r\n this.selectedCols = JSON.parse(JSON.stringify(this.cols.filter(col => col.is_show && col.is_user_visible)));\r\n if (this.isDistributor || Number(sessionStorage.getItem('SalesSupportDistributor')) > 0) {\r\n this.selectedCols = this.selectedCols.filter(col => col.header !== 'Internal Comments');\r\n }\r\n this.sortedCols = JSON.parse(JSON.stringify(this.cols.filter(x => x.is_show)));\r\n this.sortedCols.sort((a, b) => {\r\n return a.header > b.header ? 1 : -1;\r\n });\r\n if (formName === this.EVID || formName === this.EMID || formName === this.EDID) {\r\n this.navigateToEMEVEDCupReview();\r\n }\r\n if (formName === this.PMID) {\r\n this.navigateToPMCupReview();\r\n }\r\n\r\n if (this.bu == 'EM' || this.bu == 'ED') {\r\n this.cupsRequestData.forEach(cup => {\r\n if (cup.cups_intostock !== 'CUP') {\r\n cup.distributor_price_from_basf = '';\r\n }\r\n })\r\n }\r\n this.filteredData = JSON.parse(JSON.stringify(this.cupsRequestData));\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(resp);\r\n }\r\n });\r\n }\r\n\r\n hideCols() {\r\n this.cols.forEach(item => {\r\n if ((item.field == 'freight_terms_to_end_customer' || item.field == 'zip_code' || item.field == 'distributor' || item.field == 'industry_market') || (this.isDistributor && item.field == 'comments')) {\r\n item.is_show = false;\r\n }\r\n });\r\n }\r\n\r\n navigateViewByBusinessUnit(formName) {\r\n if (formName === this.EVID || formName === this.EMID || formName === this.EDID) {\r\n this.navigateToEMEVEDCupReview();\r\n }\r\n if (formName === this.PMID) {\r\n this.navigateToPMCupReview();\r\n }\r\n }\r\n\r\n getGridData(requestStatus, formName) {\r\n this.spinner.show();\r\n this._cupsService.getGridData(requestStatus, formName, this.userId, this.isDistributor, sessionStorage.getItem('SalesSupportDistributor')).subscribe(response => {\r\n if (!response['isError']) {\r\n this.selectedRows = [];\r\n this.selectedBusinessUnit = formName;\r\n this.gridAPIResp = response;\r\n this.cols = this.gridAPIResp.headerColumns;\r\n this.cols = this.cols.filter(col => col.is_grid_display);\r\n\r\n\r\n if (!(requestStatus === \"2\" && !this.isDistributor && formName === 3)) {\r\n this.cols = this.cols.filter(col => col.field !== 'approval_pending_with');\r\n }\r\n\r\n if (this.bu == 'EM' || this.bu == 'ED') {\r\n this.hideCols();\r\n }\r\n\r\n this.selectedCols = JSON.parse(JSON.stringify(this.cols.filter(col => col.is_show && col.is_user_visible)));\r\n if (this.isDistributor || Number(sessionStorage.getItem('SalesSupportDistributor')) > 0) {\r\n this.selectedCols = this.selectedCols.filter(col => col.header !== 'Internal Comments');\r\n }\r\n this.sortedCols = JSON.parse(JSON.stringify(this.cols.filter(x => x.is_show)));\r\n this.sortedCols.sort((a, b) => {\r\n return a.header > b.header ? 1 : -1;\r\n });\r\n this.navigateViewByBusinessUnit(formName);\r\n if (requestStatus === '1') {\r\n this.setExpireRemainder();\r\n }\r\n if (this.bu == 'EM' || this.bu == 'ED') {\r\n this.cupsRequestData.forEach(cup => {\r\n if (cup.cups_intostock !== 'CUP') {\r\n cup.distributor_price_from_basf = '';\r\n }\r\n })\r\n }\r\n this.filteredData = JSON.parse(JSON.stringify(this.cupsRequestData));\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n navigateToEMEVEDCupReview() {\r\n this.cupsRequestData = this.gridAPIResp.requestSubmissionData;\r\n if (sessionStorage.getItem('paramsExist') === 'true') {\r\n let rowObject = {\r\n type: (atob(this.paramsData['RequestStatusId']) !== \"11\") ? 'view' : 'edit',\r\n rowData: this.cupsRequestData.find(cup => cup.request_id === Number(atob(this.paramsData['RequestId'])))\r\n }\r\n if (rowObject.rowData && rowObject.rowData['sbu_name'] === '') {\r\n rowObject.type = 'edit';\r\n }\r\n this.onSelectRow(rowObject);\r\n }\r\n }\r\n\r\n navigateToPMCupReview() {\r\n this.cupsRequestData = this.gridAPIResp.pmRequestSubmissionData;\r\n if (sessionStorage.getItem('paramsExist') === 'true') {\r\n let rowObject = {\r\n type: 'view',\r\n rowData: this.cupsRequestData.find(cup => cup.pm_request_id === Number(atob(this.paramsData['RequestId'])))\r\n }\r\n this.onSelectRow(rowObject);\r\n }\r\n }\r\n\r\n setExpireRemainder() {\r\n this.cupsRequestData.forEach(cup => {\r\n if (this.getDaysDiff(cup.expiration_date, new Date()) <= 15) {\r\n cup.isExpireReminder = true;\r\n } else {\r\n cup.isExpireReminder = false;\r\n }\r\n })\r\n }\r\n\r\n receiveSelectedRows(event) {\r\n this.selectedRows = event;\r\n }\r\n\r\n navigateToRebate() {\r\n if (this.selectedRows.length === 1 && (this.selectedBusinessUnit === 1 || this.selectedBusinessUnit === 2 || this.selectedBusinessUnit === 4)) {\r\n this.navigateToEMRebates();\r\n }\r\n else if (this.selectedRows.length === 1 && this.selectedBusinessUnit === 3) {\r\n this.navigateToPMRebates();\r\n }\r\n else {\r\n this.toastr.warning(\"Select a single Approved CUP record to Rebate\", \"Warning!\");\r\n }\r\n }\r\n\r\n navigateToPMRebates() {\r\n if (this.selectedRows[0].status_id === 9 && moment().isAfter(this.selectedRows[0].effective_date)) {\r\n this.router.navigate(['rebates/pm-rebate-form'], { state: { data: { rowData: this.selectedRows[0] } } });\r\n } else {\r\n this.toastr.warning(\"Select a single Activated CUP record which effective date is older than today's date to create a Rebate\", \"Warning!\");\r\n }\r\n }\r\n\r\n navigateToEMRebates() {\r\n if (this.selectedRows[0].status_id === 1 && this.selectedRows[0].cups_intostock_id === 5 && moment().isAfter(this.selectedRows[0].effective_date)) {\r\n this.router.navigate(['rebates/evem-rebate-form'], { state: { data: { rowData: this.selectedRows[0] } } })\r\n } else {\r\n this.toastr.warning(\"Select request record which is Approved CUP request and effective date is older than today's date to Rebate\", \"Warning!\");\r\n }\r\n }\r\n\r\n getFormattedData(date) {\r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n\r\n generateToApprovers() {\r\n if (this.selectedFromApprover) {\r\n this.toApprovers = this.approvers.filter(a => a.userid !== this.selectedFromApprover['userid']);\r\n }\r\n }\r\n\r\n generateFromApprovers() {\r\n if (this.selectedToApprover) {\r\n this.fromApprovers = this.approvers.filter(a => a.userid !== this.selectedToApprover['userid']);\r\n }\r\n }\r\n\r\n openDelegationPopup() {\r\n this.currentDate = new Date();\r\n this.spinner.show();\r\n this._cupsService.getApprovers(this.selectedBusinessUnit).subscribe(response => {\r\n if (!response['isError']) {\r\n this.approvers = response['response'];\r\n this.toApprovers = this.approvers;\r\n this.fromApprovers = this.approvers;\r\n if (!this.userAdmin) {\r\n this.selectedFromApprover = this.approvers.find(a => a.userid == this.userId);\r\n this.fromApprovers = this.approvers.filter(a => a.userid != this.userId);\r\n }\r\n this.spinner.hide();\r\n this.displayDelgationPopup = true;\r\n } else {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n cancelDelegationPopup() {\r\n this.displayDelgationPopup = false;\r\n }\r\n\r\n submitDelegation() {\r\n this.spinner.show();\r\n this.delegationRequest['fromApproverUserId'] = this.selectedFromApprover['userid'];\r\n this.delegationRequest['toApproverUserId'] = this.selectedToApprover['userid'];\r\n this.delegationRequest['currentUserId'] = Number(this.userId);\r\n this.delegationRequest['businessUnit'] = this.selectedBusinessUnit;\r\n this.delegationRequest['toDate'] = moment(this.delegationRequest['toDate']).format(\"MM/DD/yyyy\");\r\n this.delegationRequest['fromDate'] = moment(this.delegationRequest['fromDate']).format(\"MM/DD/yyyy\");\r\n this._cupsService.submitDelegationRequest(this.delegationRequest).subscribe(response => {\r\n if (!response['isError']) {\r\n this.spinner.hide();\r\n this.displayDelgationPopup = false;\r\n this._cupsService.displayToastr(response);\r\n } else {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n downloadTempalte() {\r\n if ((this.selectedBusinessUnit === 1 || this.selectedBusinessUnit === 2 || this.selectedBusinessUnit === 4) && !this.checkForCupsData()) {\r\n this.getTemplate();\r\n }\r\n if (((this.selectedBusinessUnit === 1 || this.selectedBusinessUnit === 2 || this.selectedBusinessUnit === 4) && this.checkForCupsData())) {\r\n this.toastr.warning(\"Select Approved CUP records which effective date is older than today's date to Generate Rebate Template\", \"Warning!\");\r\n }\r\n if (this.selectedBusinessUnit === 3 && !this.checkForPMCupsData()) {\r\n this.getTemplate();\r\n }\r\n if (this.selectedBusinessUnit === 3 && this.checkForPMCupsData()) {\r\n this.toastr.warning(\"Select a Activated CUP records which effective date is older than today's date to Generate Rebate Template\", \"Warning!\");\r\n }\r\n }\r\n\r\n getTemplate() {\r\n this.rebatesData = [];\r\n this.rebatesCols = [];\r\n this.getRebatesColsData(this.selectedBusinessUnit);\r\n }\r\n\r\n getRebatesColsData(businessUnit) {\r\n this.spinner.show();\r\n this._cupsService.getRebateGridData(businessUnit, 3, this.isSalesSupportDistributor).subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this.gridAPIResp = response;\r\n this.rebatesCols = this.gridAPIResp.headerColumns;\r\n this.rebatesCols = this.rebatesCols.filter(rc => rc.is_grid_display);\r\n this.rebatesCols = this.rebatesCols.filter(rc => rc.field !== 'total_creditdue');\r\n this.rebatesCols = this.rebatesCols.filter(rc => rc.field !== 'rebate_reference_number');\r\n this.rebatesCols = this.rebatesCols.filter(rc => rc.field !== 'created_date');\r\n this.rebatesCols = this.rebatesCols.filter(rc => rc.field !== 'submission_date');\r\n this.rebatesCols = this.rebatesCols.filter(rc => rc.field !== 'rebate_final');\r\n this.rebatesCols = this.rebatesCols.filter(rc => rc.header !== 'Rebate Status');\r\n this.rebatesData = [];\r\n if (businessUnit === 1 || businessUnit === 2 || businessUnit === 4) {\r\n this.selectedRows.forEach((cr, index) => {\r\n this.getRebatesData(this.selectedBusinessUnit, cr.request_id, index);\r\n });\r\n }\r\n if (businessUnit === 3) {\r\n this.selectedRows.forEach((cr, index) => {\r\n this.getRebatesData(this.selectedBusinessUnit, cr.pm_request_id, index);\r\n });\r\n }\r\n } else {\r\n this._cupsService.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n checkForCupsData() {\r\n let fCups = this.selectedRows.filter(r => r.cups_intostock_id !== 5 || moment().isBefore(r.effective_date));\r\n return fCups.length;\r\n }\r\n\r\n checkForPMCupsData() {\r\n let fCups = this.selectedRows.filter(r => r.status_id !== 9 || moment().isBefore(r.effective_date));\r\n return fCups.length;\r\n }\r\n\r\n getRebatesData(businessUnit, cupRequestId, _index) {\r\n let rebateData;\r\n this.spinner.show();\r\n this._cupsService.getRebateFormData(cupRequestId, businessUnit).subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n if (businessUnit === 1 || businessUnit === 2 || businessUnit === 4) {\r\n rebateData = JSON.parse(JSON.stringify(this.apiResp.rebateEvemData[0]));\r\n }\r\n if (businessUnit === 3) {\r\n rebateData = JSON.parse(JSON.stringify(this.apiResp.rebatePMData[0]));\r\n }\r\n this.rebatesData.push(rebateData);\r\n if (this.selectedRows.length === this.rebatesData.length) {\r\n this.displayDownloadBtn = (businessUnit === 1 || businessUnit === 4) ? this.openRebateShippedDateForm() : true;\r\n }\r\n } else {\r\n this._cupsService.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n openRebateShippedDateForm() {\r\n let tempUpdatedRebatesCols = JSON.parse(JSON.stringify(this.rebatesCols));\r\n tempUpdatedRebatesCols = tempUpdatedRebatesCols.filter(urc => urc.header != 'Dist. Invoice #');\r\n tempUpdatedRebatesCols = tempUpdatedRebatesCols.filter(urc => urc.header != 'Quantity Shipped');\r\n tempUpdatedRebatesCols = tempUpdatedRebatesCols.filter(urc => urc.header != 'Comments');\r\n tempUpdatedRebatesCols = tempUpdatedRebatesCols.filter(urc => urc.header != 'Rebate Status');\r\n this.updatedRebatesCols = JSON.parse(JSON.stringify(tempUpdatedRebatesCols));\r\n this.updatedRebatesData = JSON.parse(JSON.stringify(this.rebatesData));\r\n this.funcType = \"Rebate Template\";\r\n this.emPopupHeader = \"Enter the User Ship. DT\";\r\n this.displayEMRebatesForm = true;\r\n return false;\r\n }\r\n\r\n openMassChangeDateForm() {\r\n this.displayEMRebatesForm = true;\r\n }\r\n\r\n receiveUpdatedRebates(rebates) {\r\n if (this.funcType === 'Rebate Template') {\r\n this.rebatesData = JSON.parse(JSON.stringify(rebates));\r\n this.rebatesData.forEach(rd => {\r\n if (rd.shipped_date != null && rd.shipped_date != '' && rd.shipped_date != 'Invalid date') {\r\n rd.shipped_date = moment(rd.shipped_date).format('MM/DD/YYYY');\r\n }\r\n })\r\n } else {\r\n this.receiveUpdatedMassRows(rebates);\r\n }\r\n }\r\n\r\n receiveUpdatedMassRows(rebates) {\r\n this.rebatesData = JSON.parse(JSON.stringify(rebates));\r\n this.rebatesData.forEach(rd => {\r\n if (rd.date != null && rd.date != '' && rd.date != 'Invalid date') {\r\n rd.date = moment(rd.date).format('MM/DD/YYYY');\r\n }\r\n })\r\n }\r\n\r\n checkForValidShippedDate() {\r\n if (this.funcType === 'Rebate Template') {\r\n let foundNotValidShipedData = false;\r\n this.rebatesData.forEach(rd => {\r\n if (!(rd.shipped_date != null && rd.shipped_date != '' && rd.shipped_date != 'Invalid date')) {\r\n foundNotValidShipedData = true;\r\n this.toastr.warning(`For ${rd.request_reference_number} shipped date not provided`, 'Warning');\r\n }\r\n });\r\n if (!foundNotValidShipedData) {\r\n this.rebatesExportExcel();\r\n }\r\n } else {\r\n this.checkForValidEffectiveDate();\r\n }\r\n }\r\n\r\n checkForValidEffectiveDate() {\r\n let foundNotValidEffectiveDate = false;\r\n this.rebatesData.forEach(rd => {\r\n if (!(rd.date != null && rd.date != '' && rd.date != 'Invalid date')) {\r\n foundNotValidEffectiveDate = true;\r\n this.toastr.warning(`For ${rd.request_reference_number}change of effective date not provided`, 'Warning');\r\n }\r\n });\r\n if (!foundNotValidEffectiveDate) {\r\n this.massRowsExportExcel();\r\n }\r\n }\r\n\r\n rebatesExportExcel() {\r\n let currentDate = moment().format('MM_DD_YYYY_hh_mm_ss_a');\r\n this.exportAsExcelFile(this.rebatesData, `Rebates Template_${currentDate}`, 'sheet1', this.rebatesCols);\r\n this.displayDownloadBtn = false;\r\n this.displayEMRebatesForm = false;\r\n }\r\n\r\n massRowsExportExcel() {\r\n let filteredEmMassChangeCols = this.emMassChangeCols.filter(em => em.header !== 'Change in Distributor Price from BASF($/KG)');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Change in Support Price to End Customer($/KG)');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Updated Net Support Price');\r\n filteredEmMassChangeCols = filteredEmMassChangeCols.filter(em => em.header !== 'Updated Credit Back Amount');\r\n let currentDate = moment().format('MM_DD_YYYY_hh_mm_ss_a');\r\n let selectedMassRows = JSON.parse(JSON.stringify(this.rebatesData));\r\n selectedMassRows.forEach(smr => {\r\n smr.dpbValue = 0;\r\n smr.specValue = 0;\r\n });\r\n let title;\r\n if (this.selectedBusinessUnit == 1) {\r\n title = `EM_MASS_CHANGE_${currentDate}`;\r\n } else if (this.selectedBusinessUnit == 4) {\r\n title = `ED_MASS_CHANGE_${currentDate}`;\r\n }\r\n this.exportAsExcelFile(selectedMassRows, title, 'sheet1', filteredEmMassChangeCols);\r\n this.displayDownloadBtn = false;\r\n this.displayEMRebatesForm = false;\r\n }\r\n\r\n massChange() {\r\n this.selectedMassRows = JSON.parse(JSON.stringify(this.selectedRows));\r\n this.selectedMassRows.forEach(sm => {\r\n sm.typeOfChange = \"\";\r\n sm.dpbValue = \"\";\r\n sm.specValue = \"\";\r\n sm.date = moment(new Date()).format('L');\r\n sm.directionOfChange = \"\";\r\n sm.massChangeComment = \"\";\r\n sm.issueInMassChange = false;\r\n switch (this.selectedBusinessUnit) {\r\n case 1: sm.cupReqId = sm.request_id;\r\n sm.distributor_price_from_basf_MC = sm.distributor_price_from_basf;\r\n sm.support_price_to_end_customer_MC = sm.support_price_to_end_customer;\r\n sm.net_support_price_MC = sm.net_support_price\r\n sm.credit_back_amount_MC = sm.credit_back_amount;\r\n sm.isValidCreditAmountMC = true;\r\n break;\r\n case 2: sm.cupReqId = sm.request_id;\r\n sm.support_price_to_end_customer_MC = sm.support_price_to_end_customer;\r\n sm.net_support_price_MC = sm.net_support_price;\r\n sm.credit_back_amount_MC = sm.credit_back_amount;\r\n sm.scopeOfChange = \"\";\r\n sm.isValidCreditAmountMC = true;\r\n break;\r\n case 3: sm.cupReqId = sm.pm_request_id;\r\n sm.suggested_selling_price_MC = sm.suggested_selling_price;\r\n sm.supported_buy_price_MC = sm.supported_buy_price;\r\n sm.rebate_MC = sm.rebate;\r\n sm.isValidRebateAmount = true;\r\n break;\r\n case 4: sm.cupReqId = sm.request_id;\r\n sm.distributor_price_from_basf_MC = sm.distributor_price_from_basf;\r\n sm.support_price_to_end_customer_MC = sm.support_price_to_end_customer;\r\n sm.net_support_price_MC = sm.net_support_price\r\n sm.credit_back_amount_MC = sm.credit_back_amount;\r\n sm.isValidCreditAmountMC = true;\r\n this.selectedBusinessUnit = 4\r\n break;\r\n default: break;\r\n }\r\n });\r\n this.orgSelectedMassRows = JSON.parse(JSON.stringify(this.selectedMassRows));\r\n if (this.selectedBusinessUnit === 2 || this.selectedBusinessUnit === 3) {\r\n if (this.selectedRows.length === 0) {\r\n this.toastr.error('Select any request from grid', 'Error!');\r\n } else {\r\n this.massChangeDialog = true;\r\n }\r\n } else {\r\n this.displayMassChangeOpt = true;\r\n this.fileType = 'Mass Change';\r\n }\r\n }\r\n\r\n generateExcelForEM() {\r\n if (this.selectedRows.length === 0) {\r\n this.toastr.error('Select any request from grid', 'Error!');\r\n } else {\r\n this.exportEMTemplate();\r\n this.displayMassChangeOpt = false;\r\n }\r\n }\r\n\r\n quickMassChange() {\r\n if (this.selectedRows.length === 0) {\r\n this.toastr.error('Select any request from grid', 'Error!');\r\n } else {\r\n this.displayMassChangeOpt = false;\r\n this.massChangeDialog = true;\r\n }\r\n }\r\n\r\n closeMassChangeUpload() {\r\n this.massChangeDialog = false;\r\n this.displayMassChangeOpt = false;\r\n this.displayMassCancellationOpt = false;\r\n }\r\n\r\n\r\n\r\n getProductPricingDetails(rowData: any) {\r\n if (rowData.cups_intostock && rowData.frieght_terms_to_distributor && rowData.article_number && rowData.date) {\r\n this.spinner.show();\r\n if (rowData.cups_intostock === '3rd Party' && !rowData.ship_to) {\r\n this.spinner.hide();\r\n return false;\r\n }\r\n let shiptoId = rowData.cups_intostock === '3rd Party' ? rowData.ship_to : 0;\r\n this.productPricingApiCall(rowData, shiptoId);\r\n } else {\r\n this.spinner.hide();\r\n }\r\n\r\n }\r\n\r\n productPricingApiCall(rowData, shiptoId) {\r\n this._cupsService.getProductPricingRecord(this.selectedBusinessUnit, rowData.article_number,\r\n rowData.distributor_sold_to_id, shiptoId, rowData.frieght_terms_to_distributor_id,\r\n rowData.date, 'P', rowData.cups_intostock_id).subscribe(response => {\r\n if (!response['isError']) {\r\n this.spinner.hide();\r\n this.apiResp = response;\r\n this.selectedMassRows.forEach(sm => {\r\n if (sm.request_reference_number === rowData.request_reference_number) {\r\n sm.distributor_price_from_basf = this.apiResp.response.list_Price;\r\n this.calculateEMEVEDPrices(rowData);\r\n }\r\n });\r\n }\r\n else {\r\n this.spinner.hide();\r\n this.selectedMassRows.forEach(sm => {\r\n if (sm.request_reference_number === rowData.request_reference_number) {\r\n sm.distributor_price_from_basf = rowData.distributor_price_from_basf;\r\n }\r\n });\r\n this._cupsService.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n calculateEMEVEDPrices(rowData) {\r\n const sp = Number(rowData['support_price_to_end_customer_MC']);\r\n const discount = Number(rowData['discount_percent'].replace('%', ''));\r\n const fa = rowData['frieght_allowance'] ? Number(rowData['frieght_allowance']) : 0;\r\n const oa = rowData['other_allowance'] ? Number(rowData['other_allowance']) : 0;\r\n const dp = Number(rowData['distributor_price_from_basf']);\r\n const dp_mc = Number(rowData['distributor_price_from_basf_MC']);\r\n let updatedRowData: any;\r\n if (rowData.typeOfChange != '' && rowData.directionOfChange != '') {\r\n updatedRowData = this.configRowDataForBothChanges(rowData, sp, discount, fa, oa, dp_mc, dp);\r\n }\r\n else {\r\n updatedRowData = this.configRowDataForSingleChange(rowData, dp);\r\n }\r\n this.updateAmountsAndValidate(updatedRowData);\r\n }\r\n\r\n configRowDataForBothChanges(rowData: any, sp: any, discount: any, fa: any, oa: any, dp_mc: any, dp: any) {\r\n if ((this.selectedBusinessUnit === 1 ) && sp && discount && fa >= 0 && oa >= 0 && dp_mc) {\r\n rowData['net_support_price_MC'] = (sp - (sp * (discount) / 100) - fa - oa).toFixed(2).toString();\r\n rowData['credit_back_amount_MC'] = (dp_mc - Number(rowData['net_support_price_MC'])).toFixed(2).toString();\r\n }\r\n if ((this.selectedBusinessUnit === 4) && sp && discount && fa >= 0 && oa >= 0 && dp_mc) {\r\n rowData['net_support_price_MC'] = (sp - fa - oa).toFixed(2).toString();\r\n rowData['credit_back_amount_MC'] = (dp_mc - sp).toFixed(2).toString();\r\n //rowData['credit_back_amount_MC'] = (dp_mc - Number(rowData['net_support_price_MC'])).toFixed(2).toString();\r\n }\r\n const nsp = Number(rowData['net_support_price_MC']);\r\n if (this.selectedBusinessUnit === 2 && nsp && dp && (rowData.cups_intostock === '3rd Party' || rowData.cups_intostock === 'IntoStock')) {\r\n rowData['credit_back_amount_MC'] = 0;\r\n } else if (this.selectedBusinessUnit === 2 && nsp && dp && rowData.cups_intostock === 'CUP') {\r\n rowData['credit_back_amount_MC'] = (dp - Number(rowData['net_support_price_MC'])).toFixed(2).toString();\r\n }\r\n return rowData;\r\n }\r\n\r\n configRowDataForSingleChange(rowData: any, dp: any) {\r\n const nsp = Number(rowData['net_support_price_MC']);\r\n if (this.selectedBusinessUnit === 2 && nsp && dp && (rowData.cups_intostock === '3rd Party' || rowData.cups_intostock === 'IntoStock')) {\r\n rowData['credit_back_amount_MC'] = 0;\r\n } else if (this.selectedBusinessUnit === 2 && nsp && dp && rowData.cups_intostock === 'CUP') {\r\n rowData['credit_back_amount_MC'] = (dp - Number(rowData['net_support_price_MC'])).toFixed(2).toString();\r\n }\r\n return rowData;\r\n }\r\n\r\n updateAmountsAndValidate(rowData: any) {\r\n this.selectedMassRows.forEach(sm => {\r\n if (sm.request_reference_number === rowData.request_reference_number) {\r\n sm.net_support_price_MC = rowData['net_support_price_MC'];\r\n sm.credit_back_amount_MC = rowData['credit_back_amount_MC'];\r\n sm.isValidCreditAmountMC = this.validateNumber(sm.credit_back_amount_MC, sm);\r\n if ((this.bu == 'EM' || this.bu == 'ED') && sm.cups_intostock != 'CUP') {\r\n sm.isValidCreditAmountMC = true;\r\n }\r\n if (!sm.isValidCreditAmountMC) {\r\n this.toastr.error('Values cannot be negative', 'Error!');\r\n }\r\n }\r\n });\r\n }\r\n\r\n doPMCalculationsForPM(rowData) {\r\n if (rowData.typeOfChange != '' && rowData.directionOfChange != '' && rowData.discount) {\r\n const SP = Number(rowData['suggested_selling_price_MC']);\r\n const SM = Number(rowData['selling_margin']);\r\n if (SP && SM && rowData.sell_price_UOM) {\r\n rowData['supported_buy_price_MC'] = (SP - (SP * SM / 100)).toFixed(2).toString();\r\n if (rowData.sell_price_UOM === 'LB') {\r\n rowData['rebate_MC'] = (Number(rowData['list_price_lb']) - Number(rowData['supported_buy_price_MC'])).toFixed(2).toString();\r\n } else {\r\n rowData['rebate_MC'] = (Number(rowData['list_price_kg']) - Number(rowData['supported_buy_price_MC'])).toFixed(2).toString();\r\n }\r\n }\r\n this.checkForPMMassChangeValidations(rowData);\r\n }\r\n }\r\n\r\n checkForPMMassChangeValidations(rowData) {\r\n this.selectedMassRows.forEach(sm => {\r\n if (sm.request_reference_number === rowData.request_reference_number) {\r\n sm.supported_buy_price_MC = rowData['supported_buy_price_MC'];\r\n sm.rebate_MC = rowData['rebate_MC'];\r\n sm.isValidRebateAmount = this.validateNumber(sm.rebate_MC, sm);\r\n if (!sm.isValidRebateAmount) {\r\n this.toastr.error('Values cannot be negative', 'Error!');\r\n }\r\n }\r\n });\r\n }\r\n\r\n validateNumber(value, rowData) {\r\n this.selectedMassRows.forEach(sm => {\r\n if (sm.request_reference_number === rowData.request_reference_number) {\r\n sm.issueInMassChange = Number(value) > 0;\r\n }\r\n });\r\n return Number(value) > 0;\r\n }\r\n\r\n submitMassChange() {\r\n let massChangeRows = [];\r\n let fIssues = this.selectedMassRows.find(smr => !smr.issueInMassChange);\r\n if (fIssues) {\r\n this.toastr.error('Negative values not allowed', 'Error!');\r\n return false;\r\n }\r\n this.selectedMassRows.forEach(sm => {\r\n massChangeRows.push(this.constructApiRequest(sm));\r\n });\r\n this.spinner.show();\r\n this._cupsService.submitMassChange(massChangeRows, sessionStorage.getItem('BU')).subscribe(response => {\r\n if (!response['isError']) {\r\n this._cupsService.displayToastr(response);\r\n this.spinner.hide();\r\n this.massChangeDialog = false;\r\n this.selectedMassRows = [];\r\n this.getGridData(this.APPROVED, this.selectedBusinessUnit);\r\n } else {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n constructApiRequest(sm: any) {\r\n switch (this.selectedBusinessUnit) {\r\n case 1: return {\r\n \"cupReqId\": sm.cupReqId,\r\n \"date\": moment(new Date()).format('L'),\r\n \"distributor_price_from_basf\": sm.distributor_price_from_basf_MC,\r\n \"support_price_to_end_customer\": sm.support_price_to_end_customer_MC,\r\n \"suggested_selling_price\": 0,\r\n \"net_support_price\": 0,\r\n \"typeOfChange\": Number(sm.typeOfChange),\r\n \"discount\": Number(sm.discount),\r\n \"discountdistributorprice\": (sm.dpbValue !== '') ? Number(sm.dpbValue) : 0,\r\n \"discountnetsupportprice\": (sm.specValue !== '') ? Number(sm.specValue) : 0,\r\n \"directionOfChange\": Number(sm.directionOfChange),\r\n \"updatedBy\": this.userId,\r\n \"comments\": sm.massChangeComment,\r\n \"scopeOfChange\": 0,\r\n \"EffectiveDate\": sm.date\r\n };\r\n case 2: return {\r\n \"cupReqId\": sm.cupReqId,\r\n \"date\": moment(new Date()).format('L'),\r\n \"distributor_price_from_basf\": sm.distributor_price_from_basf,\r\n \"support_price_to_end_customer\": sm.support_price_to_end_customer_MC,\r\n \"suggested_selling_price\": 0,\r\n \"net_support_price\": sm.net_support_price_MC,\r\n \"typeOfChange\": Number(sm.typeOfChange),\r\n \"discount\": Number(sm.discount),\r\n \"discountdistributorprice\": 0,\r\n \"discountnetsupportprice\": 0,\r\n \"directionOfChange\": Number(sm.directionOfChange),\r\n \"updatedBy\": this.userId,\r\n \"comments\": sm.massChangeComment,\r\n \"scopeOfChange\": Number(sm.scopeOfChange),\r\n \"EffectiveDate\": sm.date,\r\n \"isInternalUser\" : !this.isDistributor\r\n };\r\n case 3: return {\r\n \"cupReqId\": sm.cupReqId,\r\n \"date\": moment(new Date()).format('L'),\r\n \"distributor_price_from_basf\": 0,\r\n \"support_price_to_end_customer\": 0,\r\n \"suggested_selling_price\": sm.suggested_selling_price_MC,\r\n \"net_support_price\": 0,\r\n \"typeOfChange\": Number(sm.typeOfChange),\r\n \"discount\": Number(sm.discount),\r\n \"discountdistributorprice\": 0,\r\n \"discountnetsupportprice\": 0,\r\n \"directionOfChange\": Number(sm.directionOfChange),\r\n \"updatedBy\": this.userId,\r\n \"comments\": sm.massChangeComment,\r\n \"scopeOfChange\": 0,\r\n \"EffectiveDate\": sm.date,\r\n \"rebate\": sm.rebate_MC,\r\n };\r\n case 4: this.selectedBusinessUnit = 4;\r\n return {\r\n \"cupReqId\": sm.cupReqId,\r\n \"date\": moment(new Date()).format('L'),\r\n \"distributor_price_from_basf\": sm.distributor_price_from_basf_MC,\r\n \"support_price_to_end_customer\": sm.support_price_to_end_customer_MC,\r\n \"suggested_selling_price\": 0,\r\n \"net_support_price\": 0,\r\n \"typeOfChange\": Number(sm.typeOfChange),\r\n \"discount\": Number(sm.discount),\r\n \"discountdistributorprice\": (sm.dpbValue !== '') ? Number(sm.dpbValue) : 0,\r\n \"discountnetsupportprice\": (sm.specValue !== '') ? Number(sm.specValue) : 0,\r\n \"directionOfChange\": Number(sm.directionOfChange),\r\n \"updatedBy\": this.userId,\r\n \"comments\": sm.massChangeComment,\r\n \"scopeOfChange\": 0,\r\n \"EffectiveDate\": sm.date\r\n };\r\n default: return 0;\r\n }\r\n }\r\n\r\n massCancellation() {\r\n this.displayMassCancellationOpt = true\r\n }\r\n\r\n massCancellationUpload() {\r\n this.displayMassCancellationOpt = false;\r\n this.massCancellationDialog = true;\r\n this.displayUpload = true;\r\n this.fileUploadType = \"Mass Cancellation\";\r\n }\r\n\r\n massChangeUpload() {\r\n this.massCancellationDialog = true;\r\n this.displayUpload = true;\r\n this.displayMassChangeOpt = false;\r\n this.fileUploadType = \"Mass Change\";\r\n }\r\n\r\n myUploader(event) {\r\n this.spinner.show();\r\n let fileData = event[0];\r\n const element = event[0];\r\n this.filesize = element.size;\r\n this.filesize = this.filesize.toString();\r\n if (element.size > 3145728) {\r\n this.spinner.hide();\r\n this.toastr.warning(\"File Limit Exceeded, Allows only below 3MB data\");\r\n return false;\r\n } else {\r\n this.fileName = fileData.name;\r\n this.fileType = fileData.type;\r\n this.fileBuffer = \"\";\r\n let fileReader = new FileReader();\r\n fileReader.onload = (_e) => {\r\n this.fileBuffer = fileReader.result;\r\n this.fileBuffer = this.fileBuffer.replace(`data:${this.fileType};base64,`, '');\r\n this.fileUpload = true;\r\n this.fileObject = {\r\n \"businessUnitId\": this.selectedBusinessUnit,\r\n \"fileName\": this.fileName,\r\n \"fileType\": this.fileType,\r\n \"fileSize\": this.filesize,\r\n \"fileAsBase64\": this.fileBuffer,\r\n \"created_by\": Number(sessionStorage.getItem('userid')),\r\n \"salesSupportDistributor\": Number(sessionStorage.getItem('SalesSupportDistributor'))\r\n };\r\n }\r\n fileReader.readAsDataURL(fileData);\r\n }\r\n this.uploadedFiles.push(event[0]);\r\n this.spinner.hide();\r\n }\r\n\r\n uploadSubmit(_fileUpload) {\r\n this.spinner.show();\r\n if (this.fileUploadType === 'Mass Cancellation') {\r\n this.massCancellationUploadAPICall();\r\n } else {\r\n this.displayMassChangeOpt = false;\r\n this.massChangeUploadAPICall();\r\n }\r\n }\r\n\r\n massCancellationUploadAPICall() {\r\n this._cupsService.UploadExcelTemplate(this.fileObject).subscribe(response => {\r\n if (!response['isError']) {\r\n let apiResponse = JSON.stringify(response);\r\n if (apiResponse.includes(\"Invalid template\")) { this.toastr.error(apiResponse, 'Error!') }\r\n else {\r\n this.massCancellationDialog = false;\r\n this.displayUpload = false;\r\n this._cupsService.displayToastr(response);\r\n this.getGridData(this.APPROVED, this.selectedBusinessUnit);\r\n }\r\n this.displayUpload = false;\r\n this.spinner.hide();\r\n } else {\r\n this._cupsService.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n massChangeUploadAPICall() {\r\n this._cupsService.UploadEMMassChangeExcelTemplate(this.fileObject).subscribe(response => {\r\n if (!response['isError']) {\r\n let apiResponse = JSON.stringify(response);\r\n if (apiResponse.includes(\"Invalid template\")) { this.toastr.error(apiResponse, 'Error!') }\r\n else {\r\n this.massCancellationDialog = false;\r\n this.displayUpload = false;\r\n this._cupsService.displayToastr(response);\r\n }\r\n this.displayUpload = false;\r\n this.spinner.hide();\r\n } else {\r\n this._cupsService.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n uploadRebates() {\r\n this.displayUpload = true;\r\n }\r\n\r\n calculatePrice(_event, rowData) {\r\n switch (this.selectedBusinessUnit) {\r\n case 1: this.calculateForEM(rowData); break;\r\n case 2: this.calculateForEV(rowData); break;\r\n case 3: this.calculateForPM(rowData); break;\r\n case 4: this.calculateForED(rowData); break;\r\n default: break;\r\n }\r\n }\r\n\r\n calculateForEM(rowData) {\r\n this.selectedMassRows.forEach(mr => {\r\n if (mr.cupReqId === rowData.cupReqId) {\r\n if (rowData.typeOfChange === '1') {\r\n this.emChangeInPercentage(rowData);\r\n } else {\r\n this.emChangeInPrice(rowData);\r\n }\r\n this.calculateEMEVEDPrices(mr);\r\n }\r\n });\r\n }\r\n\r\n calculateForED(rowData) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.typeOfChange === '1') {\r\n this.edChangeInPercentage(rowData);\r\n } else {\r\n this.edChangeInPrice(rowData);\r\n }\r\n this.calculateEMEVEDPrices(smr);\r\n }\r\n });\r\n }\r\n\r\n emChangeInPercentage(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.directionOfChange === '1') {\r\n this.emChangeInPercentageIncrease(rowData);\r\n } else {\r\n this.emChangeInPercentageDecrease(rowData);\r\n }\r\n }\r\n });\r\n }\r\n edChangeInPercentage(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.directionOfChange === '1') {\r\n this.edChangeInPercentageIncrease(rowData);\r\n } else {\r\n this.edChangeInPercentageDecrease(rowData);\r\n }\r\n }\r\n });\r\n }\r\n edChangeInPercentageIncrease(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.dpbValue !== '') {\r\n smr.distributor_price_from_basf_MC = Number(smr.distributor_price_from_basf) + Number((Number(smr.dpbValue) / 100) * Number(smr.distributor_price_from_basf));\r\n }\r\n if (rowData.specValue !== '') {\r\n smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) + Number((Number(smr.specValue) / 100) * Number(smr.support_price_to_end_customer));\r\n }\r\n }\r\n });\r\n }\r\n edChangeInPercentageDecrease(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.dpbValue !== '') {\r\n smr.distributor_price_from_basf_MC = Number(smr.distributor_price_from_basf) - Number((Number(smr.dpbValue) / 100) * Number(smr.distributor_price_from_basf));\r\n }\r\n if (rowData.specValue !== '') {\r\n smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) - Number((Number(smr.specValue) / 100) * Number(smr.support_price_to_end_customer));\r\n }\r\n }\r\n });\r\n }\r\n\r\n emChangeInPercentageIncrease(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.dpbValue !== '') {\r\n smr.distributor_price_from_basf_MC = Number(smr.distributor_price_from_basf) + Number((Number(smr.dpbValue) / 100) * Number(smr.distributor_price_from_basf));\r\n }\r\n if (rowData.specValue !== '') {\r\n smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) + Number((Number(smr.specValue) / 100) * Number(smr.support_price_to_end_customer));\r\n }\r\n }\r\n });\r\n }\r\n\r\n emChangeInPercentageDecrease(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.dpbValue !== '') {\r\n smr.distributor_price_from_basf_MC = Number(smr.distributor_price_from_basf) - Number((Number(smr.dpbValue) / 100) * Number(smr.distributor_price_from_basf));\r\n }\r\n if (rowData.specValue !== '') {\r\n smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) - Number((Number(smr.specValue) / 100) * Number(smr.support_price_to_end_customer));\r\n }\r\n }\r\n });\r\n }\r\n\r\n emChangeInPrice(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.directionOfChange === '1') {\r\n this.emChangeInPriceIncrease(rowData);\r\n } else {\r\n this.emChangeInPriceDecrease(rowData);\r\n }\r\n }\r\n });\r\n }\r\n\r\n emChangeInPriceIncrease(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.dpbValue !== '') {\r\n smr.distributor_price_from_basf_MC = Number(smr.distributor_price_from_basf) + Number(smr.dpbValue);\r\n }\r\n if (rowData.specValue !== '') {\r\n smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) + Number(smr.specValue);\r\n }\r\n }\r\n });\r\n }\r\n\r\n emChangeInPriceDecrease(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.dpbValue !== '') {\r\n smr.distributor_price_from_basf_MC = Number(smr.distributor_price_from_basf) - Number(smr.dpbValue);\r\n }\r\n if (rowData.specValue !== '') {\r\n smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) - Number(smr.specValue);\r\n }\r\n }\r\n });\r\n }\r\n edChangeInPrice(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.directionOfChange === '1') {\r\n this.edChangeInPriceIncrease(rowData);\r\n } else {\r\n this.edChangeInPriceDecrease(rowData);\r\n }\r\n }\r\n });\r\n }\r\n\r\n edChangeInPriceIncrease(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.dpbValue !== '') {\r\n smr.distributor_price_from_basf_MC = Number(smr.distributor_price_from_basf) + Number(smr.dpbValue);\r\n }\r\n if (rowData.specValue !== '') {\r\n smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) + Number(smr.specValue);\r\n }\r\n }\r\n });\r\n }\r\n\r\n edChangeInPriceDecrease(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.dpbValue !== '') {\r\n smr.distributor_price_from_basf_MC = Number(smr.distributor_price_from_basf) - Number(smr.dpbValue);\r\n }\r\n if (rowData.specValue !== '') {\r\n smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) - Number(smr.specValue);\r\n }\r\n }\r\n });\r\n }\r\n\r\n calculateForEV(rowData) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.typeOfChange === '1') {\r\n this.changeInPercentage(rowData);\r\n } else {\r\n this.changeInPrice(rowData);\r\n }\r\n }\r\n });\r\n }\r\n\r\n changeInPercentage(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.directionOfChange === '1') {\r\n switch (smr.scopeOfChange) {\r\n case \"1\": smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) + Number((Number(smr.discount) / 100) * Number(smr.support_price_to_end_customer)); smr.net_support_price_MC = Number(smr.net_support_price); break;\r\n case \"2\": smr.net_support_price_MC = Number(smr.net_support_price) + Number((Number(smr.discount) / 100) * Number(smr.net_support_price)); smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer); break;\r\n case \"3\": smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) + Number((Number(smr.discount) / 100) * Number(smr.support_price_to_end_customer));\r\n smr.net_support_price_MC = Number(smr.net_support_price) + Number((Number(smr.discount) / 100) * Number(smr.net_support_price));\r\n break;\r\n default: break;\r\n }\r\n } else {\r\n switch (smr.scopeOfChange) {\r\n case \"1\": smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) - Number((Number(smr.discount) / 100) * Number(smr.support_price_to_end_customer)); smr.net_support_price_MC = Number(smr.net_support_price); break;\r\n case \"2\": smr.net_support_price_MC = Number(smr.net_support_price) - Number((Number(smr.discount) / 100) * Number(smr.net_support_price)); smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer); break;\r\n case \"3\": smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) - Number((Number(smr.discount) / 100) * Number(smr.support_price_to_end_customer));\r\n smr.net_support_price_MC = Number(smr.net_support_price) - Number((Number(smr.discount) / 100) * Number(smr.net_support_price));\r\n break;\r\n default: break;\r\n }\r\n }\r\n this.calculateEMEVEDPrices(smr);\r\n }\r\n });\r\n }\r\n\r\n changeInPrice(rowData: any) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.directionOfChange === '1') {\r\n switch (smr.scopeOfChange) {\r\n case \"1\": smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) + Number(smr.discount); smr.net_support_price_MC = Number(smr.net_support_price); break;\r\n case \"2\": smr.net_support_price_MC = Number(smr.net_support_price) + Number(smr.discount); smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer); break;\r\n case \"3\": smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) + Number(smr.discount);\r\n smr.net_support_price_MC = Number(smr.net_support_price) + Number(smr.discount); break;\r\n default: break;\r\n }\r\n } else {\r\n switch (smr.scopeOfChange) {\r\n case \"1\": smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) - Number(smr.discount); smr.net_support_price_MC = Number(smr.net_support_price); break;\r\n case \"2\": smr.net_support_price_MC = Number(smr.net_support_price) - Number(smr.discount); smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer); break;\r\n case \"3\": smr.support_price_to_end_customer_MC = Number(smr.support_price_to_end_customer) - Number(smr.discount);\r\n smr.net_support_price_MC = Number(smr.net_support_price) - Number(smr.discount); break;\r\n default: break;\r\n }\r\n }\r\n this.calculateEMEVEDPrices(smr);\r\n }\r\n });\r\n }\r\n\r\n calculateForPM(rowData) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n if (rowData.typeOfChange === '1') {\r\n if (rowData.directionOfChange === '1') {\r\n smr.suggested_selling_price_MC = Number(smr.suggested_selling_price) + Number((Number(smr.discount) / 100) * Number(smr.suggested_selling_price));\r\n } else {\r\n smr.suggested_selling_price_MC = Number(smr.suggested_selling_price) - Number((Number(smr.discount) / 100) * Number(smr.suggested_selling_price));\r\n }\r\n } else {\r\n if (rowData.directionOfChange === '1') {\r\n smr.suggested_selling_price_MC = Number(smr.suggested_selling_price) + Number(smr.discount);\r\n } else {\r\n smr.suggested_selling_price_MC = Number(smr.suggested_selling_price) - Number(smr.discount);\r\n }\r\n }\r\n this.doPMCalculationsForPM(smr);\r\n }\r\n });\r\n }\r\n\r\n callProductPricingService(rowData) {\r\n this.spinner.show();\r\n this.prodData = [];\r\n let effective_date = moment(rowData['date']).format('yyyy-MM-DD');\r\n this._cupsService.getProductPricingRecord(3, rowData.article_number, rowData.distributor_sold_to_id, 0, 0, effective_date, rowData.sales_org_name, 0).subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n let receivedProduct = JSON.parse(JSON.stringify(this.apiResp.response));\r\n let currencyUnit = rowData.currency_unit;\r\n this.checkScale1Values(receivedProduct, currencyUnit);\r\n this.checkScale2Values(receivedProduct, currencyUnit);\r\n this.checkScale3Values(receivedProduct, currencyUnit);\r\n this.checkScale4Values(receivedProduct, currencyUnit);\r\n this.checkScale5Values(receivedProduct, currencyUnit);\r\n this.checkScale6Values(receivedProduct, currencyUnit);\r\n this.checkScale7Values(receivedProduct, currencyUnit);\r\n let rowObj = {\r\n data: this.prodData.find(p => p.prodQuantity === rowData.minimum_qty)\r\n }\r\n if (rowObj.data) {\r\n this.onProductSelect(rowObj, rowData);\r\n }\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._cupsService.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n getEMPMHistory(rowData) {\r\n let requestId = this.selectedBusinessUnit === 3 ? rowData['pm_request_id'] : rowData['request_id'];\r\n this._cupsService.getEMPPMHistory(requestId, this.bu, this.isDistributor).subscribe(response => {\r\n this.spinner.hide();\r\n this.apiResp = response;\r\n if (!this.apiResp['isError']) {\r\n this.apiResp['historyData'].forEach(hd => {\r\n hd.type_of_change = (hd.type_of_change === 1) ? '%' : '$';\r\n hd.direction_of_change = (hd.direction_of_change === 1) ? 'Increase' : 'Decrease';\r\n hd.effective_date_of_change = moment(hd.effective_date_of_change).format('MM/DD/YYYY');\r\n hd.expiration_date = moment(hd.expiration_date).format('MM/DD/YYYY');\r\n })\r\n this.priceData = JSON.parse(JSON.stringify(this.apiResp['historyData']));\r\n this.priceData.forEach(pd => {\r\n pd.effectiveDate = moment(pd['effectiveDate']).format('MMMM Do YYYY');\r\n });\r\n this.getDistributorPrice(rowData['date'], rowData);\r\n }\r\n });\r\n }\r\n\r\n getDistributorPrice(date: any, rowData) {\r\n let foundPrices = [];\r\n if (this.priceData.length) {\r\n foundPrices = this.priceData.filter(pd => new Date(pd.effective_date_of_change).getTime() < new Date(date).getTime());\r\n foundPrices = foundPrices.filter(fp => moment(date).format(\"MM/DD/yyyy\") !== moment(fp['effective_date_of_change']).format(\"MM/DD/yyyy\"))\r\n this.massChangeExisting = false;\r\n if (this.selectedBusinessUnit === 3) {\r\n this.assignPM_MC_values(foundPrices, rowData);\r\n }\r\n if (this.selectedBusinessUnit === 1 || this.selectedBusinessUnit === 4) {\r\n this.assignEM_MC_values(foundPrices, rowData);\r\n }\r\n }\r\n }\r\n\r\n assignPM_MC_values(foundPrices, rowData) {\r\n if (foundPrices.length) {\r\n let minDate = foundPrices.reduce((a, b) => new Date(a.effective_date_of_change) > new Date(b.effective_date_of_change) ? a : b)\r\n if (new Date(rowData.date) === new Date(minDate['effective_date_of_change'])) {\r\n this.massChangeExisting = true;\r\n }\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n smr['suggested_selling_price'] = minDate['suggested_selling_price'];\r\n smr['suggested_selling_price_MC'] = minDate['suggested_selling_price'];\r\n smr['supported_buy_price'] = minDate['supported_buy_price'];\r\n smr['supported_buy_price_MC'] = minDate['supported_buy_price'];\r\n smr['rebate'] = minDate['rebate']\r\n smr['rebate_MC'] = minDate['rebate'];\r\n this.calculateForPM(smr);\r\n }\r\n });\r\n } else {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n let fRequest = this.orgSelectedMassRows.find(orm => orm.cupReqId === rowData.cupReqId);\r\n smr['suggested_selling_price'] = fRequest['suggested_selling_price'];\r\n smr['suggested_selling_price_MC'] = fRequest['suggested_selling_price'];\r\n smr['supported_buy_price'] = fRequest['supported_buy_price'];\r\n smr['supported_buy_price_MC'] = fRequest['supported_buy_price'];\r\n smr['rebate'] = fRequest['rebate']\r\n smr['rebate_MC'] = fRequest['rebate'];\r\n this.calculateForPM(smr);\r\n }\r\n });\r\n }\r\n }\r\n\r\n assignEM_MC_values(foundPrices, rowData) {\r\n if (foundPrices.length) {\r\n let minDate = foundPrices.reduce((a, b) => new Date(a.created_date) > new Date(b.created_date) ? a : b)\r\n if (moment(rowData.date).format(\"MM/DD/yyyy\") === moment(minDate['effective_date_of_change']).format(\"MM/DD/yyyy\")) {\r\n this.massChangeExisting = true;\r\n }\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n smr['distributor_price_from_basf'] = minDate['distributor_price_from_basf'];\r\n smr['distributor_price_from_basf_MC'] = minDate['distributor_price_from_basf'];\r\n smr['support_price_to_end_customer'] = minDate['support_price_to_end_customer'];\r\n smr['support_price_to_end_customer_MC'] = minDate['support_price_to_end_customer'];\r\n smr['net_support_price'] = minDate['net_support_price']\r\n smr['net_support_price_MC'] = minDate['net_support_price'];\r\n smr['credit_back_amount'] = minDate['credit_back_amount']\r\n smr['credit_back_amount_MC'] = minDate['credit_back_amount'];\r\n this.calculateEMEVEDPrices(smr);\r\n }\r\n });\r\n }\r\n else {\r\n this.assignEM_MC_INIT_Values(rowData);\r\n }\r\n }\r\n\r\n assignEM_MC_INIT_Values(rowData) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n let fRequest = this.orgSelectedMassRows.find(orm => orm.cupReqId === rowData.cupReqId);\r\n smr['distributor_price_from_basf'] = fRequest['distributor_price_from_basf'];\r\n smr['distributor_price_from_basf_MC'] = fRequest['distributor_price_from_basf'];\r\n smr['support_price_to_end_customer'] = fRequest['support_price_to_end_customer'];\r\n smr['support_price_to_end_customer_MC'] = fRequest['support_price_to_end_customer'];\r\n smr['net_support_price'] = fRequest['net_support_price']\r\n smr['net_support_price_MC'] = fRequest['net_support_price'];\r\n smr['credit_back_amount'] = fRequest['credit_back_amount']\r\n smr['credit_back_amount_MC'] = fRequest['credit_back_amount'];\r\n this.calculateEMEVEDPrices(smr);\r\n }\r\n });\r\n }\r\n\r\n checkScale1Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate1'] && receivedProduct['scale_quantity1']) {\r\n let prodObj = {\r\n prodId: 1,\r\n prodQuantity: receivedProduct['scale_quantity1'],\r\n prodLBPrice: receivedProduct['scale_rate1'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate1'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj);\r\n }\r\n }\r\n\r\n checkScale2Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate2'] && receivedProduct['scale_quantity2']) {\r\n let prodObj1 = {\r\n prodId: 2,\r\n prodQuantity: receivedProduct['scale_quantity2'],\r\n prodLBPrice: receivedProduct['scale_rate2'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate2'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj1);\r\n }\r\n }\r\n\r\n checkScale3Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate3'] && receivedProduct['scale_quantity3']) {\r\n let prodObj3 = {\r\n prodId: 3,\r\n prodQuantity: receivedProduct['scale_quantity3'],\r\n prodLBPrice: receivedProduct['scale_rate3'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate3'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj3);\r\n }\r\n }\r\n\r\n checkScale4Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate4'] && receivedProduct['scale_quantity4']) {\r\n let prodObj4 = {\r\n prodId: 4,\r\n prodQuantity: receivedProduct['scale_quantity4'],\r\n prodLBPrice: receivedProduct['scale_rate4'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate4'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj4);\r\n }\r\n }\r\n\r\n checkScale5Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate5'] && receivedProduct['scale_quantity5']) {\r\n let prodObj5 = {\r\n prodId: 5,\r\n prodQuantity: receivedProduct['scale_quantity5'],\r\n prodLBPrice: receivedProduct['scale_rate5'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate5'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj5);\r\n }\r\n }\r\n\r\n checkScale6Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate6'] && receivedProduct['scale_quantity6']) {\r\n let prodObj6 = {\r\n prodId: 6,\r\n prodQuantity: receivedProduct['scale_quantity6'],\r\n prodLBPrice: receivedProduct['scale_rate6'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate6'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj6);\r\n }\r\n }\r\n\r\n checkScale7Values(receivedProduct: any, currencyUnit) {\r\n let prodObj7 = {\r\n prodId: 7,\r\n prodQuantity: 0,\r\n prodLBPrice: receivedProduct.list_Price,\r\n prodKGPrice: (2.2046 * Number(receivedProduct.list_Price)).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.prodData.push(prodObj7);\r\n }\r\n\r\n onProductSelect(rowObj, rowData) {\r\n this.selectedMassRows.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n smr['minimum_qty'] = rowObj.data['prodQuantity'];\r\n smr['list_price_lb'] = rowObj.data['prodLBPrice'];\r\n smr['list_price_kg'] = rowObj.data['prodKGPrice'];\r\n smr['currency_unit'] = rowObj.data['prodCurrency'];\r\n }\r\n });\r\n this.doPMCalculationsForPM(rowData);\r\n }\r\n\r\n getDaysDiff(start_date, end_date, _date_format = 'YYYY-MM-DD') {\r\n let sDate = moment(start_date);\r\n let eDate = moment(end_date);\r\n return sDate.diff(eDate, 'days') + 1;\r\n }\r\n\r\n removeCup(rowData) {\r\n this.selectedMassRows = this.selectedMassRows.filter(smr => smr.cupReqId !== rowData.cupReqId);\r\n }\r\n\r\n getFilterObject(fullObj, key) {\r\n const uniqChk = [];\r\n let blanks = false;\r\n fullObj.filter((obj) => {\r\n if (!uniqChk.includes(obj[key])) {\r\n if (obj[key] !== null && obj[key] !== '')\r\n uniqChk.push(obj[key]);\r\n else if (!uniqChk.includes('Blanks')) {\r\n blanks = true;\r\n }\r\n }\r\n return obj;\r\n });\r\n const numericColumns = ['competitive_price', 'mileage_outbound', 'mileage_inbound', 'distributor_price_from_basf', 'support_price_to_end_customer', 'discount_percent', 'frieght_allowance', 'other_allowance', 'net_support_price', 'credit_back_amount'];\r\n const dateColumns = ['submission_date', 'expiration_date', 'effective_date'];\r\n if (dateColumns.includes(key)) {\r\n uniqChk.sort(function (a, b) {\r\n const aComps = a.split(\"/\");\r\n const bComps = b.split(\"/\");\r\n const aDate = new Date(aComps[2], aComps[0], aComps[1]);\r\n const bDate = new Date(bComps[2], bComps[0], bComps[1]);\r\n return aDate.getTime() - bDate.getTime();\r\n });\r\n }\r\n else if (numericColumns.includes(key)) {\r\n uniqChk.sort((a, b) => {\r\n return ((Number(a) < Number(b)) ? -1 : 1)\r\n });\r\n }\r\n else {\r\n uniqChk.sort();\r\n }\r\n if (blanks) uniqChk.unshift('Blanks');\r\n return uniqChk;\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-login-test',\r\n templateUrl: './login-test.component.html',\r\n styleUrls: []\r\n})\r\nexport class LoginTestComponent implements OnInit {\r\n returnUrl: string;\r\n returnUrlpath: string;\r\n user = \"\";\r\n usersData: any;\r\n buUsersData: any;\r\n userId: any;\r\n tokenInfo: any;\r\n loginAudiInfo: any;\r\n constructor(private router: Router, private _service: CupsService, private spinner: NgxSpinnerService) {\r\n }\r\n\r\n ngOnInit() {\r\n //sessionStorage.clear();\r\n this.spinner.show();\r\n this._service.getUsers().subscribe(response => {\r\n if (!response['isError']) {\r\n this.usersData = response['lstUsers'].filter(u => u.is_active);\r\n this.buUsersData = response['lstuserBu'];\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n loginbtn() {\r\n this._service.getUserDetailsById(this.user).subscribe(response => {\r\n if (!response['isError']) {\r\n this.usersData = response['lstUsers'][0];\r\n if (this.usersData) {\r\n sessionStorage.setItem('loginuser', this.usersData.first_name);\r\n sessionStorage.setItem('loginuseremail', this.usersData.email);\r\n sessionStorage.setItem('jwtToken', btoa(this.usersData.email));\r\n sessionStorage.setItem('UserToken', this.usersData);\r\n //if (this.usersData.businessunit_id == 1 || this.usersData.businessunit_id == 4) {\r\n sessionStorage.setItem('SalesSupportDistributor', '0');\r\n //}\r\n this._service.sendAdminValue(this.usersData.is_admin);\r\n sessionStorage.setItem('userid', this.usersData.user_id);\r\n sessionStorage.setItem('isDistributor', this.usersData.is_distributor_user);\r\n sessionStorage.setItem('isSalesSupport', this.usersData.is_sales_support);\r\n if (this.usersData.is_distributor_user) {\r\n sessionStorage.setItem('IsAdmin', 'false');\r\n }\r\n else {\r\n sessionStorage.setItem('IsAdmin', this.usersData.is_admin);\r\n }\r\n sessionStorage.setItem('isSalesRep', this.usersData.is_sales_rep);\r\n this._service.sendDistributorValue(this.usersData.is_distributor_user);\r\n let sessionObject = {\r\n isAdmin: this.usersData.is_admin,\r\n isDistributor: this.usersData.is_distributor_user,\r\n loginUser: sessionStorage.getItem('loginuser') \r\n };\r\n this._service.sendSessionObject(sessionObject);\r\n\r\n switch (this.usersData.businessunit_id) {\r\n case 1: sessionStorage.setItem('BU', 'EM'); break;\r\n case 2: sessionStorage.setItem('BU', 'EV'); break;\r\n case 3: sessionStorage.setItem('BU', 'PM'); break;\r\n case 4: sessionStorage.setItem('BU', 'ED'); break;\r\n default: sessionStorage.setItem('BU', 'EM'); break;\r\n }\r\n this._service.sendSalesSupport(this.usersData.is_sales_support);\r\n this._service.sendSalesRep(this.usersData.is_sales_rep);\r\n this._service.sendBusinessUnit(sessionStorage.getItem('BU'));\r\n this._service.sendUserValue(sessionStorage.getItem('userid'));\r\n this.returnUrl = sessionStorage.getItem('returnUrl');\r\n if (this.returnUrl == undefined || this.returnUrl == '') {\r\n this.router.navigate(['/home']);\r\n }\r\n else {\r\n this.returnUrl = decodeURIComponent(this.returnUrl);\r\n this.returnUrlpath = sessionStorage.getItem('returnUrlpath');\r\n this.router.navigateByUrl(this.returnUrl);\r\n }\r\n } else {\r\n this.router.navigate(['error'])\r\n }\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n }\r\n}\r\n","export default \"body{\\r\\n font-family: 'Roboto', sans-serif;\\r\\n margin:0px !important;\\r\\n overflow: hidden;\\r\\n}\\r\\n.submit-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n.add-btn{\\r\\n position: fixed;\\r\\n right: 25px;\\r\\n bottom: 20Px;\\r\\n}\\r\\n/** form **/\\r\\n.form-wraper{\\r\\n width: 100%;\\r\\n margin-top: 2%;\\r\\n}\\r\\n.form-container{\\r\\n width: 35%;\\r\\n margin: auto;\\r\\n padding-bottom: 24px !important;\\r\\n display: block;\\r\\n background: rgb(253, 253, 253);\\r\\n}\\r\\n.card {\\r\\n border-radius: 2px;\\r\\n box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);\\r\\n transition: all 0.3s cubic-bezier(.25,.8,.25,1);\\r\\n}\\r\\n/** form header **/\\r\\n.form-header{\\r\\n padding: 24px 0;\\r\\n text-align: center;\\r\\n}\\r\\n.form-title{\\r\\n text-align: center;\\r\\n font-weight: 200;\\r\\n font-size: 2.5em;\\r\\n}\\r\\n.main-lock-icon{\\r\\n /* width: 20%; */\\r\\n margin: 5px auto;\\r\\n display: block;\\r\\n}\\r\\n/** form body **/\\r\\n.form-body{\\r\\n padding: 0 24px;\\r\\n}\\r\\n.justifier {\\r\\n width: 100%;\\r\\n}\\r\\n.form-input{\\r\\n margin-top: 24px;\\r\\n}\\r\\n/** form footer **/\\r\\n.form-footer{\\r\\n padding: 24px;\\r\\n}\\r\\n.btn{\\r\\n display: block;\\r\\n width: 50%;\\r\\n /* padding: 5% !important;\\r\\n font-size: 1.5em;\\r\\n font-weight: 200;\\r\\n margin-top: 18px; */\\r\\n}\\r\\n.custom-btn{\\r\\n margin-bottom: 15px;\\r\\n background: #F3932C;\\r\\n color: #fff;\\r\\n}\\r\\n.google-icon{\\r\\n width: 6%;\\r\\n}\\r\\n.txt{\\r\\n text-align: center;\\r\\n color: #333;\\r\\n margin: 10px auto !important;\\r\\n}\\r\\n.additional-link{\\r\\n padding: 10px auto;\\r\\n text-align: center;\\r\\n}\\r\\na{\\r\\n text-decoration: none;\\r\\n color: rgb(42, 125, 219);\\r\\n}\\r\\n/*\\r\\n ##Device = Desktops\\r\\n ##Screen = 1281px to higher resolution desktops\\r\\n*/\\r\\n/* @media (min-width: 1281px) {\\r\\n\\r\\n} */\\r\\n/* \\r\\n ##Device = Laptops, Desktops\\r\\n ##Screen = B/w 1025px to 1280px\\r\\n */\\r\\n/* @media (min-width: 1025px) and (max-width: 1280px) {\\r\\n\\r\\n } */\\r\\n/* \\r\\n ##Device = Tablets, Ipads (portrait)\\r\\n ##Screen = B/w 768px to 1024px\\r\\n */\\r\\n@media (min-width: 768px) and (max-width: 1024px) {\\r\\n .form-container{\\r\\n width: 95%;\\r\\n margin: auto;\\r\\n padding-bottom: 24px !important;\\r\\n display: block;\\r\\n background: rgb(253, 253, 253);\\r\\n }\\r\\n .btn{\\r\\n font-size: 1em;\\r\\n }\\r\\n }\\r\\n/* \\r\\n ##Device = Tablets, Ipads (landscape)\\r\\n ##Screen = B/w 768px to 1024px\\r\\n */\\r\\n/* @media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {\\r\\n\\r\\n } */\\r\\n/* \\r\\n ##Device = Low Resolution Tablets, Mobiles (Landscape)\\r\\n ##Screen = B/w 481px to 767px\\r\\n\\r\\n */\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .form-container{\\r\\n width: 95%;\\r\\n margin: auto;\\r\\n padding-bottom: 24px !important;\\r\\n display: block;\\r\\n background: rgb(253, 253, 253);\\r\\n }\\r\\n .btn{\\r\\n font-size: 1em;\\r\\n }\\r\\n }\\r\\n/* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n \\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .form-container{\\r\\n width: 95%;\\r\\n margin: auto;\\r\\n padding-bottom: 24px !important;\\r\\n display: block;\\r\\n background: rgb(253, 253, 253);\\r\\n }\\r\\n .btn{\\r\\n font-size: 1em;\\r\\n }\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUNBQWlDO0lBQ2pDLHFCQUFxQjtJQUNyQixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxtQkFBbUI7QUFDdkI7QUFDQTtJQUNJLGVBQWU7SUFDZixXQUFXO0lBQ1gsWUFBWTtBQUNoQjtBQUVBLFdBQVc7QUFDWDtJQUNJLFdBQVc7SUFDWCxjQUFjO0FBQ2xCO0FBQ0E7SUFDSSxVQUFVO0lBQ1YsWUFBWTtJQUNaLCtCQUErQjtJQUMvQixjQUFjO0lBQ2QsOEJBQThCO0FBQ2xDO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsa0VBQWtFO0lBQ2xFLCtDQUErQztBQUNuRDtBQUVBLGtCQUFrQjtBQUNsQjtJQUNJLGVBQWU7SUFDZixrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLGNBQWM7QUFDbEI7QUFFQSxnQkFBZ0I7QUFDaEI7SUFDSSxlQUFlO0FBQ25CO0FBQ0E7SUFDSSxXQUFXO0FBQ2Y7QUFDQTtJQUNJLGdCQUFnQjtBQUNwQjtBQUVBLGtCQUFrQjtBQUNsQjtJQUNJLGFBQWE7QUFDakI7QUFDQTtJQUNJLGNBQWM7SUFDZCxVQUFVO0lBQ1Y7Ozt1QkFHbUI7QUFDdkI7QUFDQTtJQUNJLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsV0FBVztBQUNmO0FBQ0E7SUFDSSxTQUFTO0FBQ2I7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsNEJBQTRCO0FBQ2hDO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxxQkFBcUI7SUFDckIsd0JBQXdCO0FBQzVCO0FBRUE7OztDQUdDO0FBRUQ7O0dBRUc7QUFFRDs7O0VBR0E7QUFFQTs7TUFFSTtBQUVKOzs7R0FHQztBQUVEO0lBQ0U7UUFDSSxVQUFVO1FBQ1YsWUFBWTtRQUNaLCtCQUErQjtRQUMvQixjQUFjO1FBQ2QsOEJBQThCO0lBQ2xDO0lBQ0E7UUFDSSxjQUFjO0lBQ2xCO0VBQ0Y7QUFFQTs7O0VBR0E7QUFFQTs7TUFFSTtBQUVKOzs7O0lBSUU7QUFDRjtJQUNFO1FBQ0ksVUFBVTtRQUNWLFlBQVk7UUFDWiwrQkFBK0I7UUFDL0IsY0FBYztRQUNkLDhCQUE4QjtJQUNsQztJQUNBO1FBQ0ksY0FBYztJQUNsQjtFQUNGO0FBRUE7Ozs7R0FJQztBQUNEO0lBQ0U7UUFDSSxVQUFVO1FBQ1YsWUFBWTtRQUNaLCtCQUErQjtRQUMvQixjQUFjO1FBQ2QsOEJBQThCO0lBQ2xDO0lBQ0E7UUFDSSxjQUFjO0lBQ2xCO0VBQ0YiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJib2R5e1xyXG4gICAgZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBzYW5zLXNlcmlmO1xyXG4gICAgbWFyZ2luOjBweCAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4uc3VibWl0LWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgbWFyZ2luOjEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcbi5hZGQtYnRue1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgcmlnaHQ6IDI1cHg7XHJcbiAgICBib3R0b206IDIwUHg7XHJcbn1cclxuXHJcbi8qKiBmb3JtICoqL1xyXG4uZm9ybS13cmFwZXJ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi10b3A6IDIlO1xyXG59XHJcbi5mb3JtLWNvbnRhaW5lcntcclxuICAgIHdpZHRoOiAzNSU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjUzLCAyNTMsIDI1Myk7XHJcbn1cclxuLmNhcmQge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC4xMiksIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMjQpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKC4yNSwuOCwuMjUsMSk7XHJcbn1cclxuXHJcbi8qKiBmb3JtIGhlYWRlciAqKi9cclxuLmZvcm0taGVhZGVye1xyXG4gICAgcGFkZGluZzogMjRweCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5mb3JtLXRpdGxle1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcclxuICAgIGZvbnQtc2l6ZTogMi41ZW07XHJcbn1cclxuLm1haW4tbG9jay1pY29ue1xyXG4gICAgLyogd2lkdGg6IDIwJTsgKi9cclxuICAgIG1hcmdpbjogNXB4IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLyoqIGZvcm0gYm9keSAqKi9cclxuLmZvcm0tYm9keXtcclxuICAgIHBhZGRpbmc6IDAgMjRweDtcclxufVxyXG4uanVzdGlmaWVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcbi5mb3JtLWlucHV0e1xyXG4gICAgbWFyZ2luLXRvcDogMjRweDtcclxufVxyXG5cclxuLyoqIGZvcm0gZm9vdGVyICoqL1xyXG4uZm9ybS1mb290ZXJ7XHJcbiAgICBwYWRkaW5nOiAyNHB4O1xyXG59XHJcbi5idG57XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICAvKiBwYWRkaW5nOiA1JSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XHJcbiAgICBtYXJnaW4tdG9wOiAxOHB4OyAqL1xyXG59XHJcbi5jdXN0b20tYnRue1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIGJhY2tncm91bmQ6ICNGMzkzMkM7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4uZ29vZ2xlLWljb257XHJcbiAgICB3aWR0aDogNiU7XHJcbn1cclxuLnR4dHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgbWFyZ2luOiAxMHB4IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG4uYWRkaXRpb25hbC1saW5re1xyXG4gICAgcGFkZGluZzogMTBweCBhdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbmF7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBjb2xvcjogcmdiKDQyLCAxMjUsIDIxOSk7XHJcbn1cclxuXHJcbi8qXHJcbiAgIyNEZXZpY2UgPSBEZXNrdG9wc1xyXG4gICMjU2NyZWVuID0gMTI4MXB4IHRvIGhpZ2hlciByZXNvbHV0aW9uIGRlc2t0b3BzXHJcbiovXHJcblxyXG4vKiBAbWVkaWEgKG1pbi13aWR0aDogMTI4MXB4KSB7XHJcblxyXG59ICovXHJcbiAgXHJcbiAgLyogXHJcbiAgICAjI0RldmljZSA9IExhcHRvcHMsIERlc2t0b3BzXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAxMDI1cHggdG8gMTI4MHB4XHJcbiAqL1xyXG4gIFxyXG4gIC8qIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIGFuZCAobWF4LXdpZHRoOiAxMjgwcHgpIHtcclxuXHJcbiAgfSAgKi9cclxuICBcclxuICAvKiBcclxuICAgICMjRGV2aWNlID0gVGFibGV0cywgSXBhZHMgKHBvcnRyYWl0KVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgNzY4cHggdG8gMTAyNHB4XHJcbiAgKi9cclxuICBcclxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgIC5mb3JtLWNvbnRhaW5lcntcclxuICAgICAgICB3aWR0aDogOTUlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYigyNTMsIDI1MywgMjUzKTtcclxuICAgIH1cclxuICAgIC5idG57XHJcbiAgICAgICAgZm9udC1zaXplOiAxZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFxyXG4gICAgIyNEZXZpY2UgPSBUYWJsZXRzLCBJcGFkcyAobGFuZHNjYXBlKVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgNzY4cHggdG8gMTAyNHB4XHJcbiAqL1xyXG4gIFxyXG4gIC8qIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDEwMjRweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XHJcblxyXG4gIH0gICovXHJcbiAgXHJcbiAgLyogXHJcbiAgICAjI0RldmljZSA9IExvdyBSZXNvbHV0aW9uIFRhYmxldHMsIE1vYmlsZXMgKExhbmRzY2FwZSlcclxuICAgICMjU2NyZWVuID0gQi93IDQ4MXB4IHRvIDc2N3B4XHJcblxyXG4gICAqL1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuZm9ybS1jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjUzLCAyNTMsIDI1Myk7XHJcbiAgICB9XHJcbiAgICAuYnRue1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgfVxyXG4gIH0gXHJcbiAgXHJcbiAgLyogXHJcbiAgICAjI0RldmljZSA9IE1vc3Qgb2YgdGhlIFNtYXJ0cGhvbmVzIE1vYmlsZXMgKFBvcnRyYWl0KVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgMzIwcHggdG8gNDc5cHhcclxuICBcclxuICAqL1xyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuZm9ybS1jb250YWluZXJ7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDI0cHggIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2IoMjUzLCAyNTMsIDI1Myk7XHJcbiAgICB9XHJcbiAgICAuYnRue1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xyXG4gICAgfVxyXG4gIH0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n form: FormGroup;\r\n submitted = false;\r\n islogin: boolean = false;\r\n username: string;\r\n\r\n adminAccess: boolean = false;\r\n loginvalue: string;\r\n responsefromJWT: any;\r\n expireDate: Date;\r\n logout: any;\r\n params: { Username: string; Email: string; IsAdmin: string; userid:number};\r\n\r\n ngOnInit() {\r\n if (sessionStorage.getItem(\"logout\") != undefined) {\r\n this.logout = JSON.parse(sessionStorage.getItem(\"logout\"))\r\n }\r\n }\r\n \r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.cust-form-label {\\r\\n font-size: 14px !important;\\r\\n margin-bottom: 0px !important;\\r\\n display: block;\\r\\n}\\r\\n.cancel-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 5px !important;\\r\\n}\\r\\n.submit-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 5px !important;\\r\\n}\\r\\n.reject-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: grey;\\r\\n margin:10px;\\r\\n border-radius: 5px !important;\\r\\n}\\r\\nsmall {\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n.cust-form-group {\\r\\n justify-content: end;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n#pmCupsRequestForm .ui-dropdown {\\r\\n width: 100% !important;\\r\\n border: 1px solid black !important;\\r\\n}\\r\\n#pmProductsList .ui-table .ui-table-thead>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n#pmProductsList .ui-table .ui-table-thead>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n#pmProductsList .ui-table .ui-table-tbody>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 2px 2px;\\r\\n background-color: #4f4f4f;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n /* border: 1px solid #4f4f4f !important; */\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n#pmProductsList .ui-table .ui-table-tbody>tr>td>p {\\r\\n background-color: white;\\r\\n padding: 5px 10px;\\r\\n}\\r\\n#pmProductsList .ui-table .ui-table-tbody>tr>td:first-child {\\r\\n text-align: center;\\r\\n padding: 5px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9wbS1jdXBzLXJlcXVlc3QvcG0tY3Vwcy1yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSwwQkFBMEI7SUFDMUIsNkJBQTZCO0lBQzdCLGNBQWM7QUFDbEI7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCw2QkFBNkI7QUFDakM7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCw2QkFBNkI7QUFDakM7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1osc0JBQXNCO0lBQ3RCLFdBQVc7SUFDWCw2QkFBNkI7QUFDakM7QUFDQTtJQUNJLDJCQUEyQjtBQUMvQjtBQUNBO0lBQ0ksb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixzQkFBc0I7QUFDMUI7QUFDQTtJQUNJLHNCQUFzQjtJQUN0QixrQ0FBa0M7QUFDdEM7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHlCQUF5QjtBQUM3QjtBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQzNCO0FBQ0E7SUFDSSxlQUFlO0lBQ2YscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLDBDQUEwQztJQUMxQyx1QkFBdUI7SUFDdkIsOEJBQThCO0FBQ2xDO0FBQ0E7SUFDSSx1QkFBdUI7SUFDdkIsaUJBQWlCO0FBQ3JCO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtBQUNoQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcG0tY3Vwcy1yZXF1ZXN0L3BtLWN1cHMtcmVxdWVzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhlYWRlci1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcbi5jdXN0LWZvcm0tbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcbi5jYW5jZWwtYnRuIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcbi5zdWJtaXQtYnRuIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcbi5yZWplY3QtYnRuIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGdyZXk7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcbnNtYWxsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcclxufVxyXG4uY3VzdC1mb3JtLWdyb3VwIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuI3BtQ3Vwc1JlcXVlc3RGb3JtIC51aS1kcm9wZG93biB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuI3BtUHJvZHVjdHNMaXN0IC51aS10YWJsZSAudWktdGFibGUtdGhlYWQ+dHI+dGgge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRmNGY0ZjtcclxuICAgIGNvbG9yOndoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWYwZmY7XHJcbn1cclxuXHJcbiNwbVByb2R1Y3RzTGlzdCAudWktdGFibGUgLnVpLXRhYmxlLXRoZWFkPnRyPnRoPmRpdiB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcbiNwbVByb2R1Y3RzTGlzdCAudWktdGFibGUgLnVpLXRhYmxlLXRib2R5PnRyPnRkIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMnB4IDJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgLyogYm9yZGVyOiAxcHggc29saWQgIzRmNGY0ZiAhaW1wb3J0YW50OyAqL1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XHJcbn1cclxuI3BtUHJvZHVjdHNMaXN0IC51aS10YWJsZSAudWktdGFibGUtdGJvZHk+dHI+dGQ+cCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG59XHJcbiNwbVByb2R1Y3RzTGlzdCAudWktdGFibGUgLnVpLXRhYmxlLXRib2R5PnRyPnRkOmZpcnN0LWNoaWxkIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDVweDtcclxufSJdfQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\nimport * as moment from 'moment'\r\n\r\n@Component({\r\n selector: 'app-pm-cups-request',\r\n templateUrl: './pm-cups-request.component.html',\r\n styleUrls: ['./pm-cups-request.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PmCupsRequestComponent implements OnInit {\r\n formData = {};\r\n workFlowResp: any = {};\r\n requestAPI = {\r\n \"pm_request_id\": 0,\r\n \"submission_date\": \"2021-11-25T02:08:07.639Z\",\r\n \"status_id\": 0,\r\n \"sales_org\": 0,\r\n \"effective_date\": \"2021-11-25T02:08:07.639Z\",\r\n \"expiration_date\": \"2021-11-25T02:08:07.639Z\",\r\n \"author_comments\": \"\",\r\n \"distributor_id\": 0,\r\n \"product_id\": 0,\r\n \"article_number\": \"\",\r\n \"sbu\": 0,\r\n \"minimum_qty\": 0,\r\n \"list_price_lb\": 0,\r\n \"list_price_kg\": 0,\r\n \"currency_unit\": \"\",\r\n \"minimum_order_qty\": 0,\r\n \"estimated_annual_volume\": 0,\r\n \"selling_margin\": 0,\r\n \"suggested_selling_price\": 0,\r\n \"supported_buy_price\": 0,\r\n \"sell_price_UOM_id\": 0,\r\n \"rebate\": 0,\r\n \"freight_added\": \"\",\r\n \"account\": 0,\r\n \"customer_state\": \"\",\r\n \"customer_city\": \"\",\r\n \"oem\": \"\",\r\n \"tier\": \"\",\r\n \"end_use\": \"\",\r\n \"industry\": 0,\r\n \"segment\": 0,\r\n \"application\": \"\",\r\n \"application_comment\": \"\",\r\n \"s1_code\": \"\",\r\n \"competitive_grade\": \"\",\r\n \"competitive_supplier\": \"\",\r\n \"created_by\": \"\",\r\n \"sales_rep_email_id\": 0,\r\n \"is_account_manager\": false,\r\n \"internal_comments\": '',\r\n \"external_comments\": '',\r\n 'is_internal_user': false,\r\n 'distributor_sales_rep_id': 0\r\n }\r\n newCustomer = {\r\n customer_id: 0,\r\n customer_name: '',\r\n address: '',\r\n city: '',\r\n state: '',\r\n zip_code: '',\r\n created_by: '',\r\n customer_region: '',\r\n businessunit_id: 0,\r\n distributor_sold_to_id: 0\r\n };\r\n orgRowData: any;\r\n rowData: any;\r\n businessChannelDD: any;\r\n selectedBusinessChannel: any\r\n distributorsDD: any;\r\n distributorData: any;\r\n selectedDistributor: any;\r\n productsDD: any;\r\n productsData: any;\r\n selectedProduct: any;\r\n productDetails: any;\r\n salesOrg: any;\r\n masterApiResp;\r\n requestMasterApiResp: any;\r\n sellPriceUOMType: any;\r\n selectedSellPriceUOM: any;\r\n selectedCustomer: any;\r\n customersDD: any;\r\n industryDD: any;\r\n selectedIndustry: any;\r\n segmentDD: any;\r\n selectedSegment: any;\r\n endUseDD: any;\r\n selectedEndUse: any;\r\n applicationDD: any;\r\n selectedApplication: any;\r\n formMode = \"New\";\r\n basfSalesRepDD: any;\r\n selectedSalesRep: any;\r\n cupRequestDetails: any;\r\n apiResp: any;\r\n soldToDD: any;\r\n selectedSoldTo: any;\r\n businessName: any;\r\n type: any;\r\n isAccountManager: boolean = false;\r\n userId: any;\r\n displayRefNumber: boolean = false;\r\n selectedMinimumOrderQty: any;\r\n minimumOrderQuantityDD: any;\r\n s1Code = \"\";\r\n prodCols = [];\r\n prodData = [];\r\n selectedProdItem: any;\r\n isListPricebind: boolean = false;\r\n s1CodeDD: any;\r\n selectedS1Code: any;\r\n displayDistributorSalesRep: boolean = false;\r\n distSalesRepDD: any;\r\n selectedDistSalesRep: any;\r\n isUpdateCustomer: boolean = false;\r\n cityDD: any;\r\n stateDD: any;\r\n selectedCity: any;\r\n selectedState: any;\r\n displayCustomerPopUp: boolean = false;\r\n selectedRegion: any;\r\n userAdmin: any;\r\n newComments: string;\r\n showCommentsPopup: boolean = false;\r\n isDistributor: boolean = false;\r\n\r\n constructor(private router: Router, private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.userId = sessionStorage.getItem('userid');\r\n this.isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n this.displayDistributorSalesRep = (sessionStorage.getItem('isSalesRep') === \"1\" || sessionStorage.getItem('isSalesRep') === \"true\") ? true : false;\r\n if (!history.state.data) {\r\n this.router.navigate(['/home']);\r\n }\r\n else {\r\n this.type = history.state.data.type;\r\n if (history.state.data.type !== 'New') {\r\n this.callCupsRequestService();\r\n } else {\r\n this.getSoldToData();\r\n }\r\n this.formData['createdDate'] = moment(new Date()).format('L');\r\n this.formData['expirationDate'] = \"\";\r\n this.formData['status_id'] = 0;\r\n }\r\n }\r\n\r\n getWorkFlowUpdates(statusId) {\r\n if (this.isAccountManager) {\r\n this.spinner.show();\r\n this._service.getWorkFlowUpdateDetails(this.userId, this.formData['pm_request_id'], 3, false).subscribe(response => {\r\n this.apiResp = response;\r\n if (this.apiResp['authorized'] && !this.apiResp['isError'] && this.apiResp['response'].length > 0) {\r\n this.workFlowResp = this.apiResp.response[0];\r\n this.workFlowResp[\"work_flow_status_id\"] = statusId;\r\n this.workFlowResp['cup_request_no'] = this.cupRequestDetails['request_reference_number'];\r\n this.workFlowResp['approvar_comments'] = '';\r\n this.workFlowResp['businesunit_id'] = 3;\r\n this.workFlowResp['request_id'] = this.formData['pm_request_id'];\r\n this.workFlowResp['modified_by'] = Number(sessionStorage.getItem('userid'));\r\n this.updateWorkFlowStatus();\r\n } else if (this.apiResp['authorized'] && this.apiResp['isError']) {\r\n this._service.displayToastr(response);\r\n } else if (!this.apiResp['authorized'] && this.apiResp['isError']) {\r\n this._service.displayToastr(response);\r\n } else {\r\n console.log(\"No workflow updates found\");\r\n }\r\n this.spinner.hide();\r\n })\r\n }\r\n }\r\n\r\n generateRequest(statusId) {\r\n if (statusId == 3) {\r\n this.showCommentsPopup = true;\r\n //Calling Get work flow updates in the submitComments after the successful API call back\r\n }\r\n else {\r\n\r\n this.getWorkFlowUpdates(statusId);\r\n\r\n }\r\n }\r\n\r\n updateWorkFlowStatus() {\r\n this.spinner.show();\r\n this._service.updateWorkFLowStatus(this.workFlowResp).subscribe((response) => {\r\n this.apiResp = response;\r\n if (!response['isError']) {\r\n this._service.displayToastr(response);\r\n this.router.navigate(['/home']);\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n this.spinner.hide();\r\n })\r\n }\r\n\r\n submitComments(commentsType) {\r\n this.spinner.show();\r\n let currentDate = moment().format('MM/DD/yyyy');\r\n let commentsData = '';\r\n this.newComments = `${currentDate}: ${this.newComments} - by ${sessionStorage.getItem('loginuser')} ||`;\r\n if (commentsType === 'external') {\r\n const isEndWithSlash = this.formData['external_comments'].endsWith('||');\r\n const newC = isEndWithSlash ? this.newComments : ` || ${this.newComments}`\r\n commentsData = this.formData['external_comments'] != '' ? `${this.formData['external_comments']} ${newC}` : `${this.newComments}`;\r\n }\r\n let reqData = {\r\n \"request_id\": this.formData['pm_request_id'],\r\n \"businessunit_id\": 3,\r\n \"internal_comments\": commentsData,\r\n \"type_of_comment\": commentsType,\r\n \"updated_by\": Number(this.userId)\r\n }\r\n this._service.updateComments(reqData).subscribe(response => {\r\n\r\n this.close();\r\n this._service.displayToastr(response);\r\n this.getWorkFlowUpdates(3);\r\n //passing statusID as we come here at reject = 3 \r\n })\r\n }\r\n\r\n close() {\r\n this.newComments = ''\r\n this.showCommentsPopup = false;\r\n }\r\n\r\n callCupsRequestService() {\r\n this.orgRowData = history.state.data.rowData;\r\n this.spinner.show();\r\n this._service.getCUPRequestDetails(this.orgRowData.pm_request_id, 3).subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n this.cupRequestDetails = JSON.parse(JSON.stringify(this.apiResp.pmRequestSubmissionData[0]));\r\n this.formMode = 'Edit';\r\n if (this.type == 'edit') {\r\n this.displayRefNumber = true;\r\n if (sessionStorage.getItem('loginuseremail') == this.cupRequestDetails.sales_rep_email) {\r\n this.isAccountManager = true;\r\n }\r\n } else {\r\n this.displayRefNumber = false;\r\n this.formData['status_id'] = 0;\r\n this.formData['internal_comments'] = \"\";\r\n this.formData['external_comments'] = \"\";\r\n }\r\n this.generateFormData();\r\n this.userId = sessionStorage.getItem('userid');\r\n this.getSoldToData();\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n getSoldToData() {\r\n this.spinner.show();\r\n let userId = (this.formMode === 'Edit') ? this.cupRequestDetails.created_by : this.userId;\r\n this.userAdmin = (sessionStorage.getItem('IsAdmin') === \"1\" || sessionStorage.getItem('IsAdmin') === \"true\") ? true : false;\r\n this.requestAPI.is_internal_user = !this.isDistributor;\r\n this._service.getSoldTo(userId, 3, this.userAdmin).subscribe((res: any) => {\r\n if (!res['isError']) {\r\n this.soldToDD = res.response;\r\n this.soldToDD.forEach(sd => {\r\n sd.soldToFullName = `${sd.sold_to_sap_id} - ${sd.distributor_sold_to_name}`;\r\n })\r\n if (this.formMode === 'Edit') {\r\n this.selectedSoldTo = this.soldToDD.find(ss => ss.distributor_sold_to_id === this.cupRequestDetails.distributor_sold_to_id);\r\n this.getDistributorDetails();\r\n }\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(res);\r\n }\r\n })\r\n }\r\n\r\n getDistributorDetails() {\r\n this.spinner.show();\r\n let userId = (this.formMode === 'Edit') ? this.cupRequestDetails.created_by : this.userId;\r\n this._service.getMasterData(userId, this.selectedSoldTo.distributor_sold_to_id, '3', this.selectedSoldTo.distributor_id, this.requestAPI.is_internal_user).subscribe(response => {\r\n if (!response['isError']) {\r\n this.masterApiResp = response;\r\n this.getDistributorData(this.masterApiResp);\r\n this.getProductsData(this.masterApiResp);\r\n this.getRequestMasterData(this.masterApiResp);\r\n this.getDistributorUsers(this.masterApiResp);\r\n this.getSalesRepDD();\r\n this.getS1CodeDD();\r\n this.generateCustomersData();\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n },\r\n (error) => {\r\n console.log(\"error\", error.message);\r\n })\r\n }\r\n\r\n getDistributorUsers(masterJson) {\r\n this.distSalesRepDD = masterJson.distributorUsers;\r\n if (this.type === 'edit') {\r\n this.selectedDistSalesRep = this.distSalesRepDD.find(c => c.distributor_user_id === this.cupRequestDetails.distributor_sales_rep_id);\r\n } else {\r\n this.selectedDistSalesRep = this.distSalesRepDD.find(c => c.email === sessionStorage.getItem('loginuseremail'));\r\n }\r\n }\r\n\r\n generateCustomersData() {\r\n this.customersDD = this.getUniqueListBy(this.masterApiResp.customerData, 'customer_name');\r\n if (this.formMode === 'Edit') {\r\n this.selectedCustomer = this.masterApiResp.customerData.find(c => c.customer_id === this.cupRequestDetails.customer_id);\r\n if (this.selectedCustomer) {\r\n this.generateCustomerDetails();\r\n this.constructStateDropDown();\r\n this.selectedState = this.stateDD.find(sd => sd.customer_region === this.selectedCustomer.customer_region);\r\n this.constructCityDropDown();\r\n this.selectedCity = this.cityDD.find(cd => cd.city === this.selectedCustomer.city);\r\n this.formData['zip'] = this.selectedCity.zip_code;\r\n if (this.selectedCustomer['s1_code'] != '') {\r\n let selectedS1Code = this.s1CodeDD.find(b => b.s1_code === this.selectedCustomer['s1_code']);\r\n if (selectedS1Code) {\r\n this.selectedS1Code = selectedS1Code;\r\n }\r\n }\r\n }\r\n this.selectedCustomer = this.customersDD.find(c => c.customer_name === this.cupRequestDetails.account);\r\n }\r\n }\r\n\r\n getUniqueListBy(arr, key) {\r\n return [...new Map(arr.map(item => [item[key], item])).values()]\r\n }\r\n\r\n getDistributorData(masterJson) {\r\n this.distributorData = masterJson.requestDistributorDetails;\r\n this.selectedDistributor = this.distributorData[0];\r\n this.generateDistributorDetails();\r\n }\r\n\r\n getProductsData(masterJson) {\r\n this.productsData = masterJson.productsData;\r\n if (this.formMode === 'Edit') {\r\n this.selectedProduct = this.productsData.find(p => p.product_id === this.cupRequestDetails.product_id);\r\n if (this.selectedProduct) {\r\n this.getProductDetailsById();\r\n }\r\n }\r\n }\r\n\r\n getS1CodeDD() {\r\n this.s1CodeDD = this.masterApiResp.s1Code;\r\n }\r\n\r\n getSalesRepDD() {\r\n this.basfSalesRepDD = this.masterApiResp.salesRepEmailData;\r\n if (this.formMode === 'Edit') {\r\n this.selectedSalesRep = this.basfSalesRepDD.find(b => b.sales_rep_email_id === this.cupRequestDetails.sales_rep_email_id);\r\n if (this.selectedSalesRep) {\r\n this.generateSalesRepDetails();\r\n }\r\n }\r\n }\r\n\r\n generateSalesRepDetails() {\r\n this.formData['salesRep'] = this.selectedSalesRep.sales_rep_name;\r\n this.formData['salesRepEmail'] = this.selectedSalesRep.sales_rep_email;\r\n }\r\n\r\n getFormattedData(date) {\r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n\r\n populateExpiryDate(date) {\r\n this.formData['expirationDate'] = moment(date).add(35, 'days').format('L');\r\n }\r\n\r\n getProductDetailsById() {\r\n this.productDetails = this.productsData.filter(p => p.product_id === this.selectedProduct.product_id);\r\n this.prodData = [];\r\n this.isListPricebind = false;\r\n this.constructProductCalls();\r\n if (!this.formData['effectiveDate'] && (this.type === 'edit' || this.type === 'New')) {\r\n this.toastr.error(\"Effective Date Required\");\r\n return false;\r\n } else {\r\n this.callProductPricingService();\r\n }\r\n }\r\n\r\n constructProductCalls() {\r\n this.prodCols = [\r\n {\r\n \"header_id\": 1,\r\n \"field\": \"prodQuantity\",\r\n \"header\": \"Minimum Quantity\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 1\r\n },\r\n {\r\n \"header_id\": 2,\r\n \"field\": \"prodLBPrice\",\r\n \"header\": \"List Price, LB\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 2\r\n },\r\n {\r\n \"header_id\": 3,\r\n \"field\": \"prodKGPrice\",\r\n \"header\": \"List Price, KG\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 3\r\n },\r\n {\r\n \"header_id\": 4,\r\n \"field\": \"prodCurrency\",\r\n \"header\": \"Currency Unit\",\r\n \"is_show\": true,\r\n \"is_editable\": false,\r\n \"serial_no\": 4\r\n }\r\n ];\r\n }\r\n\r\n callProductPricingService() {\r\n this.spinner.show();\r\n this.prodData = [];\r\n this.salesOrg = this.formData['salesOrg'];\r\n let effective_date = this.type === 'edit' ? moment(this.cupRequestDetails['effective_date']).format('yyyy-MM-DD') : moment(this.formData['effectiveDate']).format('yyyy-MM-DD');\r\n if (effective_date && this.productDetails) {\r\n this._service.getProductPricingRecord(3, this.productDetails[0].article_number, this.selectedSoldTo.distributor_sold_to_id, 0, 0, effective_date, this.salesOrg.toString(), 0).subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n let receivedProduct = JSON.parse(JSON.stringify(this.apiResp.response));\r\n let currencyUnit = this.productDetails[0].currency_unit;\r\n this.checkScale1Values(receivedProduct, currencyUnit);\r\n this.checkScale2Values(receivedProduct, currencyUnit);\r\n this.checkScale3Values(receivedProduct, currencyUnit);\r\n this.checkScale4Values(receivedProduct, currencyUnit);\r\n this.checkScale5Values(receivedProduct, currencyUnit);\r\n this.checkScale6Values(receivedProduct, currencyUnit);\r\n this.checkScale7Values(receivedProduct, currencyUnit);\r\n this.getProductDetails();\r\n this.getSelectedProdItem(receivedProduct);\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n getSelectedProdItem(receivedProduct: any) {\r\n if (this.formMode === 'Edit' && (receivedProduct['articleNumber'] === this.cupRequestDetails.article_number)) {\r\n let rowObj = {\r\n data: this.prodData.find(p => p.prodQuantity === this.cupRequestDetails.minimum_qty && p.prodLBPrice === this.cupRequestDetails.list_price_lb)\r\n }\r\n if (rowObj.data != undefined) {\r\n this.onProductSelect(rowObj);\r\n this.selectedProdItem = JSON.parse(JSON.stringify(rowObj.data));\r\n }\r\n } else {\r\n this.selectedProdItem = null;\r\n this.formData['suggestedSellPrice'] = \"\";\r\n this.formData['supportedBuyPrice'] = \"\";\r\n this.formData['rebate'] = \"\";\r\n this.formData['minimumQuantity'] = \"\";\r\n this.formData['lbListPrice'] = \"\";\r\n this.formData['kgListPrice'] = \"\";\r\n this.formData['currencyUnit'] = \"\";\r\n }\r\n }\r\n\r\n checkScale1Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate1'] && receivedProduct['scale_quantity1']) {\r\n let prodObj = {\r\n prodId: 1,\r\n prodQuantity: receivedProduct['scale_quantity1'],\r\n prodLBPrice: receivedProduct['scale_rate1'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate1'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj);\r\n }\r\n }\r\n\r\n checkScale2Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate2'] && receivedProduct['scale_quantity2']) {\r\n let prodObj1 = {\r\n prodId: 2,\r\n prodQuantity: receivedProduct['scale_quantity2'],\r\n prodLBPrice: receivedProduct['scale_rate2'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate2'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj1);\r\n }\r\n }\r\n\r\n checkScale3Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate3'] && receivedProduct['scale_quantity3']) {\r\n let prodObj3 = {\r\n prodId: 3,\r\n prodQuantity: receivedProduct['scale_quantity3'],\r\n prodLBPrice: receivedProduct['scale_rate3'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate3'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj3);\r\n }\r\n }\r\n\r\n checkScale4Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate4'] && receivedProduct['scale_quantity4']) {\r\n let prodObj4 = {\r\n prodId: 4,\r\n prodQuantity: receivedProduct['scale_quantity4'],\r\n prodLBPrice: receivedProduct['scale_rate4'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate4'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj4);\r\n }\r\n }\r\n\r\n checkScale5Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate5'] && receivedProduct['scale_quantity5']) {\r\n let prodObj5 = {\r\n prodId: 5,\r\n prodQuantity: receivedProduct['scale_quantity5'],\r\n prodLBPrice: receivedProduct['scale_rate5'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate5'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj5);\r\n }\r\n }\r\n\r\n checkScale6Values(receivedProduct: any, currencyUnit) {\r\n if (receivedProduct['scale_rate6'] && receivedProduct['scale_quantity6']) {\r\n let prodObj6 = {\r\n prodId: 6,\r\n prodQuantity: receivedProduct['scale_quantity6'],\r\n prodLBPrice: receivedProduct['scale_rate6'],\r\n prodKGPrice: (2.2046 * Number(receivedProduct['scale_rate6'])).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.isListPricebind = true;\r\n this.prodData.push(prodObj6);\r\n }\r\n }\r\n\r\n checkScale7Values(receivedProduct: any, currencyUnit) {\r\n if (!this.isListPricebind) {\r\n let prodObj7 = {\r\n prodId: 7,\r\n prodQuantity: 0,\r\n prodLBPrice: receivedProduct.list_Price,\r\n prodKGPrice: (2.2046 * Number(receivedProduct.list_Price)).toFixed(2),\r\n prodCurrency: currencyUnit\r\n }\r\n this.prodData.push(prodObj7);\r\n }\r\n }\r\n\r\n onProductSelect(rowData: any) {\r\n this.formData['minimumQuantity'] = rowData.data['prodQuantity'];\r\n this.formData['lbListPrice'] = rowData.data['prodLBPrice'];\r\n this.formData['kgListPrice'] = rowData.data['prodKGPrice'];\r\n this.formData['currencyUnit'] = rowData.data['prodCurrency'];\r\n this.doCalculations();\r\n }\r\n\r\n getProductDetails() {\r\n this.productDetails = this.productsData.filter(p => p.product_id === this.selectedProduct.product_id);\r\n this.formData['article'] = this.productDetails[0].article_number;\r\n this.formData['sellingMargin'] = this.productDetails[0].selling_margin;\r\n this.formData['sbu_name'] = this.productDetails[0].sbu_name;\r\n }\r\n\r\n getRequestMasterData(masterJson) {\r\n this.spinner.show();\r\n this.requestMasterApiResp = masterJson.requestMaster;\r\n this.sellPriceUOMType = this.requestMasterApiResp.filter(rm => rm.master_name === 'VolumeUOM');\r\n this.businessChannelDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'DistributorChannel');\r\n this.endUseDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'EndUse');\r\n this.industryDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'Industry');\r\n this.applicationDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'Application');\r\n this.segmentDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'Segment');\r\n this.minimumOrderQuantityDD = this.requestMasterApiResp.filter(rm => rm.master_name === 'MinOrderQty');\r\n if (this.formMode === 'Edit') {\r\n this.selectedSellPriceUOM = this.sellPriceUOMType.find(s => s.request_master_id === this.cupRequestDetails.sell_price_UOM_id);\r\n this.selectedIndustry = this.industryDD.find(i => i.request_master_id === this.cupRequestDetails.industry);\r\n this.selectedSegment = this.segmentDD.find(s => s.request_master_id === this.cupRequestDetails.segment);\r\n this.selectedMinimumOrderQty = this.minimumOrderQuantityDD.find(m => m.request_master_id === this.cupRequestDetails.minimum_order_qty);\r\n }\r\n this.spinner.hide();\r\n }\r\n\r\n generateDistributorDetails() {\r\n this.formData['pricingAdmin'] = this.selectedDistributor.pricing_Admin;\r\n this.formData['pricingAdminEmail'] = this.selectedDistributor.pricing_Admin_Email;\r\n this.formData['basfPayer'] = this.selectedDistributor.basf_payer;\r\n this.formData['salesRep'] = this.selectedDistributor.sales_Rep;\r\n this.formData['salesRepEmail'] = this.selectedDistributor.sales_Rep_Email;\r\n this.formData['distributorName'] = this.selectedDistributor.distributor_name;\r\n this.formData['createdBy'] = sessionStorage.getItem('loginuseremail');\r\n this.formData['salesOrg'] = this.masterApiResp.requestMaster.filter(rm => rm.master_name === 'SalesOrg' && rm.request_master_id === this.selectedDistributor.sales_org)[0].value;\r\n\r\n\r\n }\r\n\r\n generateCustomerDetails() {\r\n this.formData['city'] = this.selectedCustomer.city;\r\n this.formData['region'] = this.selectedCustomer.customer_region;\r\n }\r\n\r\n doCalculations() {\r\n const SP = Number(this.formData['suggestedSellPrice']);\r\n const SM = Number(this.formData['sellingMargin']);\r\n if (SP && SM && this.selectedSellPriceUOM) {\r\n this.formData['supportedBuyPrice'] = (SP - (SP * SM / 100)).toFixed(2).toString();\r\n if (this.selectedSellPriceUOM.value === 'LB') {\r\n this.formData['rebate'] = (Number(this.formData['lbListPrice']) - Number(this.formData['supportedBuyPrice'])).toFixed(2).toString();\r\n } else {\r\n this.formData['rebate'] = (Number(this.formData['kgListPrice']) - Number(this.formData['supportedBuyPrice'])).toFixed(2).toString();\r\n }\r\n }\r\n }\r\n\r\n generateFormData() {\r\n this.spinner.show();\r\n this.formData['request'] = this.type === 'edit' ? this.cupRequestDetails['request_reference_number'] : \"\";\r\n this.formData['pm_request_id'] = this.type === 'edit' ? this.cupRequestDetails['pm_request_id'] : 0;\r\n this.formData['createdDate'] = this.type === 'edit' ? moment(this.cupRequestDetails['submission_date']).format('MM/DD/yyyy') : moment(new Date()).format('L');\r\n this.formData['effectiveDate'] = this.type === 'edit' ? moment(this.cupRequestDetails['effective_date']).format('yyyy-MM-DD') : \"\";\r\n this.formData['expirationDate'] = this.type === 'edit' ? moment(this.cupRequestDetails['expiration_date']).format('yyyy-MM-DD') : \"\";\r\n this.formData['status_id'] = this.type === 'edit' ? this.cupRequestDetails['status_id'] : 0;\r\n this.formData['estimatedAnnualVolume'] = this.cupRequestDetails['estimated_annual_volume'];\r\n this.formData['suggestedSellPrice'] = this.cupRequestDetails['suggested_selling_price'];\r\n this.formData['supportedBuyPrice'] = this.cupRequestDetails['supported_buy_price'];\r\n this.formData['rebate'] = this.cupRequestDetails['rebate'];\r\n this.formData['sellingMargin'] = this.cupRequestDetails['selling_margin'];\r\n this.formData['authorComments'] = this.cupRequestDetails['author_comments'];\r\n this.formData['oem'] = this.cupRequestDetails['oem'];\r\n this.formData['tier'] = this.cupRequestDetails['tier'];\r\n this.formData['applicationComment'] = this.cupRequestDetails['application_comment'];\r\n this.formData['competitiveGrade'] = this.cupRequestDetails['competitive_grade'];\r\n this.formData['competitiveSupplier'] = this.cupRequestDetails['competitive_supplier'];\r\n this.formData['freightAdded'] = this.cupRequestDetails['freight_added'];\r\n this.formData['end_use'] = this.cupRequestDetails['end_use'];\r\n this.formData['application'] = this.cupRequestDetails['application'];\r\n this.formData['internal_comments'] = this.type === 'edit' ? this.cupRequestDetails['internal_comments'] : \"\";\r\n this.formData['external_comments'] = this.type === 'edit' ? this.cupRequestDetails['external_comments'] : \"\";\r\n this.spinner.hide();\r\n }\r\n\r\n fillCreatedBy() {\r\n if (this.formMode === 'Edit') {\r\n this.requestAPI.pm_request_id = Number(this.formData['pm_request_id']);\r\n if (this.type == 'edit') {\r\n this.requestAPI.created_by = this.cupRequestDetails.created_by;\r\n }\r\n }\r\n }\r\n\r\n bindCustomerDetails() {\r\n if (this.selectedCustomer != undefined) {\r\n let customer = this.masterApiResp.customerData.find(cd => cd.customer_name === this.selectedCustomer.customer_name && cd.customer_region === this.selectedState.customer_region && cd.city === this.selectedCity.city);\r\n this.requestAPI.account = customer ? customer.customer_id : 0;\r\n this.requestAPI.customer_state = this.selectedState.state;\r\n this.requestAPI.customer_city = this.selectedCity.city;\r\n\r\n } else {\r\n this.requestAPI.account = 0;\r\n this.requestAPI.customer_city = '';\r\n this.requestAPI.customer_state = ''\r\n }\r\n }\r\n\r\n submitPMRequest() {\r\n this.spinner.show();\r\n this.requestAPI.created_by = sessionStorage.getItem('userid');\r\n this.fillCreatedBy();\r\n if (this.checkValidations()) {\r\n this.requestAPI.effective_date = moment(this.formData['effectiveDate']).toDate().toDateString();\r\n this.requestAPI.expiration_date = moment(this.formData['expirationDate']).toDate().toDateString();\r\n this.requestAPI.author_comments = this.formData['authorComments'];\r\n this.requestAPI.distributor_id = this.selectedDistributor.distributor_id;\r\n this.requestAPI.product_id = this.selectedProduct.product_id;\r\n this.requestAPI.article_number = this.formData['article'];\r\n this.requestAPI.sbu = Number(this.selectedProduct.sbu);//need to rewrite the code\r\n this.requestAPI.minimum_qty = Number(this.formData['minimumQuantity']);\r\n this.requestAPI.list_price_lb = Number(this.formData['lbListPrice']);\r\n this.requestAPI.list_price_kg = Number(this.formData['kgListPrice']);\r\n this.requestAPI.currency_unit = this.formData['currencyUnit'];\r\n this.requestAPI.minimum_order_qty = this.selectedMinimumOrderQty.request_master_id;\r\n this.requestAPI.estimated_annual_volume = Number(this.formData['estimatedAnnualVolume']);\r\n this.requestAPI.selling_margin = Number(this.formData['sellingMargin']);\r\n this.requestAPI.suggested_selling_price = Number(this.formData['suggestedSellPrice']);\r\n this.requestAPI.supported_buy_price = Number(this.formData['supportedBuyPrice']);\r\n this.requestAPI.sell_price_UOM_id = this.selectedSellPriceUOM.request_master_id;\r\n this.requestAPI.rebate = Number(this.formData['rebate']);\r\n\r\n this.bindCustomerDetails();\r\n this.requestAPI.oem = this.formData['oem'];\r\n this.requestAPI.tier = this.formData['tier'];\r\n this.requestAPI.competitive_grade = this.formData['competitiveGrade'];\r\n this.requestAPI.competitive_supplier = this.formData['competitiveSupplier'];\r\n this.requestAPI.submission_date = moment(this.formData['createdDate']).toDate().toDateString();\r\n this.requestAPI.sales_org = this.selectedDistributor.sales_org;\r\n this.requestAPI.sales_rep_email_id = this.selectedSalesRep.sales_rep_email_id;\r\n this.requestAPI.is_account_manager = this.isAccountManager;\r\n this.requestAPI.freight_added = this.formData['freightAdded'];\r\n let currentDate = moment().format('MM/DD/yyyy');\r\n this.requestAPI.internal_comments = this.formData['internal_comments'] !== '' ? `${currentDate}: ${this.formData['internal_comments']} - by ${sessionStorage.getItem('loginuser')} ||` : '';\r\n this.requestAPI.external_comments = this.formData['external_comments'] !== '' ? `${currentDate}: ${this.formData['external_comments']} - by ${sessionStorage.getItem('loginuser')} ||` : '';\r\n this.requestAPI.distributor_sales_rep_id = this.selectedDistSalesRep ? this.selectedDistSalesRep.distributor_user_id : 0;\r\n this.generateManagerRequest();\r\n this.createPMRequestAPIcall();\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n generateManagerRequest() {\r\n if (this.isAccountManager) {\r\n this.requestAPI.is_internal_user = this.cupRequestDetails['is_internal_user'];\r\n this.generateAccountManagerRequest();\r\n } else {\r\n this.generateNonAccountManagerRequest();\r\n }\r\n }\r\n\r\n\r\n createPMRequestAPIcall() {\r\n this._service.submitPMRequest(this.requestAPI).subscribe(response => {\r\n if (!response['isError']) {\r\n this.spinner.hide();\r\n if (this.cupRequestDetails && sessionStorage.getItem('loginuseremail') == this.cupRequestDetails.sales_rep_email) {\r\n this.generateRequest(1);\r\n } else {\r\n sessionStorage.setItem('paramsExist', 'false');\r\n this.toastr.success('Request submitted successfully', 'Success!');\r\n }\r\n this.router.navigate(['/home']);\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n });\r\n }\r\n\r\n generateAccountManagerRequest() {\r\n this.requestAPI.status_id = 2; this.requestAPI.end_use = this.formData['end_use'];\r\n this.requestAPI.industry = this.selectedIndustry.request_master_id;\r\n this.requestAPI.segment = this.selectedSegment.request_master_id;\r\n this.requestAPI.application = this.formData['application'];\r\n this.requestAPI.application_comment = this.formData['applicationComment'];\r\n this.requestAPI.s1_code = this.selectedS1Code ? this.selectedS1Code['s1_code'] : '';\r\n }\r\n\r\n generateNonAccountManagerRequest() {\r\n this.requestAPI.status_id = 6;\r\n this.requestAPI.end_use = this.formData['end_use'];\r\n this.requestAPI.application = this.formData['application'];\r\n this.requestAPI.application_comment = this.formData['applicationComment'];\r\n this.requestAPI.s1_code = this.selectedS1Code ? this.selectedS1Code['s1_code'] : '';\r\n }\r\n\r\n cancel() {\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n checkValidations() {\r\n if (!this.checkDrowdownValidations()) {\r\n return false;\r\n }\r\n if (!this.formData['effectiveDate']) {\r\n this.toastr.error(\"Effective Date Required\");\r\n return false;\r\n }\r\n if (!this.formData['expirationDate']) {\r\n this.toastr.error(\"Expiration Date Required\");\r\n return false;\r\n }\r\n if (!this.formData['authorComments']) {\r\n this.toastr.error(\"Author Comments Required\");\r\n return false;\r\n }\r\n if (!this.formData['estimatedAnnualVolume']) {\r\n this.toastr.error(\"Estimated Annual Volume Required\");\r\n return false;\r\n }\r\n if (!this.formData['suggestedSellPrice']) {\r\n this.toastr.error(\"Suggested Sell Price Required\");\r\n return false;\r\n }\r\n if (!this.checkOtherValueValidations()) {\r\n return false;\r\n }\r\n if (this.isAccountManager && !this.checkAccountManagerValidations()) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n checkOtherValueValidations() {\r\n if (!this.formData['oem']) {\r\n this.toastr.error(\"OEM Required\");\r\n return false;\r\n }\r\n if (!this.formData['tier']) {\r\n this.toastr.error(\"Tier Required\");\r\n return false;\r\n }\r\n if (!this.formData['competitiveGrade']) {\r\n this.toastr.error(\"Competitive Grade Required\");\r\n return false;\r\n }\r\n if (!this.formData['competitiveSupplier']) {\r\n this.toastr.error(\"Competitive Supplier Comment\");\r\n return false;\r\n }\r\n if (!this.formData['freightAdded']) {\r\n this.toastr.error(\"Freight Added required\");\r\n return false;\r\n }\r\n if (!this.formData['end_use']) {\r\n this.toastr.error(\"End Use Required\");\r\n return false;\r\n }\r\n if (!this.formData['application']) {\r\n this.toastr.error(\"Application Required\");\r\n return false;\r\n }\r\n if (!this.formData['applicationComment']) {\r\n this.toastr.error(\"Application Comment Required\");\r\n return false;\r\n }\r\n if (!this.formData['internal_comments']) {\r\n this.formData['internal_comments'] = '';\r\n }\r\n if (!this.formData['external_comments']) {\r\n this.formData['external_comments'] = '';\r\n }\r\n if (Number(this.formData['rebate']) < 0) {\r\n this.toastr.error(\"Rebate cannot be Negative\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n checkDrowdownValidations() {\r\n if (!this.selectedDistributor) {\r\n this.toastr.error(\"Select SoldTo\");\r\n return false;\r\n }\r\n if (!this.selectedSalesRep) {\r\n this.toastr.error(\"Sales Rep Required\");\r\n return false;\r\n }\r\n if (this.displayDistributorSalesRep && !this.selectedDistSalesRep) {\r\n this.toastr.error(\"Distributor Sales Rep Required\");\r\n return false;\r\n }\r\n if (!this.selectedProduct) {\r\n this.toastr.error(\"Product Name Required\");\r\n return false;\r\n }\r\n if (!this.selectedMinimumOrderQty) {\r\n this.toastr.error(\"Min. Order Qty. Required\");\r\n return false;\r\n }\r\n if (!this.selectedSellPriceUOM) {\r\n this.toastr.error(\"Sell Price UoM Required\");\r\n return false;\r\n }\r\n if (!this.selectedCustomer) {\r\n this.toastr.error(\"Account Details Required\");\r\n return false;\r\n }\r\n if (!this.selectedState) {\r\n this.toastr.error(\"Account Region Required\");\r\n return false;\r\n }\r\n if (!this.selectedCity) {\r\n this.toastr.error(\"Account City Required\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n checkAccountManagerValidations() {\r\n if (!this.selectedIndustry) {\r\n this.toastr.error(\"Industry Required\");\r\n return false;\r\n }\r\n if (!this.selectedSegment) {\r\n this.toastr.error(\"Segment Required\");\r\n return false;\r\n }\r\n if (!this.selectedS1Code) {\r\n this.toastr.error(\"S1 Code is Required\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n onSelectCustomer() {\r\n if (this.selectedCustomer.customer_id === 0) {\r\n this.displayCustomerPopUp = true;\r\n } else {\r\n this.constructStateDropDown();\r\n this.selectedCity = undefined;\r\n }\r\n }\r\n\r\n constructStateDropDown() {\r\n this.stateDD = this.masterApiResp.customerData.filter(cd => cd.customer_name === this.selectedCustomer.customer_name);\r\n this.stateDD = this.getUniqueListBy(this.stateDD, 'customer_region');\r\n }\r\n\r\n constructCityDropDown() {\r\n this.cityDD = this.masterApiResp.customerData.filter(sd => sd.customer_name === this.selectedCustomer.customer_name && sd.customer_region === this.selectedState.customer_region);\r\n this.cityDD = this.getUniqueListBy(this.cityDD, 'city');\r\n }\r\n\r\n addNewLocation() {\r\n this.newCustomer.customer_name = this.selectedCustomer.customer_name;\r\n this.isUpdateCustomer = true;\r\n this.displayCustomerPopUp = true;\r\n }\r\n\r\n addCustomer() {\r\n this.spinner.show();\r\n this.newCustomer.created_by = sessionStorage.getItem('userid');\r\n this.newCustomer.businessunit_id = 3;\r\n if (this.selectedRegion) {\r\n this.newCustomer.customer_region = this.selectedRegion.region_id;\r\n }\r\n this.newCustomer.distributor_sold_to_id = this.selectedSoldTo.distributor_sold_to_id;\r\n if (this.checkCustomerValidation()) {\r\n this._service.createCustomer(this.newCustomer).subscribe(_response => {\r\n if (!_response['isError']) {\r\n this._service.getMasterData(this.userId, this.selectedSoldTo.distributor_sold_to_id, 3, this.selectedSoldTo.distributor_id, this.userAdmin).subscribe(response1 => {\r\n this.masterApiResp = response1;\r\n this.generateCustomersData();\r\n this.selectedCustomer = this.masterApiResp.customerData.find(c => c.customer_name === this.newCustomer.customer_name && c.customer_region === this.newCustomer.customer_region && c.city === this.newCustomer.city);\r\n this.constructStateDropDown();\r\n this.selectedState = this.stateDD.find(sd => sd.customer_region === this.selectedCustomer.customer_region);\r\n this.constructCityDropDown();\r\n this.selectedCity = this.cityDD.find(cd => cd.city === this.selectedCustomer.city);\r\n this.formData['zip'] = this.selectedCity.zip_code;\r\n this.displayCustomerPopUp = false;\r\n this.selectedCustomer = this.customersDD.find(cdd => cdd.customer_name === this.newCustomer.customer_name);\r\n this.newCustomer.customer_name = '';\r\n this.newCustomer.address = '';\r\n this.newCustomer.city = '';\r\n this.newCustomer.customer_region = '';\r\n this.newCustomer.zip_code = '';\r\n this.spinner.hide();\r\n this.toastr.success(\"Customer Added and selected\", \"Success!\");\r\n });\r\n } else {\r\n this._service.displayToastr(_response);\r\n }\r\n })\r\n } else {\r\n this.spinner.hide();\r\n }\r\n }\r\n\r\n checkCustomerValidation() {\r\n let validCustomerName = this.checkValidCustomerName();\r\n let validCustomerCity = this.checkValidCustomerCity();\r\n let validCustomerState = this.checkValidCustomerState();\r\n let validExistingCustomer = this.checkExistingCustomerLocation();\r\n return validCustomerName && validCustomerCity && validCustomerState && validExistingCustomer;\r\n }\r\n\r\n checkExistingCustomerLocation() {\r\n if (this.isUpdateCustomer) {\r\n let fCustomer = this.masterApiResp.customerData.filter(cd => cd.customer_name === this.newCustomer.customer_name && cd.customer_region === this.newCustomer.customer_region && cd.city === this.newCustomer.city);\r\n if (fCustomer.length > 0) {\r\n this.toastr.error(\"Customer location already exists with combination of State and City\");\r\n return false\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n checkValidCustomerName() {\r\n if (this.newCustomer.customer_name != \"\") {\r\n if (this.customersDD.filter(customer => customer.customer_name.toLowerCase() === this.newCustomer.customer_name.toLowerCase()).length && !this.isUpdateCustomer) {\r\n this.toastr.error(\"Customer Name already exists\", \"Error!\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n this.toastr.error(\"Customer Name required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerAddress() {\r\n if (this.newCustomer.address != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer Address required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerCity() {\r\n if (this.newCustomer.city != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer City required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerState() {\r\n if (this.newCustomer.state != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer State required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerZipcode() {\r\n if (this.newCustomer.zip_code != \"\") {\r\n return true;\r\n } else {\r\n this.toastr.error(\"Customer Zipcode required\", \"Error!\");\r\n return false;\r\n }\r\n }\r\n\r\n checkValidCustomerRegion() {\r\n if (this.newCustomer.customer_region == \"\") {\r\n this.toastr.error(\"Customer Region required\", \"Error!\");\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n cancelCustomerPopUp() {\r\n this.displayCustomerPopUp = false;\r\n this.isUpdateCustomer = false;\r\n }\r\n\r\n\r\n}\r\n","export default \"#rebatesGrid .ui-table .ui-table-thead>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-table .ui-table-thead>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-table .ui-table-tbody>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .edit-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n right: 0px !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .checkbox-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n left: 0px !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-paginator {\\r\\n margin-top: 10px !important;\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n float: right !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-paginator .ui-paginator-pages .ui-paginator-page.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-multiselect .ui-multiselect-panel {\\r\\n left: -292px !important;\\r\\n right: 0px !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {\\r\\n color: black !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-chkbox .ui-chkbox-box.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-table table {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-table {\\r\\n max-height: 700px !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-table-scrollable-header, .ui-table-scrollable-footer {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n z-index: 9999;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-table-scrollable-header-box {\\r\\n margin-right: 60px !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 280px) !important;\\r\\n}\\r\\n\\r\\n#rebatesGrid .excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1000px) {\\r\\n #rebatesGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:140px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media screen and (min-width: 1052px) {\\r\\n #rebatesGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 320px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:110px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media screen and (min-width: 1407px) {\\r\\n #rebatesGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 300px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:80px !important;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZWJhdGUtc2hpcHBlZC1mb3JtL3JlYmF0ZS1zaGlwcGVkLWZvcm0uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtBQUMzQjs7QUFDQTtJQUNJLGVBQWU7SUFDZixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsWUFBWTtJQUNaLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsMENBQTBDO0lBQzFDLHVCQUF1QjtJQUN2Qiw4QkFBOEI7QUFDbEM7O0FBQ0E7SUFDSSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLHFCQUFxQjtBQUN6Qjs7QUFDQTtJQUNJLHdCQUFnQjtJQUFoQixnQkFBZ0I7SUFDaEIsb0JBQW9CO0FBQ3hCOztBQUNBO0lBQ0ksMkJBQTJCO0lBQzNCLGtDQUFrQztJQUNsQyx1QkFBdUI7SUFDdkIsdUJBQXVCO0FBQzNCOztBQUNBO0lBQ0ksb0NBQW9DO0lBQ3BDLHVCQUF1QjtBQUMzQjs7QUFDQTtJQUNJLHVCQUF1QjtJQUN2QixxQkFBcUI7QUFDekI7O0FBQ0E7SUFDSSx1QkFBdUI7SUFDdkIsa0NBQWtDO0FBQ3RDOztBQUNBO0lBQ0ksZ0NBQWdDO0lBQ2hDLG9DQUFvQztJQUNwQyx5QkFBeUI7QUFDN0I7O0FBQ0E7SUFDSSxzQkFBc0I7QUFDMUI7O0FBQ0E7SUFDSSw0QkFBNEI7QUFDaEM7O0FBQ0E7SUFDSSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QixhQUFhO0FBQ2pCOztBQUNBO0lBQ0ksNkJBQTZCO0FBQ2pDOztBQUNBO0lBQ0ksMENBQTBDO0FBQzlDOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFNBQVM7SUFDVCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSTtRQUNJLDBDQUEwQztJQUM5QztJQUNBO1FBQ0ksMkJBQTJCO0lBQy9CO0VBQ0Y7O0FBRUE7SUFDRTtRQUNJLDBDQUEwQztJQUM5QztJQUNBO1FBQ0ksMkJBQTJCO0lBQy9CO0VBQ0Y7O0FBQ0E7SUFDRTtRQUNJLDBDQUEwQztJQUM5QztJQUNBO1FBQ0ksMEJBQTBCO0lBQzlCO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3JlYmF0ZS1zaGlwcGVkLWZvcm0vcmViYXRlLXNoaXBwZWQtZm9ybS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3JlYmF0ZXNHcmlkIC51aS10YWJsZSAudWktdGFibGUtdGhlYWQ+dHI+dGgge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRmNGY0ZjtcclxuICAgIGNvbG9yOndoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWYwZmY7XHJcbn1cclxuXHJcbiNyZWJhdGVzR3JpZCAudWktdGFibGUgLnVpLXRhYmxlLXRoZWFkPnRyPnRoPmRpdiB7XHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG59XHJcbiNyZWJhdGVzR3JpZCAudWktdGFibGUgLnVpLXRhYmxlLXRib2R5PnRyPnRkIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzRmNGY0ZiAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XHJcbn1cclxuI3JlYmF0ZXNHcmlkIC5lZGl0LWNvbHVtbiB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcbiNyZWJhdGVzR3JpZCAuY2hlY2tib3gtY29sdW1uIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBsZWZ0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG4jcmViYXRlc0dyaWQgLnVpLXBhZ2luYXRvciB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcclxufVxyXG4jcmViYXRlc0dyaWQgLnVpLXBhZ2luYXRvciAudWktcGFnaW5hdG9yLXBhZ2VzIC51aS1wYWdpbmF0b3ItcGFnZS51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuI3JlYmF0ZXNHcmlkIC51aS1tdWx0aXNlbGVjdCAudWktbXVsdGlzZWxlY3QtcGFuZWwge1xyXG4gICAgbGVmdDogLTI5MnB4ICFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI3JlYmF0ZXNHcmlkIC51aS1tdWx0aXNlbGVjdC1wYW5lbCAudWktbXVsdGlzZWxlY3QtaXRlbXMgLnVpLW11bHRpc2VsZWN0LWl0ZW0udWktc3RhdGUtaGlnaGxpZ2h0IHtcclxuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG4jcmViYXRlc0dyaWQgLnVpLWNoa2JveCAudWktY2hrYm94LWJveC51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcbiNyZWJhdGVzR3JpZCAudWktdGFibGUgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG4jcmViYXRlc0dyaWQgLnVpLXRhYmxlIHtcclxuICAgIG1heC1oZWlnaHQ6IDcwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI3JlYmF0ZXNHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlciwgLnVpLXRhYmxlLXNjcm9sbGFibGUtZm9vdGVyIHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbn1cclxuI3JlYmF0ZXNHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWhlYWRlci1ib3gge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI3JlYmF0ZXNHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI4MHB4KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jcmViYXRlc0dyaWQgLmV4Y2VsSWNvbiB7XHJcbiAgICBmb250LXNpemU6IDEuNWVtO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIHBhZGRpbmc6IDZweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgdG9wOiAtN3B4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAgICNyZWJhdGVzR3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzcwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2Yge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MTQwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTJweCkge1xyXG4gICAgI3JlYmF0ZXNHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMjBweCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jZiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDoxMTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDA3cHgpIHtcclxuICAgICNyZWJhdGVzR3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzAwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2Yge1xyXG4gICAgICAgIG1hcmdpbi10b3A6ODBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59Il19 */\"","import { Component, EventEmitter, Input, OnInit, Output,ViewEncapsulation } from '@angular/core';\r\nimport * as moment from 'moment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-rebate-shipped-form',\r\n templateUrl: './rebate-shipped-form.component.html',\r\n styleUrls: ['./rebate-shipped-form.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RebateShippedFormComponent implements OnInit {\r\n @Input() rebatesData: any;\r\n @Input() rebatesCols: any;\r\n @Input() funcType: any;\r\n @Output() sendUpdatesRebates = new EventEmitter();\r\n selectedRow: any;\r\n filteredCols = [];\r\n priceData: any;\r\n distributor_supported_price = 0;\r\n basf_invoice_price = 0;\r\n price_to_end_user = 0;\r\n price_diff = 0;\r\n bu: any;\r\n isDistributor: any;\r\n apiResp: any;\r\n cols: any;\r\n orgSelectedMassRows: any;\r\n constructor(private spinner:NgxSpinnerService, private toastr: ToastrService, private service: CupsService) { }\r\n\r\n ngOnInit() {\r\n this.orgSelectedMassRows = JSON.parse(JSON.stringify(this.rebatesData));\r\n this.bu = sessionStorage.getItem('BU');\r\n this.isDistributor = ( sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n }\r\n generatePricingData(date) {\r\n let foundPrices: any[]=[];\r\n this.priceData.forEach(pd => {\r\n let currentDate = new Date(pd.effective_date_of_change);\r\n let shippedDate = new Date(date);\r\n if (shippedDate.getTime() > currentDate.getTime()) {\r\n foundPrices.push(pd);\r\n }\r\n });\r\n return foundPrices;\r\n }\r\n genrebateData(foundPrices:any[]) {\r\n if (foundPrices.length) {\r\n this.assignEMPrices(foundPrices);\r\n }\r\n else {\r\n this.distributor_supported_price = this.selectedRow['distributor_supported_price'];\r\n this.price_to_end_user = this.selectedRow['price_to_end_user'];\r\n this.basf_invoice_price = this.selectedRow['basf_invoice_price'];\r\n this.price_diff = Number(this.selectedRow['basf_invoice_price']) - Number(this.selectedRow['distributor_supported_price']);\r\n }\r\n this.rebatesData.forEach(rd => {\r\n if (rd.request_id === this.selectedRow.request_id) {\r\n rd.distributor_supported_price = this.distributor_supported_price;\r\n rd.basf_invoice_price = this.basf_invoice_price;\r\n rd.price_to_end_user = this.price_to_end_user;\r\n rd.price_diff = (rd.basf_invoice_price - this.distributor_supported_price).toFixed(2);\r\n }\r\n })\r\n this.sendUpdatesRebates.emit(this.rebatesData);\r\n }\r\n getDistributorPrice(date: any) {\r\n let foundPrices:any[]=[];\r\n if (this.priceData.length) {\r\n foundPrices = this.generatePricingData(date);\r\n if (this.funcType === 'Rebate Template') {\r\n this.genrebateData(foundPrices);\r\n } else {\r\n foundPrices = foundPrices.filter(fp => moment(date).format(\"MM/DD/yyyy\") !== moment(fp['effective_date_of_change']).format(\"MM/DD/yyyy\"));\r\n this.assignEM_MC_values(foundPrices, this.selectedRow);\r\n this.sendUpdatesRebates.emit(this.rebatesData);\r\n }\r\n } else {\r\n if (this.funcType === 'Rebate Template') {\r\n this.distributor_supported_price = this.selectedRow['distributor_supported_price'];\r\n this.price_to_end_user = this.selectedRow['price_to_end_user'];\r\n this.rebatesData.forEach(rd => {\r\n if (rd.request_id === this.selectedRow.request_id) {\r\n rd.distributor_supported_price = this.distributor_supported_price;\r\n rd.basf_invoice_price = this.selectedRow['basf_invoice_price'];\r\n rd.price_to_end_user = this.price_to_end_user;\r\n rd.price_diff = (rd.basf_invoice_price - this.distributor_supported_price).toFixed(2);\r\n }\r\n })\r\n } else {\r\n this.assignEM_MC_INIT_Values(this.selectedRow);\r\n }\r\n this.sendUpdatesRebates.emit(this.rebatesData);\r\n }\r\n }\r\n\r\n getFormattedDate(date) {\r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n\r\n assignEMPrices(foundPrices: any[]) {\r\n let minDate = foundPrices.reduce((a, b) => new Date(a.effective_date_of_change) > new Date(b.effective_date_of_change) ? a : b)\r\n this.basf_invoice_price = minDate['distributor_price_from_basf'];\r\n this.distributor_supported_price = minDate['net_support_price'];\r\n this.price_to_end_user = minDate['support_price_to_end_customer'];\r\n }\r\n\r\n assignEM_MC_values(foundPrices, rowData) {\r\n if (foundPrices.length) {\r\n let minDate = foundPrices.reduce((a, b) => new Date(a.created_date) > new Date(b.created_date) ? a : b)\r\n this.rebatesData.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n smr['distributor_price_from_basf'] = minDate['distributor_price_from_basf'];\r\n smr['distributor_price_from_basf_MC'] = minDate['distributor_price_from_basf'];\r\n smr['support_price_to_end_customer'] = minDate['support_price_to_end_customer'];\r\n smr['support_price_to_end_customer_MC'] = minDate['support_price_to_end_customer'];\r\n smr['net_support_price'] = minDate['net_support_price']\r\n smr['net_support_price_MC'] = minDate['net_support_price'];\r\n smr['credit_back_amount'] = minDate['credit_back_amount']\r\n smr['credit_back_amount_MC'] = minDate['credit_back_amount'];\r\n this.calculateEMEVPrices(smr);\r\n }\r\n });\r\n } \r\n else {\r\n this.assignEM_MC_INIT_Values(rowData);\r\n }\r\n }\r\n\r\n assignEM_MC_INIT_Values(rowData) {\r\n this.rebatesData.forEach(smr => {\r\n if (smr.cupReqId === rowData.cupReqId) {\r\n let fRequest = this.orgSelectedMassRows.find(orm => orm.cupReqId === rowData.cupReqId);\r\n smr['distributor_price_from_basf'] = fRequest['distributor_price_from_basf'];\r\n smr['distributor_price_from_basf_MC'] = fRequest['distributor_price_from_basf'];\r\n smr['support_price_to_end_customer'] = fRequest['support_price_to_end_customer'];\r\n smr['support_price_to_end_customer_MC'] = fRequest['support_price_to_end_customer'];\r\n smr['net_support_price'] = fRequest['net_support_price']\r\n smr['net_support_price_MC'] = fRequest['net_support_price'];\r\n smr['credit_back_amount'] = fRequest['credit_back_amount']\r\n smr['credit_back_amount_MC'] = fRequest['credit_back_amount'];\r\n this.calculateEMEVPrices(smr);\r\n }\r\n });\r\n }\r\n\r\n calculateEMEVPrices(rowData) {\r\n \r\n const sp = Number(rowData['support_price_to_end_customer_MC']);\r\n const discount = Number(rowData['discount_percent'].replace('%', ''));\r\n const fa = rowData['frieght_allowance'] ? Number(rowData['frieght_allowance']) : 0;\r\n const oa = rowData['other_allowance'] ? Number(rowData['other_allowance']) : 0;\r\n \r\n const dp_mc = Number(rowData['distributor_price_from_basf_MC']);\r\n \r\n rowData['net_support_price_MC'] = (sp - (sp * (discount) / 100) - fa - oa).toFixed(2).toString();\r\n rowData['credit_back_amount_MC'] = (dp_mc - Number(rowData['net_support_price_MC'])).toFixed(2).toString();\r\n \r\n \r\n \r\n this.rebatesData.forEach(sm => {\r\n if (sm.request_reference_number === rowData.request_reference_number) {\r\n sm.net_support_price_MC = rowData['net_support_price_MC'];\r\n sm.credit_back_amount_MC = rowData['credit_back_amount_MC'];\r\n sm.isValidCreditAmountMC = this.validateNumber(sm.credit_back_amount_MC, sm);\r\n if (!sm.isValidCreditAmountMC) {\r\n this.toastr.error('Values cannot be negative', 'Error!');\r\n }\r\n }\r\n });\r\n }\r\n\r\n validateNumber(value, rowData) {\r\n this.rebatesData.forEach(sm => {\r\n if(sm.request_reference_number === rowData.request_reference_number) {\r\n sm.issueInMassChange = Number(value) > 0;\r\n }\r\n });\r\n return Number(value) > 0;\r\n }\r\n\r\n receivePriceData(priceData: any) {\r\n this.priceData = priceData;\r\n }\r\n\r\n buildPrice(event, rowData) {\r\n this.selectedRow = rowData;\r\n this.getEMPriceHistory(event.target.value);\r\n }\r\n\r\n getEMPriceHistory(date) {\r\n this.spinner.show();\r\n this.service.getEMPPMHistory(this.selectedRow['request_id'], this.bu, this.isDistributor).subscribe(response => {\r\n this.spinner.hide();\r\n this.apiResp = response;\r\n if(!this.apiResp['isError']) {\r\n this.cols = JSON.parse(JSON.stringify(this.apiResp['headerColumns']));\r\n this.apiResp['historyData'].forEach(hd => {\r\n hd.type_of_change = (hd.type_of_change === 1) ? '%' : '$';\r\n hd.direction_of_change = (hd.direction_of_change === 1) ? 'Increase' : 'Decrease';\r\n hd.effective_date_of_change = moment(hd.effective_date_of_change).format('MM/DD/YYYY');\r\n hd.expiration_date = moment(hd.expiration_date).format('MM/DD/YYYY');\r\n })\r\n this.priceData = JSON.parse(JSON.stringify(this.apiResp['historyData']));\r\n this.priceData.forEach(pd => {\r\n pd.effectiveDate = moment(pd['effectiveDate']).format('MMMM Do YYYY');\r\n });\r\n this.getDistributorPrice(date);\r\n }\r\n });\r\n }\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.cust-form-label {\\r\\n font-size: 14px !important;\\r\\n margin-bottom: 0px !important;\\r\\n display: block;\\r\\n}\\r\\n.cancel-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\n.submit-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\nsmall {\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n.cust-form-group {\\r\\n justify-content: end;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZWJhdGVzL2V2ZW0tcmVxdWVzdC9ldmVtLXJlcXVlc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsY0FBYztBQUNsQjtBQUNBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsV0FBVztJQUNYLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksMkJBQTJCO0FBQy9CO0FBQ0E7SUFDSSxvQkFBb0I7SUFDcEIsYUFBYTtJQUNiLHNCQUFzQjtBQUMxQiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcmViYXRlcy9ldmVtLXJlcXVlc3QvZXZlbS1yZXF1ZXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGVhZGVyLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuLmN1c3QtZm9ybS1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuLmNhbmNlbC1idG4ge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRmNGY0ZjtcclxuICAgIG1hcmdpbjoxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcbi5zdWJtaXQtYnRuIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxufVxyXG5zbWFsbCB7XHJcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmN1c3QtZm9ybS1ncm91cCB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGVuZDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-evem-request',\r\n templateUrl: './evem-request.component.html',\r\n styleUrls: ['./evem-request.component.css']\r\n})\r\nexport class EvemRequestComponent implements OnInit {\r\n cupRequestData: any;\r\n type: any;\r\n formData = {};\r\n apiResp: any;\r\n selectedStatus: any;\r\n requestAPI = {\r\n \"rebate_submissions_id\": 0,\r\n \"pm_request_id\": 0,\r\n \"request_id\": 0,\r\n \"distributor_invoice_number\": \"\",\r\n \"shipped_date\": \"2021-11-25T01:13:20.502Z\",\r\n \"quantity_shipped\": 0,\r\n \"total_creditdue\": 0,\r\n \"comments\": \"\",\r\n \"invoice\": \"\",\r\n \"quantity\": 0,\r\n \"enter_po\": \"\",\r\n \"rebate_final\": 0,\r\n \"created_by\": \"\",\r\n \"cups_intostock_id\": 0,\r\n \"businessunit_id\": 0,\r\n \"distributor_supported_price\":0,\r\n \"price_diff\":0,\r\n \"price_to_end_user\": 0,\r\n \"basf_invoice_price\": 0\r\n };\r\n formMode: any;\r\n selectedBusinessUnit: any;\r\n bu: any;\r\n EVID = 2;\r\n EMID = 1;\r\n PMID = 3;\r\n EDID = 4;\r\n priceData: any;\r\n statusOptions = [\r\n { id: 1, name: 'Pending'},\r\n { id: 2, name: 'Rejected'},\r\n { id: 3, name: 'Approved'}\r\n ];\r\n userAdmin: boolean = false;\r\n\r\n constructor(private router: Router, private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n this.userAdmin = (sessionStorage.getItem('IsAdmin') === \"1\" || sessionStorage.getItem('IsAdmin') === \"true\") ? true : false;\r\n if (!history.state.data) {\r\n this.router.navigate(['/rebates']);\r\n } else {\r\n this.bu = sessionStorage.getItem('BU');\r\n switch (this.bu) {\r\n case 'EM': this.selectedBusinessUnit = this.EMID; break;\r\n case 'EV': this.selectedBusinessUnit = this.EVID; break;\r\n case 'PM': this.selectedBusinessUnit = this.PMID; break;\r\n case 'ED': this.selectedBusinessUnit = this.EDID; break;\r\n default: this.selectedBusinessUnit = this.EMID; break;\r\n }\r\n this.cupRequestData = history.state.data.rowData;\r\n this.type= history.state.data.type;\r\n if (history.state.data.type === 'edit') {\r\n this.formData = JSON.parse(JSON.stringify(this.cupRequestData));\r\n this.formMode = 'Edit';\r\n this.formData['shipped_date'] = moment(this.formData['shipped_date']).format('yyyy-MM-DD');\r\n this.generateDateFormats();\r\n } else {\r\n this._service.getRebateFormData(this.cupRequestData.request_id, this.cupRequestData.businessunit_id).subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n this.formData = JSON.parse(JSON.stringify(this.apiResp.rebateEvemData[0]));\r\n this.generateDateFormats();\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n getFormattedDate(date) {\r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n getFormattedEndDate(date) {\r\n const dateNow = new Date();\r\n const iDate = new Date(date);\r\n\r\n if(iDate.getTime() > dateNow.getTime()) {\r\n const dateYesterday = new Date(dateNow);\r\n dateYesterday.setDate(dateYesterday.getDate());\r\n \r\n return moment(dateYesterday).format(\"yyyy-MM-DD\");\r\n }\r\n else { \r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n }\r\n\r\n generateDateFormats() {\r\n this.formData['submission_date'] = moment(this.formData['submission_date']).format('YYYY/MM/DD');\r\n this.formData['effective_date'] = moment(this.formData['effective_date']).format('YYYY/MM/DD');\r\n this.formData['expiration_date'] = moment(this.formData['expiration_date']).format('YYYY/MM/DD');\r\n this.formData['cups_intostock_id'] = this.cupRequestData.cups_intostock_id;\r\n this.selectedStatus = this.statusOptions.find(so => so.id === this.cupRequestData.status);\r\n this.formData['distributor_invoice_number'] = this.cupRequestData.distributor_invoice_number;\r\n }\r\n\r\n doCalculations() {\r\n let basfInvoicePrice = Number(this.formData['basf_invoice_price']);\r\n let distributedSupportPrice = Number(this.formData['distributor_supported_price']);\r\n this.formData['price_diff'] = (basfInvoicePrice - distributedSupportPrice).toFixed(2).toString();\r\n if (this.formData['quantity_shipped']) {\r\n let quantity_shipped = Number(this.formData['quantity_shipped']);\r\n this.formData['total_creditdue'] = (quantity_shipped * Number(this.formData['price_diff'])).toFixed(2);\r\n }\r\n }\r\n\r\n getDistributorPrice(date: any) {\r\n let foundPrices = [];\r\n if (this.priceData.length) {\r\n this.priceData.forEach(pd => {\r\n let currentDate = new Date(pd.effective_date_of_change);\r\n let shippedDate = new Date(date);\r\n if (shippedDate.getTime() > currentDate.getTime()) {\r\n foundPrices.push(pd);\r\n }\r\n });\r\n if (foundPrices.length && (this.selectedBusinessUnit === 1 || this.selectedBusinessUnit === 4) ) {\r\n this.assignEMPrices(foundPrices);\r\n }\r\n else if (foundPrices.length && this.selectedBusinessUnit === 2) {\r\n this.assignEVPrices(foundPrices);\r\n } else {\r\n this.formData['basf_invoice_price'] = this.cupRequestData['distributor_price_from_basf'];\r\n this.formData['distributor_supported_price'] = this.cupRequestData['net_support_price'];\r\n this.formData['price_to_end_user'] = this.cupRequestData['support_price_to_end_customer'];\r\n }\r\n } else {\r\n this.formData['basf_invoice_price'] = this.cupRequestData['distributor_price_from_basf'];\r\n this.formData['distributor_supported_price'] = this.cupRequestData['net_support_price'];\r\n this.formData['price_to_end_user'] = this.cupRequestData['support_price_to_end_customer'];\r\n }\r\n this.doCalculations();\r\n }\r\n\r\n assignEMPrices(foundPrices: any[]) {\r\n let minDate = foundPrices.reduce((a, b) => new Date(a.effective_date_of_change) > new Date(b.effective_date_of_change) ? a : b)\r\n this.formData['basf_invoice_price'] = minDate['distributor_price_from_basf'];\r\n this.formData['distributor_supported_price'] = minDate['net_support_price'];\r\n this.formData['price_to_end_user'] = minDate['support_price_to_end_customer'];\r\n }\r\n\r\n assignEVPrices(foundPrices: any[]) {\r\n foundPrices = foundPrices.filter(fp => fp.cupReqId === this.formData['request_reference_number']);\r\n let minDate = foundPrices.reduce((a, b) => new Date(a.effective_date_of_change) > new Date(b.effective_date_of_change) ? a : b)\r\n this.formData['basf_invoice_price'] = minDate['distributor_price_from_basf'];\r\n this.formData['distributor_supported_price'] = minDate['net_support_price'];\r\n this.formData['price_to_end_user'] = minDate['support_price_to_end_customer'];\r\n }\r\n\r\n receivePriceData(priceData: any) {\r\n this.priceData = priceData;\r\n }\r\n\r\n\r\n submitRebate() {\r\n if (this.checkValidations()) {\r\n this.requestAPI.created_by = sessionStorage.getItem('userid');\r\n this.requestAPI.distributor_invoice_number = this.formData['distributor_invoice_number'];\r\n this.requestAPI.quantity_shipped = Number(this.formData['quantity_shipped']);\r\n this.requestAPI.request_id = this.formData['request_id'];\r\n this.requestAPI.shipped_date = this.formData['shipped_date'];\r\n this.requestAPI.total_creditdue = this.formData['total_creditdue'];\r\n this.requestAPI.comments = (this.formData['comments'] !== null) ? this.formData['comments'] : '';\r\n this.requestAPI.cups_intostock_id = this.formData['cups_intostock_id'];\r\n this.requestAPI.price_to_end_user = this.formData['price_to_end_user'];\r\n this.requestAPI.price_diff = this.formData['price_diff'];\r\n this.requestAPI.basf_invoice_price = this.formData['basf_invoice_price'];\r\n this.requestAPI.distributor_supported_price = this.formData['distributor_supported_price'];\r\n if (this.formMode === 'Edit') {\r\n this.requestAPI.rebate_submissions_id = this.formData['rebate_submissions_id'];\r\n this.requestAPI.cups_intostock_id = 5;\r\n this.requestAPI['rebate_reference_number'] = this.formData['rebate_reference_number'];\r\n }\r\n this.requestAPI.businessunit_id = this.selectedBusinessUnit;\r\n if ((this.selectedBusinessUnit === 1 || this.selectedBusinessUnit === 4) && this.userAdmin) {\r\n this.generateAdminValues();\r\n }\r\n else {\r\n this.generateNonAdminValues();\r\n }\r\n this.spinner.show();\r\n this._service.createRebate(this.requestAPI).subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n this.router.navigate(['/rebates']);\r\n } else{\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n }\r\n\r\n generateNonAdminValues() {\r\n this.requestAPI['status'] = 1;\r\n this.requestAPI['credit_invoice'] = \"\";\r\n this.requestAPI['value'] = 0;\r\n this.requestAPI['admincomments'] = \"\";\r\n this.requestAPI['rebate_reference_number'] = \"\";\r\n }\r\n\r\n generateAdminValues() {\r\n this.requestAPI['status'] = this.selectedStatus.id;\r\n this.requestAPI['rebate_reference_number'] = this.formData['rebate_reference_number'];\r\n this.requestAPI['credit_invoice'] = this.formData['credit_invoice'];\r\n this.requestAPI['value'] = this.formData['value'];\r\n this.requestAPI['admincomments'] = this.formData['admincomments'];\r\n }\r\n\r\n cancel() {\r\n this.router.navigate(['/rebates']);\r\n }\r\n\r\n checkValidations() {\r\n if (!this.formData['distributor_invoice_number']) {\r\n this.toastr.error(\"Distributor Invoice Number Required\");\r\n return false;\r\n }\r\n if (!this.formData['shipped_date']) {\r\n this.toastr.error(\"Date Shipped to End User Required\");\r\n return false;\r\n }\r\n if (!this.formData['quantity_shipped']) {\r\n this.toastr.error(\"Quanitity Shipped Required\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.cust-form-label {\\r\\n font-size: 14px !important;\\r\\n margin-bottom: 0px !important;\\r\\n display: block;\\r\\n}\\r\\n.cancel-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\n.submit-btn {\\r\\n width: 150px;\\r\\n color: white;\\r\\n background-color: #0096d6;\\r\\n margin:10px;\\r\\n border-radius: 5px;\\r\\n}\\r\\nsmall {\\r\\n font-weight: 600 !important;\\r\\n}\\r\\n.cust-form-group {\\r\\n justify-content: end;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZWJhdGVzL3BtLXJlYmF0ZS1yZXF1ZXN0L3BtLXJlYmF0ZS1yZXF1ZXN0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSwwQkFBMEI7SUFDMUIsNkJBQTZCO0lBQzdCLGNBQWM7QUFDbEI7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7QUFDQTtJQUNJLDJCQUEyQjtBQUMvQjtBQUNBO0lBQ0ksb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixzQkFBc0I7QUFDMUIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3JlYmF0ZXMvcG0tcmViYXRlLXJlcXVlc3QvcG0tcmViYXRlLXJlcXVlc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXItbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uY3VzdC1mb3JtLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG4uY2FuY2VsLWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGY0ZjRmO1xyXG4gICAgbWFyZ2luOjEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbn1cclxuLnN1Ym1pdC1idG4ge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNjtcclxuICAgIG1hcmdpbjoxMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG59XHJcbnNtYWxsIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcclxufVxyXG4uY3VzdC1mb3JtLWdyb3VwIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as moment from 'moment';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-pm-rebate-request',\r\n templateUrl: './pm-rebate-request.component.html',\r\n styleUrls: ['./pm-rebate-request.component.css']\r\n})\r\nexport class PmRebateRequestComponent implements OnInit {\r\n\r\n cupRequestData: any;\r\n formData: any;\r\n apiResp: any;\r\n type: any;\r\n requestAPI = {\r\n \"rebate_submissions_id\": 0,\r\n \"pm_request_id\": 0,\r\n \"request_id\": 0,\r\n \"distributor_invoice_number\": \"\",\r\n \"shipped_date\": \"\",\r\n \"quantity_shipped\": 0,\r\n \"total_creditdue\": 0,\r\n \"comments\": \"\",\r\n \"invoice\": \"\",\r\n \"quantity\": 0,\r\n \"enter_po\": \"\",\r\n \"rebate_final\": 0,\r\n \"created_by\": \"\",\r\n \"cups_intostock_id\": 5,\r\n \"businessunit_id\": 0,\r\n \"rebate\":0,\r\n \"net_support_cost\": 0,\r\n \"list_price_LB\": 0\r\n };\r\n formMode = 'New';\r\n selectedBusinessUnit: any;\r\n bu: any;\r\n EVID = 2;\r\n EMID = 1;\r\n PMID = 3;\r\n EDID = 4;\r\n priceData: any;\r\n constructor(private router: Router, private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService) { }\r\n\r\n ngOnInit() { \r\n if (!history.state.data) {\r\n this.router.navigate(['/rebates']);\r\n } else {\r\n this.cupRequestData = history.state.data.rowData;\r\n this.type= history.state.data.type;\r\n if (history.state.data.type === 'edit') {\r\n this._service.getRebateFormData(this.cupRequestData.pm_request_id, '3').subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n this.cupRequestData = JSON.parse(JSON.stringify(this.apiResp.rebatePMData[0]));\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n this.formData = JSON.parse(JSON.stringify(this.cupRequestData));\r\n this.formMode = 'Edit';\r\n this.formData['shipped_date'] = moment(this.formData['shipped_date']).format('yyyy-MM-DD');\r\n } else {\r\n this.formMode = 'New';\r\n this._service.getRebateFormData(this.cupRequestData.pm_request_id, '3').subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n this.formData = JSON.parse(JSON.stringify(this.apiResp.rebatePMData[0]));\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n getDistributorPrice(date: any) {\r\n let foundPrices: any[] =[];\r\n if(this.priceData.length) {\r\n this.priceData.forEach(pd => {\r\n let currentDate = new Date(pd.effective_date_of_change);\r\n let shippedDate = new Date(date);\r\n if(shippedDate.getTime() > currentDate.getTime()) {\r\n foundPrices.push(pd);\r\n }\r\n });\r\n if (foundPrices.length) {\r\n let minDate = foundPrices.reduce((a, b) => new Date(a.effective_date_of_change) > new Date(b.effective_date_of_change) ? a : b)\r\n this.formData['net_supported_cost'] = minDate['supported_buy_price'];\r\n this.formData['rebate'] = minDate['rebate'];\r\n this.formData['list_price_LB'] = minDate['distributor_price_from_basf'];\r\n this.formData['supported_list_price_LB'] = Number(minDate['supported_buy_price']) + Number(minDate['distributor_price_from_basf']);\r\n } else {\r\n this.formData['rebate'] = this.cupRequestData['rebate'];\r\n this.formData['net_supported_cost'] = this.cupRequestData['net_support_cost'];\r\n this.formData['supported_list_price_LB'] = this.cupRequestData['supported_list_price_LB'];\r\n this.formData['list_price_LB'] = this.cupRequestData['list_price_LB'];\r\n }\r\n this.doCalculations();\r\n }\r\n }\r\n\r\n doCalculations() {\r\n this.formData.rebate_final = (Number(this.formData.rebate) * Number(this.formData.quantity)).toFixed(2);\r\n }\r\n\r\n receivePriceData(priceData: any) {\r\n this.priceData = priceData;\r\n }\r\n\r\n submitRebate() {\r\n if (this.checkValidations()) {\r\n this.requestAPI.created_by = sessionStorage.getItem('userid');\r\n this.requestAPI.invoice = this.formData.invoice;\r\n this.requestAPI.quantity = Number(this.formData.quantity);\r\n this.requestAPI.pm_request_id = this.formData.pm_request_id;\r\n this.requestAPI.shipped_date = (new Date(this.formData.shipped_date)).toISOString();this.requestAPI.comments = (this.formData.comments !== null) ? this.formData.comments : '';\r\n this.requestAPI.enter_po = this.formData.enter_po;\r\n this.requestAPI.rebate_final = this.formData.rebate_final;\r\n this.requestAPI.rebate_submissions_id = this.formMode === 'Edit' ? this.formData.rebate_submissions_id : 0;\r\n this.requestAPI.businessunit_id = 3;\r\n this.requestAPI['credit_invoice'] = \"\";\r\n this.requestAPI['value'] = 0;\r\n this.requestAPI['admincomments'] = \"\";\r\n this.requestAPI['rebate_reference_number'] = this.formMode === 'Edit' ? this.formData.rebate_reference_number : \"\";\r\n this.requestAPI['rebate'] = this.formData['rebate'];\r\n this.requestAPI['net_support_cost'] = this.formData['net_supported_cost'];\r\n this.requestAPI['supported_list_price_LB'] = this.formData['supported_list_price_LB'];\r\n this.requestAPI.list_price_LB = this.formData['list_price_LB'];\r\n this.spinner.show();\r\n this._service.createRebate(this.requestAPI).subscribe(response => {\r\n if (!response['isError']) {\r\n this.apiResp = response;\r\n this.spinner.hide();\r\n this.router.navigate(['/rebates']);\r\n this._service.displayToastr(response);\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n }\r\n\r\n getFormattedDate(date) {\r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n \r\n getFormattedEndDate(date) {\r\n const dateNow = new Date();\r\n const iDate = new Date(date);\r\n\r\n if(iDate.getTime() > dateNow.getTime()) {\r\n const dateYesterday = new Date(dateNow);\r\n dateYesterday.setDate(dateYesterday.getDate());\r\n \r\n return moment(dateYesterday).format(\"yyyy-MM-DD\");\r\n }\r\n else { \r\n return moment(date).format(\"yyyy-MM-DD\");\r\n }\r\n }\r\n \r\n checkValidations() {\r\n if (!this.formData['invoice']) {\r\n this.toastr.error(\"Invoice Number is Required\");\r\n return false;\r\n }\r\n if (!this.formData['quantity']) {\r\n this.toastr.error(\"Quantity Value is Required\");\r\n return false;\r\n }\r\n if (!this.formData['shipped_date']) {\r\n this.toastr.error(\"Shipped date is Required\");\r\n return false;\r\n }\r\n if (!this.formData['enter_po']) {\r\n this.toastr.error(\"PO number is Required\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n cancel() {\r\n this.router.navigate(['/rebates']);\r\n }\r\n\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.cust-label {\\r\\n text-align: end;\\r\\n font-size: 14px;\\r\\n margin-bottom: 0.1rem;\\r\\n}\\r\\n.cust-text {\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n margin-bottom: 0.1rem;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZWJhdGVzL3JlYmF0ZS1pbmZvL3JlYmF0ZS1pbmZvLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSxlQUFlO0lBQ2YsZUFBZTtJQUNmLHFCQUFxQjtBQUN6QjtBQUNBO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixxQkFBcUI7QUFDekIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3JlYmF0ZXMvcmViYXRlLWluZm8vcmViYXRlLWluZm8uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXItbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4uY3VzdC1sYWJlbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBlbmQ7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwLjFyZW07XHJcbn1cclxuLmN1c3QtdGV4dCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC4xcmVtO1xyXG59Il19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n@Component({\r\n selector: 'app-rebate-info',\r\n templateUrl: './rebate-info.component.html',\r\n styleUrls: ['./rebate-info.component.css']\r\n})\r\nexport class RebateInfoComponent implements OnInit {\r\n labelData: any;\r\n orgRowData: any;\r\n formData: any;\r\n labelCount = 0;\r\n leftColumns: any;\r\n rightColumns: any;\r\n halfWayIndex: any;\r\n bu: any;\r\n\r\n constructor(private router: Router, private spinner: NgxSpinnerService, private _service: CupsService) { }\r\n\r\n ngOnInit() {\r\n if (!history.state.data) {\r\n this.router.navigate(['/']);\r\n } else {\r\n this.bu = sessionStorage.getItem('BU');\r\n this.labelData = history.state.data.labelData;\r\n if(this.bu === 'EM' || this.bu === 'ED') {\r\n this.labelData.forEach(ld => {\r\n if(ld.field === 'value' && history.state.data.rowData['status']!== 1) {\r\n ld.is_grid_display = true;\r\n }\r\n if(ld.field === 'admincomments' && history.state.data.rowData['status']=== 1) {\r\n ld.is_grid_display = false;\r\n }\r\n })\r\n }\r\n\r\n this.labelData = this.labelData.filter(col => col.is_grid_display);\r\n this.labelData = this.labelData.sort((a, b) => {\r\n return a.serial_no - b.serial_no;\r\n });\r\n this.orgRowData = history.state.data.rowData;\r\n this.labelCount = this.labelData.length;\r\n this.halfWayIndex = Math.ceil(this.labelData.length / 2);\r\n this.leftColumns = this.labelData.slice(0, this.halfWayIndex)\r\n this.rightColumns = this.labelData.slice(this.halfWayIndex);\r\n this.formData = JSON.parse(JSON.stringify(this.orgRowData));\r\n }\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['/rebates']);\r\n }\r\n\r\n}\r\n","export default \".header-label {\\r\\n font-size: 20px;\\r\\n font-weight: 600;\\r\\n}\\r\\n.accordion-img-icon {\\r\\n margin-right: 6px;\\r\\n margin-bottom: 2px;\\r\\n margin-top: 2px;\\r\\n margin-left: 2px;\\r\\n height: 20px;\\r\\n width: 20px;\\r\\n}\\r\\n.reject-btn {\\r\\n width: 150px;\\r\\n color: white !important;\\r\\n background-color: #4f4f4f;\\r\\n margin:10px;\\r\\n border-radius: 5px !important;\\r\\n}\\r\\n#uploadExcel .activ-btn {\\r\\n background-color: #0096d6;\\r\\n border-radius: 5px;\\r\\n color: white;\\r\\n margin-right: 25px;\\r\\n height: 40px !important;\\r\\n}\\r\\n#uploadExcel .ui-button-icon-only .ui-button-icon-left, .ui-button-text-icon-left .ui-button-icon-left, .ui-button-text-icon-right .ui-button-icon-right {\\r\\n display: none !important;\\r\\n}\\r\\n#uploadExcel .ui-button {\\r\\n height: 40px !important;\\r\\n background-color: #0096d6 !important;\\r\\n border-radius: 5px !important;\\r\\n color: white !important;\\r\\n width: 250px !important;\\r\\n}\\r\\n#uploadExcel .ui-button.ui-button-text-icon-left .ui-button-text {\\r\\n padding: 3% !important;\\r\\n font-size: 1rem !important;\\r\\n}\\r\\n#uploadExcel .ui-card {\\r\\n box-shadow: 2px 2px 6px 1px rgb(0 0 0 / 12%), 1px 1px 3px 2px rgb(0 0 0 / 20%), 0 1px 1px 0 rgb(0 0 0 / 14%), 0 2px 1px -1px rgb(0 0 0 / 12%) !important;\\r\\n}\\r\\n#uploadExcel .cust-header {\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n font-size: 16px;\\r\\n padding: 10px;\\r\\n text-align: center\\r\\n}\\r\\n#uploadExcel .form-frame2 {\\r\\n border: 1px dashed darkgray;\\r\\n height: 200px;\\r\\n}\\r\\n#uploadExcel .p-class {\\r\\n top: 40px;\\r\\n font-weight: 500;\\r\\n color: #0096d6;\\r\\n position: inherit;\\r\\n text-align: center;\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n}\\r\\n#uploadExcel .del-class {\\r\\n font-size: 16px;\\r\\n float: right;\\r\\n margin-left: 15px;\\r\\n cursor: pointer;\\r\\n color: #0096d6;\\r\\n }\\r\\n#uploadExcel .p2-class {\\r\\n text-align: left;\\r\\n font-size: 16px;\\r\\n font-weight: 600;\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n }\\r\\n.backdrop {\\r\\n background-color:rgba(0,0,0,0.83);\\r\\n position:fixed;\\r\\n top:0;\\r\\n left:0;\\r\\n width:100%;\\r\\n height:100vh;\\r\\n z-index: 9999;\\r\\n}\\r\\n.s-modal {\\r\\n top: 80px !important;\\r\\n right: 35px;\\r\\n z-index: 9999;\\r\\n}\\r\\n.s-modal-title {\\r\\n font-weight: 700;\\r\\n}\\r\\n.s-modal-header {\\r\\n padding: 5px;\\r\\n border: none;\\r\\n}\\r\\n.s-modal-body {\\r\\n padding: 0px !important;\\r\\n max-height: 600px;\\r\\n}\\r\\n.s-modal-dialog {\\r\\n width: auto;\\r\\n}\\r\\n/* .s-modal {\\r\\n float: right;\\r\\n} */\\r\\n.s-modal-content {\\r\\n /* color: white; */\\r\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\\r\\n /* background-color: rgba(0,0,0,0.8) */\\r\\n}\\r\\n#rebates .ui-tabview.ui-tabview-top .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-bottom .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-left .ui-tabview-nav li.ui-state-active, body .ui-tabview.ui-tabview-right .ui-tabview-nav li.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n border: 1px solid #6faf6a !important;\\r\\n}\\r\\n.rebate-add-btn {\\r\\n border-radius: 5px !important;\\r\\n background-color: #0096d6;\\r\\n margin-left: 10px;\\r\\n color: white;\\r\\n top: 0px;\\r\\n position: relative;\\r\\n}\\r\\n.rebate-excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: 5px;\\r\\n position: relative;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yZWJhdGVzL3JlYmF0ZXMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osV0FBVztBQUNmO0FBQ0E7SUFDSSxZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsNkJBQTZCO0FBQ2pDO0FBQ0E7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsdUJBQXVCO0FBQzNCO0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixvQ0FBb0M7SUFDcEMsNkJBQTZCO0lBQzdCLHVCQUF1QjtJQUN2Qix1QkFBdUI7QUFDM0I7QUFDQTtJQUNJLHNCQUFzQjtJQUN0QiwwQkFBMEI7QUFDOUI7QUFDQTtJQUNJLHdKQUF3SjtBQUM1SjtBQUNBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixlQUFlO0lBQ2YsYUFBYTtJQUNiO0FBQ0o7QUFDQTtJQUNJLDJCQUEyQjtJQUMzQixhQUFhO0FBQ2pCO0FBQ0E7RUFDRSxTQUFTO0VBQ1QsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsa0JBQWtCO0VBQ2xCLHdJQUF3STtBQUMxSTtBQUNBO0lBQ0ksZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGNBQWM7RUFDaEI7QUFDRjtJQUNJLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHdJQUF3STtFQUMxSTtBQUNBO0lBQ0UsaUNBQWlDO0lBQ2pDLGNBQWM7SUFDZCxLQUFLO0lBQ0wsTUFBTTtJQUNOLFVBQVU7SUFDVixZQUFZO0lBQ1osYUFBYTtBQUNqQjtBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCxhQUFhO0FBQ2pCO0FBQ0E7SUFDSSxnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLFlBQVk7SUFDWixZQUFZO0FBQ2hCO0FBQ0E7SUFDSSx1QkFBdUI7SUFDdkIsaUJBQWlCO0FBQ3JCO0FBQ0E7Q0FDQyxXQUFXO0FBQ1o7QUFDQTs7R0FFRztBQUNIO0lBQ0ksa0JBQWtCO0lBQ2xCLHdJQUF3STtJQUN4SSxzQ0FBc0M7QUFDMUM7QUFDQTtJQUNJLG9DQUFvQztJQUNwQyxvQ0FBb0M7QUFDeEM7QUFDQTtJQUNJLDZCQUE2QjtJQUM3Qix5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixRQUFRO0lBQ1Isa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsUUFBUTtJQUNSLGtCQUFrQjtBQUN0QiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvcmViYXRlcy9yZWJhdGVzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaGVhZGVyLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuLmFjY29yZGlvbi1pbWctaWNvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDJweDtcclxuICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAycHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxufVxyXG4ucmVqZWN0LWJ0biB7XHJcbiAgICB3aWR0aDogMTUwcHg7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZjRmNGY7XHJcbiAgICBtYXJnaW46MTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcbiN1cGxvYWRFeGNlbCAuYWN0aXYtYnRuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuI3VwbG9hZEV4Y2VsIC51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24taWNvbi1sZWZ0LCAudWktYnV0dG9uLXRleHQtaWNvbi1sZWZ0IC51aS1idXR0b24taWNvbi1sZWZ0LCAudWktYnV0dG9uLXRleHQtaWNvbi1yaWdodCAudWktYnV0dG9uLWljb24tcmlnaHQge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jdXBsb2FkRXhjZWwgLnVpLWJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDYgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMjUwcHggIWltcG9ydGFudDtcclxufVxyXG4jdXBsb2FkRXhjZWwgLnVpLWJ1dHRvbi51aS1idXR0b24tdGV4dC1pY29uLWxlZnQgLnVpLWJ1dHRvbi10ZXh0IHtcclxuICAgIHBhZGRpbmc6IDMlICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcclxufVxyXG4jdXBsb2FkRXhjZWwgLnVpLWNhcmQge1xyXG4gICAgYm94LXNoYWRvdzogMnB4IDJweCA2cHggMXB4IHJnYigwIDAgMCAvIDEyJSksIDFweCAxcHggM3B4IDJweCByZ2IoMCAwIDAgLyAyMCUpLCAwIDFweCAxcHggMCByZ2IoMCAwIDAgLyAxNCUpLCAwIDJweCAxcHggLTFweCByZ2IoMCAwIDAgLyAxMiUpICFpbXBvcnRhbnQ7XHJcbn1cclxuI3VwbG9hZEV4Y2VsIC5jdXN0LWhlYWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlclxyXG59XHJcbiN1cGxvYWRFeGNlbCAuZm9ybS1mcmFtZTIge1xyXG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIGRhcmtncmF5O1xyXG4gICAgaGVpZ2h0OiAyMDBweDtcclxufVxyXG4jdXBsb2FkRXhjZWwgLnAtY2xhc3Mge1xyXG4gIHRvcDogNDBweDtcclxuICBmb250LXdlaWdodDogNTAwO1xyXG4gIGNvbG9yOiAjMDA5NmQ2O1xyXG4gIHBvc2l0aW9uOiBpbmhlcml0O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xyXG59XHJcbiN1cGxvYWRFeGNlbCAuZGVsLWNsYXNzIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICMwMDk2ZDY7XHJcbiAgfVxyXG4jdXBsb2FkRXhjZWwgLnAyLWNsYXNzIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCAnT3BlbiBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcclxuICB9XHJcbiAgLmJhY2tkcm9wIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjgzKTtcclxuICAgIHBvc2l0aW9uOmZpeGVkO1xyXG4gICAgdG9wOjA7XHJcbiAgICBsZWZ0OjA7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgaGVpZ2h0OjEwMHZoO1xyXG4gICAgei1pbmRleDogOTk5OTtcclxufVxyXG5cclxuLnMtbW9kYWwge1xyXG4gICAgdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogMzVweDtcclxuICAgIHotaW5kZXg6IDk5OTk7XHJcbn1cclxuLnMtbW9kYWwtdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4ucy1tb2RhbC1oZWFkZXIge1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcbi5zLW1vZGFsLWJvZHkge1xyXG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiA2MDBweDtcclxufVxyXG4ucy1tb2RhbC1kaWFsb2cge1xyXG4gd2lkdGg6IGF1dG87XHJcbn1cclxuLyogLnMtbW9kYWwge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59ICovXHJcbi5zLW1vZGFsLWNvbnRlbnQge1xyXG4gICAgLyogY29sb3I6IHdoaXRlOyAqL1xyXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCAnT3BlbiBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC44KSAqL1xyXG59XHJcbiNyZWJhdGVzIC51aS10YWJ2aWV3LnVpLXRhYnZpZXctdG9wIC51aS10YWJ2aWV3LW5hdiBsaS51aS1zdGF0ZS1hY3RpdmUsIGJvZHkgLnVpLXRhYnZpZXcudWktdGFidmlldy1ib3R0b20gLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSwgYm9keSAudWktdGFidmlldy51aS10YWJ2aWV3LWxlZnQgLnVpLXRhYnZpZXctbmF2IGxpLnVpLXN0YXRlLWFjdGl2ZSwgYm9keSAudWktdGFidmlldy51aS10YWJ2aWV3LXJpZ2h0IC51aS10YWJ2aWV3LW5hdiBsaS51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzZmYWY2YSAhaW1wb3J0YW50O1xyXG59XHJcbi5yZWJhdGUtYWRkLWJ0biB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi5yZWJhdGUtZXhjZWxJY29uIHtcclxuICAgIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA5NmQ2O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgcGFkZGluZzogNnB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB0b3A6IDVweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufSJdfQ== */\"","import { Component, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { CupsService } from 'src/services/cups.service';\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\n\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\n\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n\r\n@Component({\r\n selector: 'app-rebates',\r\n templateUrl: './rebates.component.html',\r\n styleUrls: ['./rebates.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class RebatesComponent implements OnInit {\r\n\r\n gridAPIResp: any;\r\n rebateresp: any;\r\n selectedCols: any;\r\n rebatesData: any;\r\n downloadRebate:any;\r\n EMID = 1;\r\n EVID = 2;\r\n PMID = 3;\r\n EDID = 4;\r\n uploadedFiles: any[] = [];\r\n fileName = \"\";\r\n fileType = \"\";\r\n fileUpload = false;\r\n filesize =\"\";\r\n fileBuffer: any;\r\n fileObject: any;\r\n displayUpload = false;\r\n selectedBusinessUnit: any;\r\n bu = \"EM\";\r\n isDistributor = false;\r\n selectedRebates: any;\r\n APPROVED = 3;\r\n PENDING = 1;\r\n REJECTED = 2;\r\n ALL = 0;\r\n rebateStatus = 3;\r\n filteredData: any;\r\n filteredFields = [];\r\n tempFilteredData: any;\r\n isSalesSupportUser: any;\r\n isSalesSupportDistributor = 0;\r\n constructor(private _service: CupsService, private spinner: NgxSpinnerService, private toastr: ToastrService, private router: Router) { }\r\n\r\n ngOnInit() {\r\n this.bu = sessionStorage.getItem('BU');\r\n this.isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n this.isSalesSupportUser = (sessionStorage.getItem('isSalesSupport') === \"1\" || sessionStorage.getItem('isSalesSupport') === \"true\") ? true : false;\r\n switch (this.bu) {\r\n case 'EM': this.selectedBusinessUnit = this.EMID; break;\r\n case 'EV': this.selectedBusinessUnit = this.EVID; break;\r\n case 'PM': this.selectedBusinessUnit = this.PMID; break;\r\n case 'ED': this.selectedBusinessUnit = this.EDID; break;\r\n default: this.selectedBusinessUnit = this.EMID; break;\r\n }\r\n\r\n this.isSalesSupportDistributor = Number(sessionStorage.getItem('SalesSupportDistributor'));\r\n this.getRebatesGrid(this.selectedBusinessUnit, this.rebateStatus);\r\n }\r\n\r\n getRebatesGrid(businessUnit: any, rebateStatus) {\r\n this.selectedBusinessUnit = businessUnit;\r\n this.spinner.show();\r\n this._service.getRebateGridData(businessUnit, rebateStatus, this.isSalesSupportDistributor).subscribe(response => {\r\n this.spinner.hide();\r\n if (!response['isError']) {\r\n this.gridAPIResp = response;\r\n this.selectedCols = this.gridAPIResp.headerColumns;\r\n this.selectedCols = this.selectedCols.filter(col => col.is_grid_display);\r\n if(this.isDistributor || Number(sessionStorage.getItem('SalesSupportDistributor'))>0){\r\n this.selectedCols=this.selectedCols.filter(col=>col.field!== 'admincomments');\r\n }\r\n if((businessUnit === 1 || businessUnit === 4) && rebateStatus === 1) {\r\n this.selectedCols = this.selectedCols.filter(ld => ld.field !== 'admincomments' );\r\n }\r\n if (businessUnit === 1 || businessUnit === 2 || businessUnit === 4) {\r\n this.rebatesData = this.gridAPIResp.rebateEvemGridData;\r\n }\r\n if (businessUnit === 3) {\r\n this.rebatesData = this.gridAPIResp.rebatePMGridData;\r\n }\r\n this.filteredData = JSON.parse(JSON.stringify(this.rebatesData));\r\n this.tempFilteredData = JSON.parse(JSON.stringify(this.filteredData));\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n onTabChange(event) {\r\n switch(event.index) {\r\n case 0: this.rebateStatus = this.APPROVED; break;\r\n case 1: this.rebateStatus = this.PENDING; break;\r\n case 2: this.rebateStatus = this.REJECTED; break;\r\n case 3: this.rebateStatus = this.ALL; break;\r\n default: this.rebateStatus = this.APPROVED; break;\r\n }\r\n this.getRebatesGrid(this.selectedBusinessUnit, this.rebateStatus);\r\n }\r\n\r\n onSelectRow(rowObject) {\r\n let { rowData, type } = rowObject; \r\n if(type == 'edit') {\r\n let path = this.selectedBusinessUnit === 3 ? 'rebates/pm-rebate-form' : 'rebates/evem-rebate-form';\r\n this.router.navigate([path], { state: { data: {cols: this.selectedCols, rowData: rowData, type} } });\r\n } else {\r\n this.router.navigate(['rebates/rebate-info'], { state: { data: {labelData: this.gridAPIResp.headerColumns, rowData: rowData, type} } });\r\n }\r\n }\r\n\r\n myUploader(event) {\r\n this.spinner.show();\r\n let fileData = event[0];\r\n const element = event[0];\r\n this.filesize = \"0\";\r\n this.filesize = element.size;\r\n this.filesize = this.filesize.toString();\r\n if (element.size > 3145728) {\r\n this.spinner.hide();\r\n this.toastr.warning(\"File Limit Exceeded, Allows only below 3MB data\");\r\n return false;\r\n } else {\r\n this.fileName = fileData.name;\r\n this.fileType = fileData.type;\r\n this.fileBuffer = \"\";\r\n let fileReader = new FileReader();\r\n fileReader.onload = (_e) => {\r\n this.fileBuffer = fileReader.result;\r\n this.fileBuffer = this.fileBuffer.replace(`data:${this.fileType};base64,`, '');\r\n this.fileUpload = true;\r\n this.fileObject = {\r\n \"businessUnitId\": this.selectedBusinessUnit,\r\n \"fileName\": this.fileName,\r\n \"fileType\": this.fileType,\r\n \"fileSize\": this.filesize,\r\n \"fileAsBase64\": this.fileBuffer,\r\n \"created_by\": Number(sessionStorage.getItem('userid')),\r\n \"salesSupportDistributor\": Number(sessionStorage.getItem('SalesSupportDistributor'))\r\n };\r\n }\r\n fileReader.readAsDataURL(fileData);\r\n }\r\n this.uploadedFiles.push(event[0]);\r\n this.spinner.hide();\r\n }\r\n\r\n uploadSubmit(_fileUpload) {\r\n this.spinner.show();\r\n this._service.uploadRebateTemplate(this.fileObject).subscribe(response => {\r\n this.afterAPIResponse(response);\r\n });\r\n }\r\n\r\n afterAPIResponse(response) {\r\n if (!response['isError']) {\r\n let apiResponse = JSON.stringify(response);\r\n if (apiResponse.includes(\"Invalid template\")) { this.toastr.error(apiResponse, 'Error!') }\r\n else {\r\n this.toastr.success(apiResponse, 'Success!');\r\n }\r\n this.removeFile();\r\n this.getRebatesGrid(this.selectedBusinessUnit, this.rebateStatus);\r\n this.displayUpload = false;\r\n this.spinner.hide();\r\n } else {\r\n this.spinner.hide();\r\n this._service.displayToastr(response);\r\n }\r\n }\r\n\r\n uploadFinalisedRebates() {\r\n this._service.uploadRebateExport(this.fileObject).subscribe(response => {\r\n this.afterAPIResponse(response);\r\n });\r\n }\r\n\r\n uploadRebates() {\r\n this.displayUpload = true;\r\n }\r\n\r\n removeFile() {\r\n this.fileName = \"\";\r\n this.fileType = \"\";\r\n this.filesize = \"\";\r\n this.fileBuffer = \"\"\r\n this.fileObject = null;\r\n }\r\n\r\n receiveSelectedRows(event) {\r\n this.selectedRebates = event;\r\n }\r\n\r\n filterData(filterObj) {\r\n let {value, filter } = filterObj;\r\n if (value == '') {\r\n if (this.filteredFields.length) {\r\n this.filteredFields = this.filteredFields.filter(ff => ff.fieldName !== filter);\r\n } else {\r\n this.filteredFields = [];\r\n }\r\n } else {\r\n let foundField = this.filteredFields.filter(ff => ff.fieldName == filter);\r\n if (foundField.length) {\r\n this.filteredFields.forEach(ff => {\r\n if (ff.fieldName == filter) {\r\n ff.value = value;\r\n }\r\n })\r\n } else {\r\n let fieldObj = {\r\n fieldName: filter,\r\n value: value\r\n };\r\n this.filteredFields.push(fieldObj);\r\n }\r\n }\r\n if (this.filteredFields.length) {\r\n let temp = this.rebatesData;\r\n this.filteredFields.forEach(ff => {\r\n temp = temp.filter(fd => fd[ff.fieldName].toUpperCase().includes(ff.value.toUpperCase()));\r\n })\r\n this.filteredData = temp;\r\n } else {\r\n this.filteredData = JSON.parse(JSON.stringify(this.rebatesData));\r\n }\r\n this.tempFilteredData = JSON.parse(JSON.stringify(this.filteredData));\r\n }\r\n\r\n exportExcel() {\r\n if (this.selectedBusinessUnit === 3) {\r\n if (this.selectedRebates !== undefined && this.selectedRebates.length > 0) {\r\n this.exportAsExcelFile(this.selectedRebates, 'RebatesRequests', 'sheet1', this.selectedCols);\r\n }\r\n else {\r\n this.exportAsExcelFile(this.tempFilteredData, 'RebatesRequests', 'sheet1', this.selectedCols);\r\n }\r\n } else {\r\n let userId = sessionStorage.getItem('userid');\r\n let selectedRebatedIds = '';\r\n if ((this.selectedBusinessUnit === 1 || this.selectedBusinessUnit === 4) && this.selectedRebates) {\r\n this.selectedRebates.forEach(sr => {\r\n selectedRebatedIds = selectedRebatedIds + ',' + sr.rebate_reference_number \r\n });\r\n selectedRebatedIds = selectedRebatedIds.slice(1);\r\n }\r\n else {\r\n selectedRebatedIds = \"''\";\r\n }\r\n this._service.downloadRebatesEMEV(this.selectedBusinessUnit, userId, selectedRebatedIds).subscribe((response: any) => {\r\n if (!response['isError']) {\r\n this.rebateresp = response;\r\n this.selectedCols = this.rebateresp.headerColumns;\r\n this.selectedCols = this.selectedCols.filter(col => col.is_grid_display);\r\n this.downloadRebate = this.rebateresp.downloadRebate;\r\n this.exportAsExcelFile(this.downloadRebate, 'RebatesRequests', 'Rebates', this.selectedCols);\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n this.getRebatesGrid(this.selectedBusinessUnit, this.rebateStatus);\r\n })\r\n }\r\n }\r\n\r\n exportAsExcelFile(json: any[], excelFileName: string, sheetName: string, columnValues: any[]): void {\r\n let fieldValues: any[] = columnValues.map(field => field.field);\r\n let headerValues: string[] = columnValues.map(header => header.header);\r\n let displayedJson: any[] = [];\r\n if (json != null && json.length > 0) {\r\n for (let originalValue of json) {\r\n let jsonObject: any = {};\r\n for (let fieldValue of fieldValues) {\r\n jsonObject[fieldValue] = originalValue[fieldValue];\r\n }\r\n let jsonString = JSON.stringify(jsonObject);\r\n displayedJson.push(JSON.parse(jsonString));\r\n }\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(displayedJson);\r\n let range = XLSX.utils.decode_range(worksheet['!ref']);\r\n for (let C = range.s.c; C <= range.e.c; ++C) {\r\n let address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\r\n if (!worksheet[address]) continue;\r\n worksheet[address] = {\r\n v: headerValues[C],\r\n t: 's',\r\n s: {\r\n alignment: { textRotation: 90 },\r\n font: { bold: true }\r\n }\r\n };\r\n }\r\n XLSX.utils.sheet_add_aoa(worksheet, [[]], { origin: -1 });\r\n const workbook: XLSX.WorkBook = { Sheets: { [sheetName]: worksheet }, SheetNames: [sheetName] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n }\r\n\r\n saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], { type: EXCEL_TYPE });\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n\r\n\r\n \r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\nimport { CupsService } from 'src/services/cups.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-saml',\r\n templateUrl: './saml.component.html',\r\n styleUrls: []\r\n})\r\nexport class SamlComponent implements OnInit {\r\n userdataDB: any[];\r\n returnUrl: string;\r\n returnUrlpath: string;\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private _service: CupsService) { }\r\n usertoken: any;\r\n notAuthorized = false;\r\n isloading = true;\r\n userData: any = {\r\n email: \"\",\r\n id: 0,\r\n region: \"\",\r\n regionNumber: 0,\r\n role: \"\",\r\n userId: \"\",\r\n userName: \"\",\r\n notAuthorized: false\r\n };\r\n usersData: any;\r\n usersData1: any;\r\n buUsersData: any;\r\n\r\n\r\n ngOnInit() {\r\n\r\n this\r\n .route\r\n .queryParams\r\n .subscribe(params => {\r\n if (params['returnUrl'] != undefined) {\r\n sessionStorage.setItem('returnUrl', params['returnUrl']);\r\n }\r\n this.usertoken = params.Username;\r\n sessionStorage.setItem('loginuseremail', params.Email);\r\n sessionStorage.setItem('jwtToken', params.Email);\r\n sessionStorage.setItem('UserToken', JSON.stringify(params));\r\n sessionStorage.setItem('IsAdmin', params.IsAdmin);\r\n sessionStorage.setItem('userid', params.userid);\r\n if (this.usertoken == undefined || this.usertoken == '') {\r\n this.SAMLService();\r\n }\r\n else {\r\n if (params.userid > 0) {\r\n this.binduserdetails(params.Email);\r\n }\r\n else {\r\n this.router.navigate(['/error']);\r\n }\r\n }\r\n });\r\n }\r\n binduserdetails(params) {\r\n this._service.getUserDetailsById(atob(params)).subscribe(response => {\r\n if (!response['isError']) {\r\n this.usersData = response['lstUsers'][0];\r\n if (this.usersData) {\r\n this.setSessionStorageValues();\r\n this.returnUrl = sessionStorage.getItem('returnUrl');\r\n if (this.returnUrl == undefined || this.returnUrl == '') {\r\n this.router.navigate(['/home']);\r\n }\r\n else {\r\n this.returnUrl = decodeURIComponent(this.returnUrl);\r\n this.returnUrlpath = sessionStorage.getItem('returnUrlpath');\r\n this.router.navigateByUrl(this.returnUrl);\r\n }\r\n } else {\r\n this.router.navigate(['error'])\r\n }\r\n } else {\r\n this._service.displayToastr(response);\r\n }\r\n })\r\n }\r\n\r\n setSessionStorageValues() {\r\n sessionStorage.setItem('loginuser', this.usersData.first_name);\r\n sessionStorage.setItem('loginuseremail', this.usersData.email);\r\n sessionStorage.setItem('jwtToken', btoa(this.usersData.email));\r\n sessionStorage.setItem('UserToken', this.usersData);\r\n //if (this.usersData.businessunit_id == 1 || this.usersData.businessunit_id == 4) {\r\n sessionStorage.setItem('SalesSupportDistributor', '0');\r\n //}\r\n this._service.sendAdminValue(this.usersData.is_admin);\r\n sessionStorage.setItem('userid', this.usersData.user_id);\r\n sessionStorage.setItem('isDistributor', this.usersData.is_distributor_user);\r\n sessionStorage.setItem('isSalesSupport', this.usersData.is_sales_support);\r\n if (this.usersData.is_distributor_user) {\r\n sessionStorage.setItem('IsAdmin', 'false');\r\n }\r\n else {\r\n sessionStorage.setItem('IsAdmin', this.usersData.is_admin);\r\n }\r\n sessionStorage.setItem('isSalesRep', this.usersData.is_sales_rep);\r\n this._service.sendDistributorValue(this.usersData.is_distributor_user);\r\n let sessionObject = {\r\n isAdmin: this.usersData.is_admin,\r\n isDistributor: this.usersData.is_distributor_user,\r\n loginUser: sessionStorage.getItem('loginuser')\r\n };\r\n this._service.sendSessionObject(sessionObject);\r\n\r\n switch (this.usersData.businessunit_id) {\r\n case 1: sessionStorage.setItem('BU', 'EM'); break;\r\n case 2: sessionStorage.setItem('BU', 'EV'); break;\r\n case 3: sessionStorage.setItem('BU', 'PM'); break;\r\n case 4: sessionStorage.setItem('BU', 'ED'); break;\r\n default: sessionStorage.setItem('BU', 'EM'); break;\r\n }\r\n this._service.sendSalesSupport(this.usersData.is_sales_support);\r\n this._service.sendSalesRep(this.usersData.is_sales_rep);\r\n this._service.sendBusinessUnit(sessionStorage.getItem('BU'));\r\n this._service.sendUserValue(sessionStorage.getItem('userid'));\r\n }\r\n\r\n SAMLService() {\r\n this._service.getSAMLService().subscribe(result => {\r\n if(!result['isError']){ \r\n window.location.href = result.strResponse.toString();\r\n } else {\r\n this._service.displayToastr(result);\r\n }\r\n },\r\n (error) => {\r\n console.log('error ', error);\r\n });\r\n }\r\n\r\n}\r\n","export default \"#supportRequestGrid .ui-table .ui-table-thead>tr>th {\\r\\n background-color: #4f4f4f;\\r\\n color:white;\\r\\n font-size: 14px;\\r\\n font-weight: 600;\\r\\n padding: 3px;\\r\\n text-align: center;\\r\\n border: 1px solid #e1f0ff;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-table .ui-table-thead>tr>th>div {\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-table .ui-table-tbody>tr>td {\\r\\n font-size: 14px;\\r\\n word-break: break-all;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n padding: 0 10px;\\r\\n color: black;\\r\\n font-weight: 500;\\r\\n border: none !important;\\r\\n border-right: 1px solid #4f4f4f !important;\\r\\n text-overflow: ellipsis;\\r\\n vertical-align: top !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .edit-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n right: 0px !important;\\r\\n width: 120px;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .checkbox-column {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n left: 0px !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-paginator {\\r\\n margin-top: 10px !important;\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n float: right !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-paginator .ui-paginator-pages .ui-paginator-page.ui-state-active {\\r\\n background-color: #0096d6 !important;\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-multiselect .ui-multiselect-panel {\\r\\n left: -292px !important;\\r\\n right: 0px !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {\\r\\n color: black !important;\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-chkbox .ui-chkbox-box.ui-state-active {\\r\\n border-color: #0096d6 !important;\\r\\n background-color: #0096d6 !important;\\r\\n color: #ffffff !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-table table {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-table {\\r\\n max-height: 700px !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-table-scrollable-header, .ui-table-scrollable-footer {\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n background-color: white;\\r\\n /* z-index: 9999; */\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-table-scrollable-header-box {\\r\\n margin-right: 60px !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 280px) !important;\\r\\n}\\r\\n\\r\\n#supportRequestGrid .excelIcon {\\r\\n font-size: 1.5em;\\r\\n cursor: pointer;\\r\\n background-color: #0096d6;\\r\\n color: white;\\r\\n border-radius: 5px;\\r\\n padding: 6px;\\r\\n margin-left: 10px;\\r\\n top: -7px;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n@media screen and (min-width: 1000px) {\\r\\n #supportRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 370px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:140px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media screen and (min-width: 1052px) {\\r\\n #supportRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 525px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:110px !important;\\r\\n }\\r\\n }\\r\\n\\r\\n@media screen and (min-width: 1407px) {\\r\\n #supportRequestGrid .ui-table-scrollable-body {\\r\\n max-height: calc(100vh - 460px) !important;\\r\\n }\\r\\n .cf {\\r\\n margin-top:80px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9zdXBwb3J0LXJlcXVlc3QtZ3JpZC9zdXBwb3J0LXJlcXVlc3QtZ3JpZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0kseUJBQXlCO0lBQ3pCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQzNCOztBQUNBO0lBQ0ksZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLHVCQUF1QjtJQUN2QiwwQ0FBMEM7SUFDMUMsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtBQUNsQzs7QUFDQTtJQUNJLHdCQUFnQjtJQUFoQixnQkFBZ0I7SUFDaEIscUJBQXFCO0lBQ3JCLFlBQVk7QUFDaEI7O0FBQ0E7SUFDSSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtBQUN4Qjs7QUFDQTtJQUNJLDJCQUEyQjtJQUMzQixrQ0FBa0M7SUFDbEMsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtBQUMzQjs7QUFDQTtJQUNJLG9DQUFvQztJQUNwQyx1QkFBdUI7QUFDM0I7O0FBQ0E7RUFDRSx1QkFBdUI7RUFDdkIscUJBQXFCO0FBQ3ZCOztBQUNBO0VBQ0UsdUJBQXVCO0VBQ3ZCLGtDQUFrQztBQUNwQzs7QUFDQTtJQUNJLGdDQUFnQztJQUNoQyxvQ0FBb0M7SUFDcEMseUJBQXlCO0FBQzdCOztBQUNBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUNBO0lBQ0ksNEJBQTRCO0FBQ2hDOztBQUNBO0lBQ0ksd0JBQWdCO0lBQWhCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsbUJBQW1CO0FBQ3ZCOztBQUNBO0lBQ0ksNkJBQTZCO0FBQ2pDOztBQUNBO0lBQ0ksMENBQTBDO0FBQzlDOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLFNBQVM7SUFDVCxrQkFBa0I7QUFDdEI7O0FBRUE7RUFDRTtRQUNNLDBDQUEwQztJQUM5QztJQUNBO1FBQ0ksMkJBQTJCO0lBQy9CO0VBQ0Y7O0FBRUE7SUFDRTtRQUNJLDBDQUEwQztJQUM5QztJQUNBO1FBQ0ksMkJBQTJCO0lBQy9CO0VBQ0Y7O0FBQ0E7SUFDRTtRQUNJLDBDQUEwQztJQUM5QztJQUNBO1FBQ0ksMEJBQTBCO0lBQzlCO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3N1cHBvcnQtcmVxdWVzdC1ncmlkL3N1cHBvcnQtcmVxdWVzdC1ncmlkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjc3VwcG9ydFJlcXVlc3RHcmlkIC51aS10YWJsZSAudWktdGFibGUtdGhlYWQ+dHI+dGgge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRmNGY0ZjtcclxuICAgIGNvbG9yOndoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMWYwZmY7XHJcbn1cclxuXHJcbiNzdXBwb3J0UmVxdWVzdEdyaWQgLnVpLXRhYmxlIC51aS10YWJsZS10aGVhZD50cj50aD5kaXYge1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG4jc3VwcG9ydFJlcXVlc3RHcmlkIC51aS10YWJsZSAudWktdGFibGUtdGJvZHk+dHI+dGQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjNGY0ZjRmICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcclxufVxyXG4jc3VwcG9ydFJlcXVlc3RHcmlkIC5lZGl0LWNvbHVtbiB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEyMHB4O1xyXG59XHJcbiNzdXBwb3J0UmVxdWVzdEdyaWQgLmNoZWNrYm94LWNvbHVtbiB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI3N1cHBvcnRSZXF1ZXN0R3JpZCAudWktcGFnaW5hdG9yIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xyXG59XHJcbiNzdXBwb3J0UmVxdWVzdEdyaWQgLnVpLXBhZ2luYXRvciAudWktcGFnaW5hdG9yLXBhZ2VzIC51aS1wYWdpbmF0b3ItcGFnZS51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbn1cclxuI3N1cHBvcnRSZXF1ZXN0R3JpZCAudWktbXVsdGlzZWxlY3QgLnVpLW11bHRpc2VsZWN0LXBhbmVsIHtcclxuICBsZWZ0OiAtMjkycHggIWltcG9ydGFudDtcclxuICByaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI3N1cHBvcnRSZXF1ZXN0R3JpZCAudWktbXVsdGlzZWxlY3QtcGFuZWwgLnVpLW11bHRpc2VsZWN0LWl0ZW1zIC51aS1tdWx0aXNlbGVjdC1pdGVtLnVpLXN0YXRlLWhpZ2hsaWdodCB7XHJcbiAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG4jc3VwcG9ydFJlcXVlc3RHcmlkIC51aS1jaGtib3ggLnVpLWNoa2JveC1ib3gudWktc3RhdGUtYWN0aXZlIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTZkNiAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG4jc3VwcG9ydFJlcXVlc3RHcmlkIC51aS10YWJsZSB0YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcbiNzdXBwb3J0UmVxdWVzdEdyaWQgLnVpLXRhYmxlIHtcclxuICAgIG1heC1oZWlnaHQ6IDcwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuI3N1cHBvcnRSZXF1ZXN0R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1oZWFkZXIsIC51aS10YWJsZS1zY3JvbGxhYmxlLWZvb3RlciB7XHJcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAvKiB6LWluZGV4OiA5OTk5OyAqL1xyXG59XHJcbiNzdXBwb3J0UmVxdWVzdEdyaWQgLnVpLXRhYmxlLXNjcm9sbGFibGUtaGVhZGVyLWJveCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudDtcclxufVxyXG4jc3VwcG9ydFJlcXVlc3RHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI4MHB4KSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jc3VwcG9ydFJlcXVlc3RHcmlkIC5leGNlbEljb24ge1xyXG4gICAgZm9udC1zaXplOiAxLjVlbTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDk2ZDY7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIHRvcDogLTdweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgI3N1cHBvcnRSZXF1ZXN0R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzcwcHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2Yge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MTQwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwNTJweCkge1xyXG4gICAgI3N1cHBvcnRSZXF1ZXN0R3JpZCAudWktdGFibGUtc2Nyb2xsYWJsZS1ib2R5IHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTI1cHgpICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY2Yge1xyXG4gICAgICAgIG1hcmdpbi10b3A6MTEwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQwN3B4KSB7XHJcbiAgICAjc3VwcG9ydFJlcXVlc3RHcmlkIC51aS10YWJsZS1zY3JvbGxhYmxlLWJvZHkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0NjBweCkgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5jZiB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDo4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuIl19 */\"","import { Component, EventEmitter, Input, OnInit, Output, SimpleChanges, ViewChild, ViewEncapsulation } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CupsService } from 'src/services/cups.service';\r\nimport { FilterUtils } from 'primeng/api';\r\nimport * as moment from 'moment';\r\nimport { Table } from 'primeng/table';\r\n@Component({\r\n selector: 'app-support-request-grid',\r\n templateUrl: './support-request-grid.component.html',\r\n styleUrls: ['./support-request-grid.component.css'],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class SupportRequestGridComponent implements OnInit {\r\n @Input() gridCols: any;\r\n @Input() gridData: any;\r\n @Input() checkboxShow: any;\r\n @Input() showEdit: any;\r\n @Input() showDelete: any;\r\n @Input() showView: any;\r\n @Input() showClone: any;\r\n @Input() showFilter: any;\r\n @Input() showActive: any;\r\n @Input() showEmail: any;\r\n @Input() showConEmail: any;\r\n @Input() showReview: any;\r\n @Input() dataKey: any;\r\n @Input() adminAction: any;\r\n @Input() rows: any;\r\n\r\n @Output() filterData = new EventEmitter();\r\n @Output() selectRow = new EventEmitter();\r\n @Output() sendSelectedRows = new EventEmitter();\r\n cupsRequestData: any;\r\n apiResp: any;\r\n defaultWidth: '100%';\r\n userId: any;\r\n userAdmin: boolean = false;\r\n filteredData: any;\r\n filteredFields = [];\r\n tempFilteredData: any;\r\n title = \"Cups Request\";\r\n selectedRows: any;\r\n accountManager: any;\r\n bu: any;\r\n filters = [];\r\n orgGridData: any;\r\n orgCols: any;\r\n isDistributor: boolean = false;\r\n sortColumn: any;\r\n sortOrder: any;\r\n @ViewChild('dtSupportRequest', { static: true }) dtSupportRequest: Table | undefined;\r\n constructor(private _cupsService: CupsService, private router: Router, private spinner: NgxSpinnerService) { console.log(this.gridCols); }\r\n\r\n ngOnInit() {\r\n if (this.rows === undefined || this.rows === null) {\r\n this.rows = 10;\r\n }\r\n this.orgGridData = JSON.parse(JSON.stringify(this.gridData));\r\n this.accountManager = sessionStorage.getItem('loginuseremail');\r\n this.bu = sessionStorage.getItem('BU');\r\n this.isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n FilterUtils['custom'] = (value, filter): boolean => {\r\n if (filter === undefined || filter === null || filter.trim() === '') {\r\n return true;\r\n }\r\n\r\n if (value === undefined || value === null) {\r\n return false;\r\n }\r\n\r\n return parseInt(filter) > value;\r\n }\r\n this.orgCols = this.sortSelectedColumns(this.gridCols);\r\n this._cupsService.getSortColumn().subscribe(column => {\r\n this.sortColumn = column;\r\n })\r\n this._cupsService.getSortOrder().subscribe(order => {\r\n this.sortOrder = order;\r\n })\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.gridCols) {\r\n this.orgCols = this.sortSelectedColumns(changes.gridCols['currentValue']);\r\n }\r\n }\r\n\r\n sortField(column) {\r\n this._cupsService.sendSortColumn(this.dtSupportRequest.sortField);\r\n this._cupsService.sendSortOrder(this.dtSupportRequest.sortOrder);\r\n }\r\n\r\n sortSelectedColumns(columsnData) {\r\n return columsnData.sort((a, b) => {\r\n return a.serial_no - b.serial_no;\r\n })\r\n }\r\n\r\n paginate(table: Table) {\r\n let body = table.containerViewChild.nativeElement.getElementsByClassName(\"ui-table-scrollable-body\")[0];\r\n body.scrollTop = 0;\r\n }\r\n\r\n reOrderColumns(event: any) {\r\n event.columns.forEach((col: any) => {\r\n col.serial_no = event.columns.findIndex(x => x.header_id == col.header_id) + 1;\r\n let colData = event.columns;\r\n let ColObject = { colData, type: 'ColReorder' };\r\n this.selectRow.emit(ColObject)\r\n });\r\n }\r\n\r\n sendFilterData(value, filter) {\r\n let filterObj = {\r\n value, filter\r\n };\r\n this.filterData.emit(filterObj);\r\n }\r\n\r\n onSelectRow(rowData: any, type) {\r\n let rowObject = { rowData, type };\r\n this.selectRow.emit(rowObject);\r\n }\r\n\r\n onDeleteRow(rowData: any, type) {\r\n let rowObject = { rowData, type };\r\n this.selectRow.emit(rowObject);\r\n }\r\n\r\n checkSelectedRow(_event) {\r\n this.sendSelectedRows.emit(this.selectedRows)\r\n }\r\n\r\n checkDateField(fieldName) {\r\n if (fieldName.includes('_date')) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n buildFilter(event, fieldName) {\r\n let filterObj = {\r\n fieldName: fieldName,\r\n value: event.target.value\r\n };\r\n let fFieldName = this.filters.find(f => f.fieldName === fieldName);\r\n if (!fFieldName) {\r\n if (filterObj.value != \"\") {\r\n this.filters.push(filterObj);\r\n }\r\n else {\r\n this.filters = this.filters.filter(f => f.fieldName === fieldName);\r\n }\r\n } else {\r\n if (filterObj.value != \"\") {\r\n this.filters.forEach(f1 => {\r\n if (f1.fieldName === fieldName) {\r\n f1.value = event.target.value;\r\n }\r\n })\r\n } else {\r\n this.filters = this.filters.filter(f => f.fieldName !== fieldName);\r\n }\r\n }\r\n this.sortGridData();\r\n }\r\n\r\n sortGridData() {\r\n let tempOrgGridData = JSON.parse(JSON.stringify(this.orgGridData));\r\n this.filters.forEach(filter => {\r\n tempOrgGridData = tempOrgGridData.filter(f => moment(f[filter.fieldName]).format('L') === moment(filter.value).format('L'));\r\n });\r\n this.gridData = JSON.parse(JSON.stringify(tempOrgGridData));\r\n }\r\n}\r\n","const BaseUrl=\"\";\r\n//const BaseUrl = \"https://localhost:44381/api\";\r\n//const BaseUrl =\"https://distributorconnect-dev.basf.com/api\";\r\n//const BaseUrl = \"https://distributorconnect-qa.basf.com/api\";\r\n\r\nexport const environment = {\r\n production: false,\r\n apiUrl: '',\r\n //Cups Request's API's\r\n getMasterData: `/api/RequestSubmission/BindCupsDropdowndata`,\r\n getGridData: `/api/RequestSubmission/GetRequestSubmissionGrid`,\r\n getallGridData: `/api/RequestSubmission/GetAllRequestSubmissionGrid`,\r\n updateUserGridCols:`/api/RequestSubmission/UpdateUserGridCols`,\r\n getProductDetails: `/api/RequestSubmission/GetProductDetails`,\r\n submitEVEMRequest: `/api/RequestSubmission/CreateRequestSubmission`,\r\n submitPMRequest: `/api/RequestSubmission/CreatePMRequest`,\r\n getRequestDetails: `/api/RequestSubmission/GetRequestDetailsById`,\r\n getApprovalHistory: `/api/RequestSubmission/GetApprovalHistoryDetails`,\r\n getSoldToList: `/api/RequestSubmission/GetSoldToList`,\r\n activateCup: `/api/RequestSubmission/SubmitActivePriceSupport`,\r\n getDelegationApprovers: `/api/RequestSubmission/GetDelegationApprovers`,\r\n createDelegation: `/api/RequestSubmission/CreateDeligationRequest`,\r\n createEmCupDelegation: `/api/RequestSubmission/CreateEmCupDeligation`,\r\n massChange: `/api/RequestSubmission/MassEMPMUpdate`,\r\n updateComments: `/api/RequestSubmission/UpdateInternalComments`,\r\n getProductPricing: `/api/RequestSubmission/GetProductPricing`,\r\n sendEmailReminder: `/api/RequestSubmission/SentRemainderMail`,\r\n getEMPMHistory: `/api/RequestSubmission/GETEMPMHistory`,\r\n updateExpiryDate: `/api/RequestSubmission/UpdateExpiryDate`,\r\n getSalesSupportDistributors: `/api/RequestSubmission/GetSalesSupportDistributors`,\r\n deleteSupport: `/api/RequestSubmission/DeleteSupport`,\r\n \r\n //Distributor's Module\r\n getDistributorDetails: `/api/Distributor/GetDistributorDetails`,\r\n getDistributorUserDetails: `/api/Distributor/GetDistributorUserDetails`,\r\n getDistributorDropDownData: `/api/Distributor/GetDropdownDataforDistributor`,\r\n submitDistributorDetails: `/api/Distributor/InsertOrUpdateDistributor`,\r\n saveDistributorUsertoThreeIamCall: `/api/Distributor/InsertDistributorUserToThreeIam`,\r\n validateSaleSupport: `/api/Distributor/ValidateSaleSupport`,\r\n getDistributorGridData: `/api/Distributor/GetGridDistributorDetails`,\r\n getDistributorUsers: `/api/Distributor/GetAllDistributorUser`,\r\n getDistributors: `/api/Distributor/GetAllDistributors`,\r\n getDistributorsByUser: `/api/Distributor/getDistributorsByUser`,\r\n saveDistributorMapping: `/api/Distributor/saveDistributorMapping`,\r\n\r\n //Admin Users Module\r\n createUser: `/api/Users/CreateUserRequest`,\r\n getUsers: `/api/Users/GetUsers`,\r\n getAllUsers: `/api/Users/GetAllUsers`,\r\n getAdminConfigMaster: `/api/Admin/GetAdminConfigMaster`,\r\n getApprovalConfig: `/api/Admin/getApprovalConfig`,\r\n saveAdminConfig: `/api/Admin/SaveAdminConfig`,\r\n getSalesSupportUsers: `/api/RequestSubmission/GetSalesSupport`,\r\n getBUInternalUsers: `/api/Users/GetAllUserDetailsBasedOnBU`,\r\n getBUUsers: `/api/Users/GetBASFUsersByBU`,\r\n getProductDetailsById: `/api/Admin/getProductDetailsbyId`,\r\n deleteUser: `/api/Users/DeleteUserRequest`,\r\n UploadEndMarketSaleReport: `api/Admin/UploadEndMarketSaleReport`,\r\n getEndMarketSaleReport: `api/Admin/GetEndMarketSaleReport`,\r\n\r\n\r\n postSalesSupUsers: `/api/Admin/SaveSalesSupportPricingAdminData`,\r\n postSalescommercialUsers: `/api/Admin/SaveSalesCommericalMangerMapping`,\r\n getAllSaleSupportPricingAdmin: `/api/Admin/GetAllSalesSupportPricingAdminData`,\r\n getAllSalesCommericalManger: `/api/Admin/GetAllSalesCommericalMangerMappingData`,\r\n\r\n getAllProductsyBu: `/api/Admin/getAllProductsyBu`,\r\n UpdateProductMangerMapping: `/api/Admin/UpdateProductMangerMapping`,\r\n DeleteProductMangerMapping: `/api/Admin/DeleteProductMangerMapping`,\r\n postEVProductDetails: `/api/Admin/UpdateEVProductDetails`,\r\n postChangeProductStatus: `/api/Admin/ChangeProductStatus`,\r\n postChangeProductManager: `api/Admin/ChangeProductManager`,\r\n getUsersByEmailId: `/api/Users/GetUserDetailsByemailId`,\r\n createCustomer: `/api/Admin/CreateCustomer`,\r\n createCompetitor: `/api/Admin/createCompetitor`,\r\n\r\n //Admin - Account Details\r\n getAllAccountDetails:'/api/AccountDetails/GetAccountDetails',\r\n deleteAccountDetails:'/api/AccountDetails/DeleteAccountDetails',\r\n updateAccountDetails:'/api/AccountDetails/UpdateAccountDetails',\r\n insertAccountDetails:'/api/AccountDetails/InsertAccountDetails',\r\n getAccountData:'/api/AccountDetails/GetAllAccountsData',\r\n \r\n //Rebate API's\r\n createRebate: `/api/Rebate/CreateRebateTemplate`,\r\n getRebateFormData: `/api/Rebate/GetRebateTemplatFormData`,\r\n downloadRebatesEMEV: `/api/Rebate/DownloadRebatesEMEV`,\r\n \r\n getRebateDetails: `/api/Rebate/GetRebateTemplateDetails`,\r\n getRebatedGridData: `/api/Rebate/GetRebateTemplateGridData`,\r\n uploadRebateTemplate: `/api/Rebate/UploadRebateTemplate`,\r\n downloadRebates: `/api/Rebate/DownloadRebates`,\r\n uploadRebateExport: `/api/Rebate/UploadRebateExport`,\r\n\r\n //WorkFlow Status\r\n updateWorkFlow: `/api/WorkFlow/UpdateWorkFlowStatus`,\r\n updateRCWrokFlow: `/api/WorkFlow/UpdateRejectWithCounterOffer`,\r\n getWorkFlowDetails: `/api/WorkFlow/GetWorkFlowDetails`,\r\n getCounterOfferInfo: `/api/WorkFlow/GetRejectWithCounterOfferDetails`,\r\n updateDistributorResponse: `/api/WorkFlow/UpdateDistributorResponse`,\r\n resendSupportConfirmationEmail: `/api/WorkFlow/ResendSupportConfirmationEmail`,\r\n\r\n //Saml API's\r\n getSamlURL: `/api/GetSamlURL`,\r\n getsamlResponse: `/api/Getsaml`,\r\n\r\n //Upload excel\r\n uploadExcelTemplate: `/api/Upload/UploadExcelTemplate`,\r\n MassChangeUploadExcel: `/api/Upload/MassChangeUploadExcel`\r\n};\r\n\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthguardServiceService {\r\n gettoken() {\r\n return !!sessionStorage.getItem('UserToken');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { map } from 'rxjs/operators';\r\nimport { environment } from '../environments/environment';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CupsService {\r\n\r\n businessUnit = new BehaviorSubject(sessionStorage.getItem('BU'));\r\n isAdmin = new BehaviorSubject(sessionStorage.getItem('IsAdmin'));\r\n isDistributor = new BehaviorSubject(sessionStorage.getItem('isDistributor'));\r\n isSalesSupport = new BehaviorSubject(sessionStorage.getItem('isSalesSupport'));\r\n isSalesrep = new BehaviorSubject(sessionStorage.getItem('isSalesRep'));\r\n userId = new BehaviorSubject(sessionStorage.getItem('userid'));\r\n sessionObject = new BehaviorSubject({});\r\n sortColumn = new BehaviorSubject('request_id');\r\n sortOrder = new BehaviorSubject(-1);\r\n\r\n constructor(private _http: HttpClient, private toastr: ToastrService) { }\r\n\r\n sendSortColumn(column: string) {\r\n this.sortColumn.next(column);\r\n }\r\n\r\n getSortColumn(): Observable {\r\n return this.sortColumn.asObservable();\r\n }\r\n\r\n sendSortOrder(order: number) {\r\n this.sortOrder.next(order);\r\n }\r\n\r\n getSortOrder(): Observable {\r\n return this.sortOrder.asObservable();\r\n }\r\n\r\n getSalesSupport(): Observable {\r\n return this.isSalesSupport.asObservable();\r\n }\r\n\r\n getUserValue(): Observable {\r\n return this.userId.asObservable();\r\n }\r\n\r\n sendUserValue(value) {\r\n this.userId.next(value);\r\n }\r\n\r\n sendSalesSupport(value) {\r\n this.isSalesSupport.next(value);\r\n }\r\n\r\n getSalesRep(): Observable {\r\n return this.isSalesrep.asObservable();\r\n }\r\n\r\n sendSalesRep(value) {\r\n this.isSalesrep.next(value);\r\n }\r\n\r\n sendBusinessUnit(bu: string) {\r\n this.businessUnit.next(bu);\r\n }\r\n\r\n getBusinessUnit(): Observable {\r\n return this.businessUnit.asObservable();\r\n }\r\n\r\n sendAdminValue(value) {\r\n this.isAdmin.next(value);\r\n }\r\n\r\n getAdminValue(): Observable {\r\n return this.isAdmin.asObservable();\r\n }\r\n\r\n sendDistributorValue(value) {\r\n this.isDistributor.next(value);\r\n }\r\n\r\n getSessionObject() {\r\n return this.sessionObject.asObservable();\r\n }\r\n\r\n sendSessionObject(value) {\r\n this.sessionObject.next(value);\r\n }\r\n\r\n getDistributorValue(): Observable {\r\n return this.isDistributor.asObservable();\r\n }\r\n\r\n sendEmailReminder(requestId, businessUnitId, requestRef: string, expiryDate: string, requestStatus) {\r\n return this._http.get(`${environment.sendEmailReminder}/${requestId}/${businessUnitId}/${requestRef}/${expiryDate}/${requestStatus}`).pipe(map((response) => response));\r\n }\r\n\r\n resendSupportConfirmationEmail(requestId, businessUnitId, requestRef, requestStatus) {\r\n return this._http.get(`${environment.resendSupportConfirmationEmail}/${requestId}/${businessUnitId}/${requestRef}/${requestStatus}`).pipe(map((response) => response));\r\n }\r\n\r\n deleteSupport(requestId, businessUnitId) {\r\n return this._http.get(`${environment.deleteSupport}/${requestId}/${businessUnitId}`).pipe(map((response) => response));\r\n }\r\n\r\n //CUPS Request Services\r\n getMasterData(distribuorSoldToId: any, soldToId: any, formName: any, distributorId: any, isInternalUser: any) {\r\n let isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n return this._http.get(`${environment.getMasterData}/${distribuorSoldToId}/${soldToId}/${formName}/${distributorId}/${!isDistributor}`).pipe(map((response) => response));\r\n }\r\n\r\n getGridData(requestStatus, formName, userId, isDistributor, SalesSupportDistributor) {\r\n return this._http.get(`${environment.getGridData}/${requestStatus}/${formName}/${userId}/${isDistributor}/${SalesSupportDistributor}`).pipe(map((response) => response));\r\n }\r\n\r\n getAllGridData(formName, userId, isDistributor) {\r\n let salesSupportDistributor = parseInt(sessionStorage.getItem('SalesSupportDistributor'), 0);\r\n return this._http.get(`${environment.getGridData}/0/${formName}/${userId}/${isDistributor}/${salesSupportDistributor}`).pipe(map((response) => response));\r\n }\r\n\r\n updateUserGridCols(payload: any, userId: any, isdistributor: any) {\r\n return this._http.post(`${environment.updateUserGridCols}/${userId}/${isdistributor}`, payload).pipe(map((response) => response));\r\n }\r\n getProductDetails(productId) {\r\n return this._http.get(`${environment.getProductDetails}/${productId}`).pipe(map((response) => response));\r\n }\r\n\r\n submitRequest(requestData) {\r\n return this._http.post(`${environment.submitEVEMRequest}`, requestData).pipe(map((response) => response));\r\n }\r\n\r\n submitPMRequest(requestData) {\r\n return this._http.post(`${environment.submitPMRequest}`, requestData).pipe(map((response) => response));\r\n }\r\n\r\n getApprovalHistory(distrbuitorId, formName) {\r\n return this._http.get(`${environment.getApprovalHistory}/${distrbuitorId}/${formName}`).pipe(map((response) => response));\r\n }\r\n\r\n getCUPRequestDetails(requestId: any, businessUnitID: any) {\r\n let salesSupportDistributor = parseInt(sessionStorage.getItem('SalesSupportDistributor'), 0);\r\n return this._http.get(`${environment.getRequestDetails}/${requestId}/${businessUnitID}/${sessionStorage.getItem('isDistributor')}/${salesSupportDistributor}`).pipe(map((response) => response));\r\n }\r\n\r\n getSalesSupportDistributors(userId: any, isSalesSupport: any, isSalesRep: any, businessUnit: any) {\r\n return this._http.get(`${environment.getSalesSupportDistributors}/${userId}/${isSalesSupport}/${isSalesRep}/${businessUnit}`).pipe(map((response) => response));\r\n }\r\n\r\n getSoldTo(userId: any, businessUnit: any, isInternalUser: any) {\r\n let isDistributor = (sessionStorage.getItem('isDistributor') === \"1\" || sessionStorage.getItem('isDistributor') === \"true\") ? true : false;\r\n let salesSupportDistributor = parseInt(sessionStorage.getItem('SalesSupportDistributor'), 0);\r\n return this._http.get(`${environment.getSoldToList}/${userId}/${businessUnit}/${!isDistributor}/${salesSupportDistributor}`).pipe(map((response) => response));\r\n }\r\n\r\n submitActivateCup(requestData) {\r\n return this._http.post(`${environment.activateCup}`, requestData).pipe(map((response) => response));\r\n }\r\n\r\n getApprovers(businessUnit: any) {\r\n return this._http.get(`${environment.getDelegationApprovers}/?businessUnit=${businessUnit}`).pipe(map((response) => response));\r\n }\r\n\r\n submitDelegationRequest(requestData) {\r\n return this._http.post(`${environment.createDelegation}`, requestData).pipe(map((response) => response));\r\n }\r\n\r\n submitEMCupDelegationRequest(requestData) {\r\n return this._http.post(`${environment.createEmCupDelegation}`, requestData).pipe(map((response) => response));\r\n }\r\n\r\n submitMassChange(requestData, businessUnit: any) {\r\n return this._http.post(`${environment.massChange}?BU=${businessUnit}`, requestData).pipe(map((response) => response));\r\n }\r\n\r\n updateExpriyDate(request_reference_number, expiryDate, userId, businessUnit) {\r\n return this._http.get(`${environment.updateExpiryDate}/${request_reference_number}/${expiryDate}/${userId}/${businessUnit}`).pipe(map((response) => response));\r\n }\r\n\r\n //Distributor's Services\r\n getDistributorDetails(distributorId: any) {\r\n return this._http.get(`${environment.getDistributorDetails}/${distributorId}`).pipe(map((response) => response));\r\n }\r\n\r\n getDistributorUserDetails(distributorId: any) {\r\n return this._http.get(`${environment.getDistributorUserDetails}/${distributorId}`).pipe(map((response) => response))\r\n }\r\n\r\n getDistributorUsers() {\r\n return this._http.get(`${environment.getDistributorUsers}`).pipe(map((response) => response))\r\n }\r\n\r\n getDistributorsByUser(distributor_user_id: any) {\r\n return this._http.get(`${environment.getDistributorsByUser}/${distributor_user_id}`).pipe(map((response) => response))\r\n }\r\n\r\n saveDistributorMapping(distributorUserMapping: any) {\r\n return this._http.post(`${environment.saveDistributorMapping}`, distributorUserMapping).pipe(map((response) => response))\r\n }\r\n\r\n getDistributors() {\r\n return this._http.get(`${environment.getDistributors}`).pipe(map((response) => response))\r\n }\r\n\r\n getDistributorDropdownData(businessUnitId: any) {\r\n return this._http.get(`${environment.getDistributorDropDownData}/${businessUnitId}`).pipe(map((response) => response));\r\n }\r\n\r\n submitDistributorData(requestData: any) {\r\n return this._http.post(`${environment.submitDistributorDetails}`, requestData).pipe(map((response) => response))\r\n }\r\n\r\n saveDistributorUsertoThreeIamCall(requestData: any) {\r\n return this._http.post(`${environment.saveDistributorUsertoThreeIamCall}`, requestData).pipe(map((response) => response))\r\n }\r\n getDistributorsGridData(businessUnit: any, userId: any, isdistributor: any) {\r\n return this._http.get(`${environment.getDistributorGridData}/${businessUnit}/${userId}/${isdistributor}`).pipe(map((response) => response));\r\n }\r\n\r\n createCustomer(customerData: any) {\r\n return this._http.post(`${environment.createCustomer}`, customerData).pipe(map((response) => response));\r\n }\r\n\r\n createCompetitor(competitorData: any) {\r\n return this._http.post(`${environment.createCompetitor}`, competitorData).pipe(map((response) => response));\r\n }\r\n\r\n //User's Services\r\n submitUser(requestData: any) {\r\n return this._http.post(`${environment.createUser}`, requestData).pipe(map((response) => response))\r\n }\r\n\r\n getUsers() {\r\n return this._http.get(`${environment.getUsers}`).pipe(map((response) => response));\r\n }\r\n\r\n getAllUsers() {\r\n return this._http.get(`${environment.getAllUsers}`).pipe(map((response) => response));\r\n }\r\n getSAMLService(): Observable {\r\n return this._http.get(`${environment.getSamlURL}`).pipe(map((response) => response));\r\n }\r\n\r\n getSalesSupportUsers(businessUnit: any) {\r\n return this._http.get(`${environment.getSalesSupportUsers}/${businessUnit}`).pipe(map((response) => response));\r\n }\r\n\r\n getBUUsers(businessUnit: any) {\r\n return this._http.get(`${environment.getBUUsers}/${businessUnit}`).pipe(map((response) => response));\r\n }\r\n\r\n getBUInternalUsers(businessUnit: any) {\r\n return this._http.get(`${environment.getBUInternalUsers}/${businessUnit}`).pipe(map((response) => response));\r\n }\r\n\r\n getUserDetailsById(emailId: any) {\r\n return this._http.get(`${environment.getUsersByEmailId}/${emailId}`).pipe(map((response) => response));\r\n }\r\n\r\n getProductDetailsById(productId: any, effectiveDate: any) {\r\n return this._http.get(`${environment.getProductDetailsById}/${productId}/${effectiveDate}`).pipe(map((response) => response));\r\n }\r\n\r\n deleteUser(requestData: any) {\r\n return this._http.post(`${environment.deleteUser}`, requestData).pipe(map((response) => response))\r\n }\r\n\r\n // Approval Configuration Service\r\n getAdminConfigMaster() {\r\n return this._http.get(`${environment.getAdminConfigMaster}`).pipe(map((response) => response));\r\n }\r\n saveAdminConfig(adminConfigData) {\r\n return this._http.post(`${environment.saveAdminConfig}`, adminConfigData).pipe(map((response) => response))\r\n }\r\n getApprovalConfig(RegionId, CountryId, BusinessUnitId, SBUId, TypeId) {\r\n return this._http.get(`${environment.getApprovalConfig}/${RegionId}/${CountryId}/${BusinessUnitId}/${SBUId}/${TypeId}`).pipe(map((response) => response));\r\n }\r\n\r\n //Rebates Services \r\n getRebateFormData(requestId: any, businessUnitID: any) {\r\n return this._http.get(`${environment.getRebateFormData}/${requestId}/${businessUnitID}`).pipe(map((response) => response));\r\n }\r\n\r\n getRebateDetails(rebateRequestId: any, businessUnitID: any) {\r\n return this._http.get(`${environment.getRebateDetails}/${rebateRequestId}/${businessUnitID}`).pipe(map((response) => response));\r\n }\r\n\r\n createRebate(requestData: any) {\r\n return this._http.post(`${environment.createRebate}`, requestData).pipe(map((response) => response))\r\n }\r\n\r\n getRebateGridData(businessUnitID: any, rebateStatus: any, salesSupportDistributor: number) {\r\n return this._http.get(`${environment.getRebatedGridData}/${businessUnitID}/${sessionStorage.getItem('userid')}/${sessionStorage.getItem('isDistributor')}/${rebateStatus}/${salesSupportDistributor}`).pipe(map((response) => response));\r\n }\r\n\r\n uploadRebateTemplate(templateObject: any) {\r\n return this._http.post(`${environment.uploadRebateTemplate}`, templateObject).pipe(map((response) => response));\r\n }\r\n\r\n uploadRebateExport(templateObject: any) {\r\n return this._http.post(`${environment.uploadRebateExport}`, templateObject).pipe(map((response) => response));\r\n }\r\n\r\n downloadRebates(businessUnitId: any, distributorUserId: any) {\r\n return this._http.get(`${environment.downloadRebates}/${businessUnitId}/${distributorUserId}`, { responseType: 'blob' }).pipe(map((response) => response));\r\n }\r\n\r\n downloadRebatesEMEV(businessUnitID: any, userId: any, selectedRebates: any) {\r\n return this._http.get(`${environment.downloadRebatesEMEV}/${businessUnitID}/${userId}/${selectedRebates}`).pipe(map((response) => response));\r\n }\r\n\r\n //workFlow Services\r\n updateWorkFLowStatus(reqData: any) {\r\n return this._http.post(`${environment.updateWorkFlow}`, reqData).pipe(map((response) => response));\r\n }\r\n\r\n updateWorkFLowRCStatus(reqData: any) {\r\n return this._http.post(`${environment.updateRCWrokFlow}`, reqData).pipe(map((response) => response));\r\n }\r\n\r\n getWorkFlowUpdateDetails(userId: any, reqId: any, businessUnit: any, isDistributorUser: any) {\r\n return this._http.get(`${environment.getWorkFlowDetails}/${userId}/${reqId}/${businessUnit}/${isDistributorUser}`).pipe(map((response) => response));\r\n }\r\n\r\n getRejectWithCounterOfferDetails(cupRequestId: any, businessUnit: any, userId: any, isDistributorUser: any) {\r\n return this._http.get(`${environment.getCounterOfferInfo}/${cupRequestId}/${businessUnit}/${userId}/${isDistributorUser}`).pipe(map((response) => response));\r\n }\r\n\r\n updateDistributorResponse(reqData: any) {\r\n return this._http.post(`${environment.updateDistributorResponse}`, reqData).pipe(map((response) => response));\r\n }\r\n\r\n //Upload\r\n UploadExcelTemplate(templateObject: any) {\r\n return this._http.post(`${environment.uploadExcelTemplate}`, templateObject).pipe(map((response) => response));\r\n }\r\n\r\n UploadEMMassChangeExcelTemplate(templateObject: any) {\r\n return this._http.post(`${environment.MassChangeUploadExcel}`, templateObject).pipe(map((response) => response));\r\n }\r\n\r\n UploadEndMarketSaleReport(templateObject: any) {\r\n return this._http.post(`${environment.UploadEndMarketSaleReport}`, templateObject).pipe(map((response) => response));\r\n }\r\n\r\n getEndMarketSaleReport() {\r\n return this._http.get(`${environment.getEndMarketSaleReport}`).pipe(map((response) => response));\r\n }\r\n\r\n //admin \r\n postSalesSupportUsers(data: any) {\r\n return this._http.post(`${environment.postSalesSupUsers}`, data).pipe(map((response) => response));\r\n }\r\n postSalescommercialUsers(data: any) {\r\n return this._http.post(`${environment.postSalescommercialUsers}`, data).pipe(map((response) => response));\r\n }\r\n\r\n getAllSaleSupportPricingAdmin(businessunit_id: any) {\r\n return this._http.get(`${environment.getAllSaleSupportPricingAdmin}?businessUnit=${businessunit_id}`).pipe(map((response) => response));\r\n }\r\n\r\n getAllSalesCommericalManger(businessunit_id: any) {\r\n return this._http.get(`${environment.getAllSalesCommericalManger}?businessUnit=${businessunit_id}`).pipe(map((response) => response));\r\n }\r\n\r\n getAllProductsyBu(id: any, countryId: any) {\r\n return this._http.get(`${environment.getAllProductsyBu}/${id}/${countryId}`).pipe(map((response) => response));\r\n }\r\n\r\n UpdateProductMangerMapping(data: any) {\r\n return this._http.post(`${environment.UpdateProductMangerMapping}`, data).pipe(map((response) => response));\r\n }\r\n\r\n DeleteProductMangerMapping(productid, modifiedBy) {\r\n return this._http.post(`${environment.DeleteProductMangerMapping}/${productid}/${modifiedBy}`, {}).pipe(map((response) => response));\r\n }\r\n\r\n updateEVProductDetails(data: any) {\r\n return this._http.post(`${environment.postEVProductDetails}`, data).pipe(map((response) => response));\r\n }\r\n\r\n ChangeProductStatus(productId, modifiedBy) {\r\n return this._http.post(`${environment.postChangeProductStatus}/${productId}/${modifiedBy}`, {}).pipe(map((response) => response));\r\n }\r\n\r\n ChangeProductManager(FromProductManagerID, ToProductManagerID) {\r\n const reqObj = {\r\n FromProductManagerID: FromProductManagerID,\r\n ToProductManagerID: ToProductManagerID\r\n }\r\n return this._http.post(environment.postChangeProductManager, reqObj).pipe(map((response) => response));\r\n }\r\n\r\n displayToastr(response) {\r\n if (response['authorized'] && !response.isError && response['responseMessage'] != '') {\r\n this.toastr.success(response['responseMessage'], 'Success!');\r\n }\r\n if (response.isError && response['errorMessage'] != '') {\r\n this.toastr.error(response['errorMessage'], 'Error!')\r\n }\r\n }\r\n\r\n updateComments(reqData: any) {\r\n return this._http.post(`${environment.updateComments}`, reqData).pipe(map((response) => response));\r\n }\r\n\r\n getProductPricingRecord(buid: any, articlNumber: any, soldTo: any, shipTo: any, freightTerms: any, effectiveDate: any, salesOrg: string, supportType: number) {\r\n return this._http.get(`${environment.getProductPricing}/${buid}/${articlNumber}/${soldTo}/${shipTo}/${freightTerms}/${effectiveDate}/${salesOrg}/${supportType}`).pipe(map((response) => response));\r\n }\r\n\r\n getEMPPMHistory(cupReqId, businessUnitId, isDistributor) {\r\n const userId = sessionStorage.getItem('userid');\r\n let salesSupportDistributor = parseInt(sessionStorage.getItem('SalesSupportDistributor'), 0);\r\n return this._http.get(`${environment.getEMPMHistory}?reqId=${cupReqId}&BU=${businessUnitId}&is_distributor=${isDistributor}&userId=${userId}&salesSupportDistributor=${salesSupportDistributor}`).pipe(map((response) => response));\r\n }\r\n\r\n getAccountData() {\r\n return this._http.get(`${environment.getAccountData}`).pipe(map(res => res));\r\n }\r\n getAccountDetails() {\r\n return this._http.get(`${environment.getAllAccountDetails}`).pipe(map(res => res));\r\n }\r\n insertAccountDetails(obj: any) {\r\n return this._http.post(`${environment.insertAccountDetails}`, obj).pipe(map(res => res));\r\n\r\n }\r\n deleteAcccountDetails(obj: any) {\r\n return this._http.post(`${environment.deleteAccountDetails}`, obj).pipe(map(res => res));\r\n }\r\n updateAccountDetails(obj: any) {\r\n return this._http.post(`${environment.updateAccountDetails}`, obj).pipe(map(res => res));\r\n }\r\n\r\n validateSaleSupport(saleSupportId: number, distributorId:number,sbuId:string, cuprequestid: string) {\r\n return this._http.get(`${environment.validateSaleSupport}/${saleSupportId}/${distributorId}/${sbuId}/${cuprequestid}`).pipe(map((response) => response));\r\n }\r\n}\r\n","import { Directive, Output, EventEmitter, HostBinding, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appDragDrop]'\r\n})\r\nexport class DragDropDirective {\r\n @Output() onFileDropped = new EventEmitter();\r\n\r\n @HostBinding('style.background-color') private background = '#f5fcff'\r\n @HostBinding('style.opacity') private opacity = '1'\r\n\r\n\r\n //Dragover listener\r\n @HostListener('dragover', ['$event']) onDragOver(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#9ecbec';\r\n this.opacity = '0.8'\r\n }\r\n //Dragleave listener\r\n @HostListener('dragleave', ['$event']) public onDragLeave(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#f5fcff'\r\n this.opacity = '1'\r\n }\r\n //Drop listener\r\n @HostListener('drop', ['$event']) public ondrop(evt) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n this.background = '#f5fcff'\r\n this.opacity = '1'\r\n let files = evt.dataTransfer.files;\r\n if (files.length > 0) {\r\n this.onFileDropped.emit(files)\r\n }\r\n\r\n }\r\n\r\n}","import { Directive, ElementRef} from \"@angular/core\";\r\n\r\n@Directive({\r\n selector: '[lineSeparator]'\r\n})\r\nexport class LineSeparatorDirective {\r\n\r\n constructor(private eleRef: ElementRef) {\r\n eleRef.nativeElement.style.background = 'red';\r\n }\r\n\r\n \r\n}","import { Directive, HostListener,Input } from \"@angular/core\";\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[numbersOnly]'\r\n})\r\nexport class NumbersOnlyDirective {\r\n @Input('field') field;\r\n\r\n constructor(private ngControl: NgControl) { }\r\n\r\n @HostListener('input', ['$event']) onInput(event): void {\r\n if (this.field === 'float') {\r\n const value = event.target.value;\r\n if (value != '') {\r\n this.ngControl.control.setValue(parseFloat(value).toFixed(2));\r\n event.target.value = (value.match(/\\d+\\.?\\d{0,2}/g) || [null])[0];\r\n } else {\r\n this.ngControl.control.setValue(value);\r\n event.target.value = (value.match(/\\d+\\.?\\d{0,2}/g) || [null])[0];\r\n }\r\n }\r\n if (this.field === 'integers') {\r\n const value = event.target.value;\r\n this.ngControl.control.setValue(parseInt(value) || '');\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'customCurrency',\r\n})\r\nexport class CustomCurrencyPipe implements PipeTransform {\r\n transform(value: any, args?: any): any {\r\n if (value !== undefined && value !== null && value !== '') {\r\n let x = `$${value}`;\r\n return x;\r\n } else {\r\n return '0';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'removeComma',\r\n})\r\nexport class RemoveCommaPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (value !== undefined && value !== null) {\r\n return value.replace(/,/g, '');\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}