{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/aoi/aoi.component.ts","./src/app/components/aoi/aoi.component.html","./src/app/components/header/header.component.ts","./src/app/components/header/header.component.html","./src/app/components/tools/tools.component.ts","./src/app/components/tools/tools.component.html","./src/app/services/basemaps.ts","./src/app/services/http2.service.ts","./src/app/services/legend-options.service.ts","./src/app/services/loading.service.ts","./src/app/services/utils.service.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;;;;;;;;;;;;;;;ACZmG;AAKzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ICkGtC,wEAAmE;IAAA,4EACD;IAA/B,wWAA8B;IADE,4DACD;IAAA,8DAAG;IAAA,4DAAQ;;;IAArE,0DAAc;IAAd,2EAAc;;;;IAV9B,0EACI;IAAA,uEAAM;IAAA,uDAAc;IAAA,4DAAO;IAC3B,0EACI;IAAA,wEACI;IAAA,4EAAkF;IAA/B,qSAA8B;IAAjF,4DAAkF;IAAA,oEAEtF;IAAA,4DAAQ;IACR,wEAAO;IAAA,4EACgC;IAA/B,qSAA8B;IAD/B,4DACgC;IAAA,iEAAM;IAAA,4DAAQ;IACrD,sHAAmE;IAEvE,4DAAM;IACV,4DAAM;;;IAXI,0DAAc;IAAd,+EAAc;IAGQ,0DAAc;IAAd,2EAAc;IAGX,0DAAc;IAAd,2EAAc;IAElC,0DAA2D;IAA3D,uMAA2D;;;;IA4C9E,6EACiE;IAA7D,4VAAmD;IAAC,4DAAS;;;;;;ADtIlE,MAAM,YAAY;IAuBrB,YACY,oBAA0C,EAC1C,cAA8B,EACrB,YAA0B,EACnC,QAAkB,EAClB,iBAAoC;QAJpC,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,mBAAc,GAAd,cAAc,CAAgB;QACrB,iBAAY,GAAZ,YAAY,CAAc;QACnC,aAAQ,GAAR,QAAQ,CAAU;QAClB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAOhD,uBAAkB,GAAY,KAAK,CAAC;QACpC,uBAAkB,GAAY,KAAK,CAAC;QACpC,UAAK,GAAG,qEAAW,CAAC,aAAa,CAAC;QAClC,sBAAiB,GAAa,EAAE,CAAC;QAEjC,iBAAY,GAAY,KAAK,CAAC;QAC9B,gBAAW,GAAY,KAAK,CAAC;QAC7B,qBAAgB,GAAY,KAAK,CAAC;QAClC,kBAAa,GAAY,IAAI,CAAC;QAG9B,YAAO,GAAY,IAAI,CAAC;QAhBpB,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAc,EAAE,EAAE;YAClD,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5B,CAAC,CAAC,CAAC;IACN,CAAC;IAeF,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;IACpC,CAAC;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC;IACjG,CAAC;IAED,IAAI,iCAAiC;QACjC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC;YACzD,IAAI,QAAQ,GAAG,qEAAW,CAAC,QAAQ,CAAC;YACpC,OAAO,YAAY,GAAG,QAAQ,CAAC;SAClC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,CAAC;IACvG,CAAC;IAEK,eAAe;;YACjB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YACtC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAClC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC;KAAA;IAEK,UAAU;;YACZ,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YACtC,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QACxF,CAAC;KAAA;IAEK,eAAe;;YACjB,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC;YACzC,KAAK,IAAI,YAAY,IAAI,qEAAW,CAAC,aAAa,EAAE;gBAChD,IAAI,YAAY,CAAC,KAAK,KAAK,KAAK,EAAE;oBAC9B,YAAY,CAAC,MAAM,GAAG,GAAS,EAAE,CAAC,0GAAM,IAAI,CAAC,MAAM,EAAE,KAAC;iBACzD;gBACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;aACrE;QACL,CAAC;KAAA;IAEK,MAAM;;YACR,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACvE,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3F,OAAO,SAAS,CAAC;aACpB;QACL,CAAC;KAAA;IAEK,oBAAoB;;YACtB,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC;YAClD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC/G,CAAC;KAAA;IAED,UAAU;QACN,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC3D,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAEpD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAChF,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC,CAAC;QAEJ,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC5E,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;QACjF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;IAEK,WAAW,CAAC,KAAK;;YACnB,IAAI;gBACA,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;oBACxC,OAAO;iBACV;gBAED,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;oBACnC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBAC9C,MAAM,aAAa,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACtE,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;wBAClF,IAAI,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBACpD,IAAI,KAAK,KAAK,CAAC,CAAC;4BAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;wBAC1D,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,8BAA8B;qBACzF;iBACJ;gBAED,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;oBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;oBAC9C,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,8BAA8B;oBACtF,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,CAAC;oBAC/D,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;iBACxD;aACJ;YAAC,OAAO,KAAK,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aACxB;QACL,CAAC;KAAA;IAED,eAAe;QACX,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;YACtE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;gBACd,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;oBAC1B,IAAI,CAAC,iCAAiC,EAAE,CAAC;iBAC5C;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;SAC/B;IACL,CAAC;IAED,qBAAqB;QACjB,IAAI,CAAC,iCAAiC,EAAE,CAAC;IAC7C,CAAC;IAED,iCAAiC;QAC7B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,qEAAW,CAAC,wBAAwB,CAAC;IAChE,CAAC;IAED,6BAA6B;QACzB,MAAM,cAAc,GAAG,EAAE,CAAC;QAC1B,KAAK,MAAM,KAAK,IAAI,qEAAW,CAAC,oBAAoB,EAAE;YAClD,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,GAAG,cAAc,CAAC;IACjE,CAAC;IAED,mBAAmB;QACf,MAAM,CAAC,gBAAgB,CAAC,0BAA0B,EAAE,CAAO,KAAK,EAAE,EAAE,CAAC;YACjE,IAAI,KAAK,EAAE;gBACP,IAAI,CAAC,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CAAE,KAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAM,CAAC,EAAC,EAAE,CAAC;oBACzE,IAAI;wBACA,IAAI,cAAc,CAAC;wBACnB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;wBACxE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;4BACtB,CAAC,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BAChG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;yBACvC;wBAED,MAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;wBACrD,uCAAY,CAAC,GAAK,EAAE,UAAU,EAAE,EAAG;qBACtC;oBAAC,OAAO,KAAK,EAAE;wBACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;qBACxB;gBACL,CAAC,EAAC,CAAC,CAAC;aACP;YACD,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACnD,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAC/D,CAAC,EAAC,CAAC;QACH,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1E,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YACtD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6BAA6B;QACzB,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,mBAAmB,CAAC,KAAK;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACnF,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;IAC/E,CAAC;IAED,cAAc,CAAC,KAAkB;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAC9E,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS;aAC/B,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;aAC5B,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;aACjD,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE1B,QAAQ,WAAW,EAAE;YACjB,KAAK,aAAa;gBACd,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC9D,MAAM;YACV,KAAK,qBAAqB;gBACtB,cAAc,CAAC,OAAO,GAAG,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACzD,MAAM,iBAAiB,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBAC5G,cAAc,CAAC,aAAa,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAC;gBACxE,MAAM;YACV,KAAK,eAAe;gBAChB,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,8BAA8B;gBACtF,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,OAAO,GAAG,OAAO,CAAC;gBAC1D,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBACrD,MAAM;YACV,KAAK,mBAAmB;gBACpB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,qBAAQ,SAAS,CAAC,YAAY,CAAE,CAAC;gBAE1E,IAAI,SAAS,CAAC,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,QAAQ,KAAK,qEAAW,CAAC,gBAAgB,EAAE;oBAC5F,IAAI,CAAC,6BAA6B,EAAE,CAAC;iBACxC;gBACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;gBAC3C,MAAM;YACV,KAAK,eAAe;gBAChB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChD,MAAM;YACV,KAAK,aAAa;gBACd,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC/C,MAAM;YACV,KAAK,SAAS;gBACV,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC1F,MAAM;YACV;gBACI,MAAM;SACb;QACD,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,KAAK,CAAC,MAAqB,EAAE,KAAY,EAAE,IAAI,CAAC,CAAC;IAC9F,CAAC;IAED,eAAe,CAAC,KAA4D;QACxE,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,YAAY;QACR,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED,cAAc;QACV,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE;YAC7C,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACjE,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,aAAa;QACT,MAAM,kBAAkB,GAAG,kBAAkB,CAAC;QAC9C,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAChD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE;gBAC1C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBAC5C,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;aAC1C;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;YACrE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QAChE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAED,YAAY;QACR,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED,uBAAuB;QACnB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAC7C,KAAK,CAAC,QAAQ,GAAG,qEAAW,CAAC,QAAQ,CAAC;SACzC;IACL,CAAC;IAED,aAAa;QACT,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAC7C,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,KAAK,qEAAW,CAAC,gBAAgB,CAAC;YACxG,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE;gBACnF,IAAI,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,YAAY,EAAE;oBAC5D,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,IAAI,CAAC;iBACpD;aACJ;SACJ;IACL,CAAC;IAED,aAAa;QACT,oGAAoG;QACpG,yGAAyG;QACzG,MAAM,WAAW,GAAG,CAAC,aAAa,EAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;YAC7C,IAAI,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;gBAClD,KAAK,CAAC,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aACxG;SACJ;IACL,CAAC;IAED,uBAAuB;QACnB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE;YACzE,IAAI,IAAI,CAAC,iCAAiC,EAAE;gBACxC,IAAI,CAAC,0BAA0B,EAAE,CAAC;aACrC;iBAAM;gBACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;aACnC;SACJ;IACL,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE;YACjD,MAAM,GAAG,GAAG,mBAAmB,CAAC;YAChC,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAChC;iBAAM;gBACH,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACnC;YACD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,cAAc,CAAC,MAAM;QACjB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,MAAM;QACpB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;QACvC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,0CAA0C;IACrE,CAAC;IAED,0BAA0B;QACtB,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iCAAiC,EAAE;gBAC9D,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;aAC9B;QACL,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,qEAAqE;IAClF,CAAC;IAED,wBAAwB;QACpB,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAChE,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAC3C,CAAC,EAAE,GAAG,CAAC,CAAC,mEAAkE;IAC9E,CAAC;IAED,kBAAkB,CAAC,MAAM;QACrB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3G,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU;iBAC9C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;iBACpB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACP,GAAG,EAAE,CAAC,CAAC,KAAK;gBACZ,KAAK,EAAE,iBAAiB,GAAG,YAAY;gBACvC,WAAW,EAAE,EAAE;aAClB,CAAC,CAAC,CAAC;YACR,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1G,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,GAAG,YAAY,CAAC;SAC1D;aAAM;YACH,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,sCAAsC,CAAC,CAAC;SACxE;IACL,CAAC;;wEAzaQ,YAAY;4FAAZ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCdzB,2EACI;QAAA,8EAA6C;QAC7C,6EAAmC;QACnC,yEACI;QAAA,yEACI;QAAA,yEACI;QAAA,oEAA+B;QACnC,4DAAM;QACN,kFAGI;QAFoC,yKAAuB,0BAAsB,IAAC,2FACtE,2BAAuB,IAD+C,uGAC3B,+BAA2B,IADA;QAElF,0EACI;QAAA,wEAC4B;QAC5B,yEACwD;QACxD,2EACI;QAAA,8EACI;QAAA,uEAA6C;QAAA,oEACjD;QAAA,4DAAS;QACT,8EACI;QAAA,uEAAsC;QAAA,mEAC1C;QAAA,4DAAS;QACT,8EAAgE;QAAA,uEACzB;QAAA,sEAAU;QAAA,4DAAS;QAC1D,8EAA4D;QAAA,uEACrB;QAAA,kEAAM;QAAA,4DAAS;QACtD,8EAAkE;QAAA,uEACxB;QAAA,wEAAY;QAAA,4DAAS;QAC/D,8EAA0D;QAAA,uEAChB;QAAA,gEAAI;QAAA,4DAAS;QACvD,8EAA0D;QAAA,uEACX;QAAA,yEAAa;QAAA,4DAAS;QACzE,4DAAM;QACV,4DAAM;QACV,4DAAY;QAChB,4DAAM;QACN,8EAES;QADL,qIAAS,kBAAc,IAAC;QAC5B,4DAAS;QAET,2EACI;QAAA,kFAEI;QADA,qKAAsB,8BAA0B,IAAC;QACjD,2EACI;QAAA,kFAA+B;QACnC,4DAAM;QACN,mFAEI;QAAA,4FAA4D;QAChE,4DAAc;QACd,uFAEc;QAF0B,kKAAkB,0BAAsB,IAAC,gHACxD,6BAAyB,IAD+B;QAEjF,4DAAc;QACd,uFAAiG;QACrG,4DAAS;QAET,2EAEI;QAFC,kIAAS,sBAAkB,IAAC;QAE7B,qEAA+B;QACnC,4DAAM;QAEN,mFAA6C;QAEjD,4DAAM;QACV,4DAAM;QAEN,sFAAsF;QAEtF,qFACI;QAAA,2EACI;QAAA,2EACI;QAAA,0mCAWA;QAAA,2EACI;QAAA,8EAAwD;QAA7B,qIAAS,sBAAkB,IAAC;QAAC,kEAAM;QAAA,4DAAS;QACvE,8EAAuE;QAAlC,qIAAS,2BAAuB,IAAC;QAAC,2EAAe;QAAA,4DAAS;QACnG,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAY;QAEZ,qFACI;QAAA,2EACI;QAAA,sEAAI;QAAA,kGAAsC;QAAA,4DAAK;QAC/C,4GACI;QAYJ,8EACI;QADuD,qIAAS,mCAA+B,IAAC;QAChG,oEACJ;QAAA,4DAAS;QACT,8EAA8F;QAAvB,qIAAS,gBAAY,IAAC;QAAC,gEAAI;QAAA,4DAAS;QAC/G,4DAAM;QACV,4DAAY;QAEZ,qFAEI;QAAA,+EACI;QAAA,2EACI;QAAA,gGAA8F;QAClG,4DAAM;QACV,4DAAU;QACd,4DAAY;QAEZ,qFAEI;QAAA,sGACI;QAAA,yFAA4E;QAC5E,wFAAyE;QACzE,2FAAkF;QAClF,wFAAyE;QACzE,0FAA+E;QACnF,4DAA6B;QACjC,4DAAY;QAEZ,qFAEI;QAAA,iFAA8D;QAClE,4DAAY;QAEZ,8FAE0B;QAE1B,2EACI;QAAA,oFAEgB;QAChB,iHACwD;QAC5D,4DAAM;QAEV,4DAAW;;;QAnJsB,0DAAqC;QAArC,6JAAqC;QAKtD,0DAAmC;QAAnC,8JAAmC;QA4B0B,2DAAqC;QAArC,8JAAqC;QAI/E,0DAAmC;QAAnC,8JAAmC;QAiBtD,2DAAoC;QAApC,+JAAoC;QAoCnC,2DAAoC;QAApC,uFAAoC;QAiDf,2DAAyE;QAAzE,kLAAyE;QAIpC,0DAAuB;QAAvB,qFAAuB;;6FDrIrF,YAAY;cALxB,uDAAS;eAAC;gBACP,QAAQ,EAAE,UAAU;gBACpB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,qBAAqB,CAAC;aACrC;;kBAGI,uDAAS;mBAAC,qBAAqB;;kBAC/B,uDAAS;mBAAC,iBAAiB;;kBAC3B,uDAAS;mBAAC,WAAW;;kBACrB,uDAAS;mBAAC,kBAAkB;;kBAC5B,uDAAS;mBAAC,aAAa;;kBACvB,uDAAS;mBAAC,QAAQ;;kBAClB,uDAAS;mBAAC,0BAA0B;;kBACpC,uDAAS;mBAAC,eAAe;;kBACzB,uDAAS;mBAAC,SAAS;;kBACnB,uDAAS;mBAAC,QAAQ;;kBAClB,uDAAS;mBAAC,UAAU;;kBACpB,uDAAS;mBAAC,sBAAsB;;kBAChC,uDAAS;mBAAC,4BAA4B;;kBACtC,uDAAS;mBAAC,QAAQ;;kBAClB,uDAAS;mBAAC,KAAK;;kBACf,uDAAS;mBAAC,cAAc;;kBACxB,uDAAS;mBAAC,oBAAoB;;kBAC9B,uDAAS;mBAAC,cAAc;;kBACxB,uDAAS;mBAAC,oBAAoB;;kBAC9B,uDAAS;mBAAC,SAAS;;;;;;;;;;;;;;AEnCxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACb;AACsC;AACf;AAErB;AACe;AAES;AACH;AAErB;AACS;AACI;AACa;AACjB;;AAqBjD,MAAM,SAAS;;wFAAT,SAAS,cANN,2DAAY;4IAMf,SAAS,mBAPP,CAAC,2DAAQ,EAAE,oEAAY,EAAE,+DAAU,EAAE,sFAAoB,EAAE,yEAAc,EAAE,qEAAY,CAAC,YAL1F;YACL,uEAAa;YACb,qEAAgB;YAChB,0DAAW;SACd;mIAQQ,SAAS,mBAjBd,2DAAY;QACZ,0EAAY;QACZ,mFAAe;QACf,gFAAc,aAGd,uEAAa;QACb,qEAAgB;QAChB,0DAAW;6FASN,SAAS;cAnBrB,sDAAQ;eAAC;gBACN,YAAY,EAAE;oBACV,2DAAY;oBACZ,0EAAY;oBACZ,mFAAe;oBACf,gFAAc;iBACjB;gBACD,OAAO,EAAE;oBACL,uEAAa;oBACb,qEAAgB;oBAChB,0DAAW;iBACd;gBACD,SAAS,EAAE,CAAC,2DAAQ,EAAE,oEAAY,EAAE,+DAAU,EAAE,sFAAoB,EAAE,yEAAc,EAAE,qEAAY,CAAC;gBACnG,SAAS,EAAE,CAAC,2DAAY,CAAC;gBACzB,OAAO,EAAE;oBACL,oEAAsB;oBACtB,8DAAgB;iBACnB;aACJ;;;;;;;;;;;;;;;;;;;;;;;;ACnC+H;AAEhE;;;;;;;;;;;;;;;;ICwBxD,4EACI;IAAA,2EAAuE;IAAA,2EAAgB;IAAA,4DAAO;IAC9F,4EACA;IADmE,uVAA4B;IAA/F,4DACA;IAAA,sEAA+C;IACnD,4DAAQ;;;IAF+D,0DAA4B;IAA5B,0FAA4B;;;IAGnG,uEAAiC;IAAA,gFAAqB;IAAA,4DAAO;;;;IAIrE,6EAA4F;IAA9D,+TAAuB;IAAuC,iEAAM;IAAA,4DAAS;;ADzBpG,MAAM,YAAY;IAsCrB,YAAoB,cAA8B,EAC9B,YAA0B,EAC1B,iBAAoC;QAFpC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QA5BxC,SAAI,GAA0B,IAAI,0DAAY,EAAE,CAAC;QAExD,aAAQ,GAAG,IAAI,CAAC;QACF,gBAAW,GAA6B,IAAI,0DAAY,EAAE,CAAC;QAOlF,YAAO,GAAG;YACN,EAAE,IAAI,EAAE,OAAO,EAAE;YACjB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;YAChC,EAAE,IAAI,EAAE,OAAO,EAAE;YACjB,EAAE,IAAI,EAAE,UAAU,EAAE;YACpB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,UAAU,EAAE;SACvB,CAAC;QAOF,sBAAiB,GAAG,yEAAyE,CAAC;QAK1F,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAc,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,sBAAsB,EAAE,EAAE;gBAClE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;aAC1B;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QACX,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAEzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,qEAAW,CAAC,WAAW,CAAC,aAAa,CAAC;QAC7E,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAElE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,GAAG,qEAAW,CAAC,WAAW,CAAC,eAAe,CAAC;QAE9E,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YAC9C,IAAI,MAAM,EAAE;gBACR,IAAI,CAAC,iBAAiB,GAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAS,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;gBACzF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAChD;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW;QACP,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,WAAW,CAAC,KAAK;QACb,QAAQ,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YACvB,KAAK,OAAO;gBACR,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;YAEV,KAAK,QAAQ;gBACT,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;YAEV,KAAK,OAAO;gBACR,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;YAEV,KAAK,UAAU;gBACX,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBACjC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;YAEV,KAAK,SAAS;gBACV,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBACjC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;YAEV,KAAK,UAAU;gBACX,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;gBACjC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;YACV,KAAK,cAAc;gBACf,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC;gBACvC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;gBACtC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,MAAM;YAEV;gBACI,MAAM;SACb;IACL,CAAC;IAED,kBAAkB,CAAC,KAAK;QACpB,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC;IAEa,OAAO;;YACjB,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpC,IAAI,GAAG,EAAE;gBACL,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;aAC5C;iBAAM;gBACH,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;aACpC;QACL,CAAC;KAAA;IAEY,WAAW,CAAC,oBAA6B,KAAK;;YACvD,MAAM,kBAAkB,GAAG,aAAa,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAC5C,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI;gBACA,IAAI,eAAe,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC;gBACvD,IAAI,iBAAiB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBAC3C,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;iBACxB;gBACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;gBAC7D,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC5B,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;iBACnD;gBACD,IAAI,iBAAiB,EAAE;oBACnB,kDAAkD;oBAClD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAE5D,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;wBAC9B,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBAC/C,CAAC,CAAC,CAAC;iBACN;gBACD,OAAO,MAAM,CAAC;aACjB;oBAAS;gBACN,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;aAClD;QACL,CAAC;KAAA;IAED,gBAAgB;QACZ,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC;QAC7C,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;YACjB,OAAO,GAAG,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,UAAU;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC/B;QACD,OAAO,IAAI;IACf,CAAC;IAED,yBAAyB;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,OAAO,EAAE;YACT,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE;gBAC3B,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACpG;SACJ;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,CAAa;QACf,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;;wEAhMQ,YAAY;4FAAZ,YAAY;;;;;;;;;;;;;;;;;;;;QCVzB,yEACI;QAAA,uEAAM;QAAA,yFAA8B;QAAA,4DAAO;QAC3C,6EACI;QADmC,qJAAc,uBAAmB,IAAC;QACrE,yEACI;QAAA,+EAA+B;QACnC,4DAAM;QACN,yEACI;QAAA,6EAA6D;QACjE,4DAAM;QACN,0EACI;QAAA,6EAA0D;QAC9D,4DAAM;QACN,0EACI;QAAA,wFAA+C;QACnD,4DAAM;QACN,2EACI;QAAA,mFAAqC;QACzC,4DAAM;QACN,2EACI;QAAA,oFAAuC;QAC3C,4DAAM;QACV,4DAAU;QACd,4DAAM;QACN,0EACI;QAAA,2EACI;QAAA,wEAAM;QAAA,mEAAO;QAAA,4DAAO;QACpB,+GACI;QAIJ,6GAAiC;QACrC,4DAAM;QACN,oFAAyF;QAC7F,4DAAM;QACN,iHAA4F;QAC5F,8EAA4E;QAA9C,qIAAS,kBAAc,IAAC;QAAsB,kEAAM;QAAA,4DAAS;QAC3F,8EACI;QAD4C,qIAAS,iBAAa,IAAC;QACnE,2EACJ;QAAA,4DAAS;;QArCiB,0DAAgB;QAAhB,6EAAgB;QAKR,0DAA0B;QAA1B,mFAA0B;QAG5B,0DAA0B;QAA1B,mFAA0B;QAgBK,2DAAyB;QAAzB,uFAAyB;QAK1E,0DAA0B;QAA1B,wFAA0B;QAEV,0DAA8C;QAA9C,+GAA8C;QAEtB,0DAAiB;QAAjB,+EAAiB;;6FDzB1D,YAAY;cANxB,uDAAS;eAAC;gBACP,QAAQ,EAAE,SAAS;gBACnB,WAAW,EAAE,sBAAsB;gBACnC,SAAS,EAAE,CAAC,qBAAqB,CAAC;aACrC;;kBAGI,uDAAS;mBAAC,UAAU;;kBACpB,uDAAS;mBAAC,WAAW;;kBACrB,uDAAS;mBAAC,UAAU;;kBACpB,uDAAS;mBAAC,YAAY;;kBACtB,uDAAS;mBAAC,YAAY;;kBACtB,uDAAS;mBAAC,YAAY;;kBACtB,uDAAS;mBAAC,iBAAiB;;kBAC3B,uDAAS;mBAAC,WAAW;;kBAErB,mDAAK;;kBAEL,oDAAM;mBAAC,MAAM;;kBAEb,mDAAK;;kBACL,oDAAM;mBAAC,aAAa;;;;;;;;;;;;;;AEzBzB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgF;AAIhB;;;;;;;;;;AAQzD,MAAM,eAAe;IAQxB,YACY,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAClC,CAAC;IAEL,eAAe;QACX,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,qBAAqB,GAAG,IAAI,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;IAC1C,CAAC;IAED,IAAI,SAAS;QACT,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;SACvB;QACD,IAAI,CAAC,qEAAW,CAAC,UAAU,EAAE;YACzB,IAAI,IAAI,UAAU,CAAC;SACtB;QACD,OAAO,IAAI,GAAG,gBAAgB,CAAC;IACnC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACnC,CAAC;IAGD,IAAI,OAAO;QACP,OAAO,qEAAW,CAAC,OAAO,CAAC;IAC/B,CAAC;IAED,SAAS;QACL,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO;QACH,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED,UAAU;QACN,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC3C,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IACzC,CAAC;IAED,WAAW;QACP,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAO,IAAI,CAAC,KAAM,CAAC,OAAO,CAAC;IACpD,CAAC;;8EA9DQ,eAAe;+FAAf,eAAe;;;;;;;;;;;;;;QCZ5B,yEACI;QAAA,yEACI;QAAA,oEACA;QAAA,qEAAI;QAAA,mGAAwC;QAAA,4DAAK;QACrD,4DAAM;QACN,yEACI;QAAA,yEACI;QAAA,6EAAyG;QAC7G,4DAAM;QACN,yEACI;QAAA,6EACI;QADoB,wIAAS,aAAS,IAAC;QACvC,sEAAyC;QACzC,4EAAmB;QAAA,mFAAuB;QAAA,4DAAO;QACrD,4DAAS;QACT,8EACI;QADsB,wIAAS,iBAAa,IAAC;QAC7C,uEAA+C;QAC/C,4EAAmB;QAAA,iEAAK;QAAA,4DAAO;QACnC,4DAAS;QACT,8EACI;QADgB,wIAAS,eAAW,IAAC;QACrC,uEAAgD;QAChD,4EAAmB;QAAA,iEAAK;QAAA,4DAAO;QACnC,4DAAS;QACb,4DAAM;QACV,4DAAM;QACV,4DAAM;QAEN,kFAA8B;QAE9B,qFACI;QAAA,2EACI;QAAA,8EAAkD;QACtD,4DAAM;QACV,4DAAY;QAEZ,qFACI;QAAA,2EACI;QAAA,2EACI;QAAA,sEAAI;QAAA,2GAA+C;QAAA,4DAAK;QACxD,sEAAI;QAAA,wDAAsB;QAAA,4DAAK;QAC/B,qEAAI;QAAA,yrBAOJ;QAAA,4DAAI;QACJ,2EACI;QAAA,8EAAiD;QAAvB,wIAAS,gBAAY,IAAC;QAAC,iEAAK;QAAA,4DAAS;QACnE,4DAAM;QACV,4DAAM;QACV,4DAAM;QACV,4DAAY;;QAlDoB,0DAAyC;QAAzC,qLAAyC;QA4B1C,2DAAgB;QAAhB,6EAAgB;QAQ/B,0DAAsB;QAAtB,8FAAsB;;6FD1BzB,eAAe;cAL3B,uDAAS;eAAC;gBACP,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,yBAAyB;gBACtC,SAAS,EAAE,CAAC,wBAAwB,CAAC;aACxC;;kBAGI,uDAAS;mBAAC,aAAa;;kBACvB,uDAAS;mBAAC,KAAK;;kBACf,uDAAS;mBAAC,WAAW;;kBACrB,uDAAS;mBAAC,QAAQ;;kBAClB,uDAAS;mBAAC,OAAO;;;;;;;;;;;;;;AElBtB;AAAA;AAAA;AAAA;AAAA;AAA6G;;;;;;;;;;;;;;;;;ICCzG,0EACI;IAAA,0EACI;IAAA,wEACI;IADyC,uTAA4B;IACrE,sEAAwC;IAAC,wEAC7C;IAAA,4DAAI;IACJ,wEACI;IADyC,qTAA0B;IACnE,sEAAkC;IAAC,wEACvC;IAAA,4DAAI;IACJ,wEACI;IADyC,qTAA0B;IACnE,sEAAuC;IAAC,yEAC5C;IAAA,4DAAI;IACJ,yEACI;IADyC,oTAAwB;IACjE,uEAAoC;IAAC,uEACzC;IAAA,4DAAI;IACJ,yEACI;IADyC,iTAAqB;IAC9D,uEAAuC;IAAC,mEAC5C;IAAA,4DAAI;IACJ,yEACI;IADyC,sTAA0B;IACnE,uEAAuC;IAAC,wDAC5C;IAAA,4DAAI;IACR,4DAAM;IACV,4DAAM;;;IAH8C,2DAC5C;IAD4C,oHAC5C;;ADZL,MAAM,cAAc;IA0BvB,YACY,iBAAoC,EACpC,YAA0B;QAD1B,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,iBAAY,GAAZ,YAAY,CAAc;QAXtC,yBAAoB,GAAa,KAAK,CAAC;QACvC,iBAAY,GAAG;YACX,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE;gBACL,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,KAAK;aACf;SACJ,CAAC;IAIE,CAAC;IAEL,kBAAkB;QACd,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,mBAAmB;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC;QAC3G,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,iBAAiB;QACb,MAAM,IAAI,GAAG,QAAQ,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAM,EAAE,EAAE;YACtC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;gBACrC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;aACxB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,4BAA4B,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACL,IAAI,CAAC,WAAY,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;SACvD;IACL,CAAC;IAED,6BAA6B,CAAC,CAAC;QAC3B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;YAC9C,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;YACjD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,kBAAmB,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;SAC/D;IACL,CAAC;IAED,wBAAwB,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG;YACT,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,aAAa,EAAE,IAAI,CAAC,cAAc;YAClC,UAAU,EAAE,IAAI,CAAC,WAAW;SAC/B,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACjC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;SAC1D;IACL,CAAC;IAED,uBAAuB,CAAC,CAAC;QACrB,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAM,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;SAClD;IACL,CAAC;IAED,4BAA4B,CAAC,CAAC;QAC1B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACL,IAAI,CAAC,gBAAiB,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;SAC7D;IACL,CAAC;IAED,0BAA0B,CAAC,CAAC;QACxB,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE;YACL,IAAI,CAAC,cAAe,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;SAC3D;IACL,CAAC;IAED,cAAc;QACV,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACtD,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,WAAY,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;IACxD,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACtD,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;IACjD,CAAC;IAED,SAAS;QACL,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;IAC3C,CAAC;IAED,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAC7B,MAAM,UAAU,GAAQ,QAAQ,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC9D,MAAM,aAAa,GAAQ,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;YACpE,MAAM,SAAS,GAAQ,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YAE5D,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE;gBACnE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,CAAC;YAEH,UAAU,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACvD,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC5D,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC9D,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,aAAa,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChD,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClD,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC5C,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;SACN;QACD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IAED,YAAY;QACR,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC3B,MAAM,QAAQ,GAAQ,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;YACvD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE;gBACjE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACnC;QACD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC7C,CAAC;IACD,cAAc;QACV,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC;IACrH,CAAC;;4EAjKQ,cAAc;8FAAd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;QCR3B,yEACI;QAAA,2GACI;QAqBR,4DAAM;QAEN,kFAEI;QADA,yJAAc,yCAAqC,IAAC;QACpD,yEACI;QAAA,gFAEI;QADA,uJAAc,oCAAgC,IAAC;QAC/C,yEACI;QAAA,kFAAqC;QACzC,4DAAM;QACN,0EACI;QAAA,gFAAyB;QAC7B,4DAAM;QACN,2EACI;QAAA,uFAA8C;QAClD,4DAAM;QACV,4DAAU;QACd,4DAAM;QACV,4DAAY;QAEZ,qFAEI;QADyB,0JAAc,wCAAoC,IAAC;QAC5E,iFAAsE;QAC1E,4DAAY;QAEZ,qFAEI;QADwC,0JAAc,wCAAoC,IAAC;QAC3F,2EACI;QAAA,sFACI;QAAA,2EACI;QAAA,gFAAgE;QAChE,qFAAmF;QACvF,4DAAM;QACV,4DAAiB;QACrB,4DAAM;QACV,4DAAY;QAEZ,qFAEI;QADwC,0JAAc,sCAAkC,IAAC;QACzF,2EACI;QAAA,2EACI;QAAA,0FAAmL;QACnL,0FAA2E;QAC/E,4DAAM;QACN,oFAA2D;QAC/D,4DAAM;QACV,4DAAY;QACZ,qFAEI;QADc,0JAAc,mCAA+B,IAAC;QAC5D,8EAA2C;QAC/C,4DAAY;;QAxEe,0DAAe;QAAf,6EAAe;QA+DuC,2DAA+C;QAA/C,0GAA+C;;6FDxDnH,cAAc;cAL1B,uDAAS;eAAC;gBACP,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,wBAAwB;gBACrC,SAAS,EAAE,CAAC,uBAAuB,CAAC;aACvC;;kBAGI,uDAAS;mBAAC,MAAM;;kBAChB,uDAAS;mBAAC,UAAU;;kBACpB,uDAAS;mBAAC,aAAa;;kBACvB,uDAAS;mBAAC,aAAa;;kBACvB,uDAAS;mBAAC,mBAAmB;;kBAC7B,uDAAS;mBAAC,oBAAoB;;kBAC9B,uDAAS;mBAAC,OAAO;;kBACjB,uDAAS;mBAAC,aAAa;;kBACvB,uDAAS;mBAAC,kBAAkB;;kBAC5B,uDAAS;mBAAC,gBAAgB;;kBAC1B,uDAAS;mBAAC,MAAM;;kBAEhB,mDAAK;;;;;;;;;;;;;;AEtBV;AAAA;AAAA;AAA2C;;AAGpC,MAAM,QAAQ;IADrB;QAEI,gBAAW,GAAG,2EAA2E,CAAC;QAC1F,mBAAc,GAAG;YACf,SAAS,EAAE,kFAAkF;YAC7F,eAAe,EAAE,UAAU;YAC3B,cAAc,EAAE,sBAAsB;YACtC,OAAO,EAAE,SAAS;SACnB,CAAC;QACF,mBAAc,GAAU;YACxB;gBACI,SAAS,EAAE,iGAAiG;gBAC5G,eAAe,EAAE,gBAAgB;gBACjC,cAAc,EAAE,sBAAsB;gBACtC,OAAO,EAAE,WAAW;aACvB;YACD;gBACE,SAAS,EAAE,qFAAqF;gBAChG,eAAe,EAAE,UAAU;gBAC3B,cAAc,EAAE,sBAAsB;gBACtC,OAAO,EAAE,iBAAiB;aAC3B;SACA,CAAC;KACL;;gEAtBY,QAAQ;2FAAR,QAAQ,WAAR,QAAQ;6FAAR,QAAQ;cADpB,wDAAU;;;;;;;;;;;;;;;;;;;;;ACDgC;AACkB;;;AAItD,MAAM,YAAY;IACrB,YAA6B,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;QAGlC,WAAM,GAAG,OAAO,CAAC;QACjB,cAAS,GAAG,UAAU,CAAC;IAHxC,CAAC;IAMD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,OAAO,CAAI,GAAW,EAAE,MAA2B;QAC/C,IAAI,MAAM,CAAC,IAAI,EAAE;YACb,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC7C;QACD,MAAM,mBACF,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;aACrC,EACD,MAAM,EAAE,EAAE,IACP,MAAM,CACZ,CAAC;QAEF,4CAA4C;QAC5C,eAAe;QACf,2DAA2D;QAC3D,gCAAgC;QAChC,UAAU;QAEV,0FAA0F;QAC1F,wDAAwD;QACxD,2CAA2C;QAC3C,QAAQ;QACR,IAAI;QAEJ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QAC9C,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACtB,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;SACnB;aAAM;YACH,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;SACnB;QACD,qBAAqB;QACrB,GAAG,GAAG,GAAG,GAAG,iBAAiB,qEAAW,CAAC,aAAa,EAAE,CAAC;QACzD,IAAI,qEAAW,CAAC,WAAW,EAAE;YACzB,iDAAiD;YACjD,GAAG,GAAG,GAAG,GAAG,UAAU,qEAAW,CAAC,WAAW,EAAE,CAAC;SACnD;QAED,yCAAyC;QACzC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAC1C;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAI,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACpF,OAAO,MAAM,CAAC;QAClB,CAAC,EAAE,aAAa,CAAC,EAAE;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACP,CAAC;IACD;;;;;;OAMG;IACG,cAAc,CAAU,KAAa,EAAE,SAAc,EAAE,SAAiB,KAAK,EAAE,WAAmB,IAAI;;YACxG,IAAI,SAAiB,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAC/F,IAAI,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE;gBACtB,wHAAwH;gBACxH,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aAC3G;iBAAM;gBACH,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACjH;YACD,oGAAoG;YACpG,IAAI,MAAM,KAAK,KAAK,EAAE;gBAClB,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACnC;YACD,IAAI,QAAuB,CAAC;YAE5B,IAAI;gBACA,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAgB,WAAW,SAAS,EAAE,EAAE;oBACjE,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;wBACrB,KAAK;wBACL,SAAS;qBACZ,CAAC,CAAC,CAAC,SAAS;oBACb,MAAM;oBACN,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;wBACvB,KAAK;wBACL,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;qBACvC,CAAC,CAAC,CAAC,SAAS;iBAChB,CAAC,CAAC;aACN;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC5C,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBACnC;gBACD,MAAM,CAAC,CAAC;aACX;YACD,IAAI,CAAC,QAAQ,EAAE;gBACX,OAAU,QAAQ,CAAC,IAAI,CAAC;aAC3B;iBAAM;gBACH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACtB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;iBACzB;gBACD,OAAU,MAAM,CAAC;aACpB;QACL,CAAC;KAAA;IACO,WAAW,CAAC,IAAY;QAC5B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,GAAG,CAAI,GAAW,EAAE,MAAY,EAAE,MAAY;QAC1C,MAAM,GAAG,mCACF,MAAM,KACT,MAAM,EAAE,KAAK,EACb,MAAM,GACT,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAI,GAAW,EAAE,IAAU,EAAE,MAAY;QACzC,MAAM,GAAG,mBACL,IAAI,EACJ,MAAM,EAAE,MAAM,IACX,MAAM,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAI,GAAW,EAAE,IAAU,EAAE,MAAY;QACxC,MAAM,GAAG,mBACL,IAAI,EACJ,MAAM,EAAE,KAAK,IACV,MAAM,CACZ,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAI,GAAW,EAAE,IAAU,EAAE,MAAY;QAC3C,MAAM,GAAG,mBACL,IAAI,EACJ,MAAM,EAAE,QAAQ,IACb,MAAM,CACZ,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;;wEA3JQ,YAAY;+FAAZ,YAAY,WAAZ,YAAY;6FAAZ,YAAY;cADxB,wDAAU;;;;;;;;;;;;;;ACLX;AAAA;AAAA;AAAA;AAA2C;;;AAKpC,MAAM,oBAAoB;IAE7B,YACqB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;IAC3C,CAAC;IAEL,eAAe,CAAC,KAA4D;QACxE,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,KAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3K,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChF,IAAI,aAAa,CAAC;QAClB,QAAQ,SAAS,CAAC,IAAI,EAAE;YACpB,KAAK,UAAU;gBACX,aAAa,GAAG,CAAC,qBAAqB,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB;oBACjG,qBAAqB,EAAE,eAAe,EAAE,eAAe;oBACvD,sBAAsB,EAAE,qBAAqB,EAAE,SAAS,CAAC,CAAC;gBAC9D,MAAM;YACV,KAAK,SAAS;gBACV,aAAa,GAAG,CAAC,qBAAqB,EAAE,aAAa,EAAE,mBAAmB,EAAE,yBAAyB;oBACjG,qBAAqB,EAAE,eAAe,EAAE,eAAe;oBACvD,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;gBACnD,MAAM;YACV,KAAK,WAAW;gBACZ,aAAa,GAAG,CAAC,YAAY,CAAC,CAAC;SACtC;QACD,IAAI,aAAa,EAAE;YACf,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;gBAC7B,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAC5D,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;oBACnB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;iBAC9C;aACJ;SACJ;IACL,CAAC;IAED,cAAc,CAAC,MAAmB,EAAE,KAAiB,EAAE,UAAoB;QACvE,IAAI,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAgB,CAAC;QAC1F,IAAI,IAAI,EAAE;YACN,IAAI,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,cAAc,KAAK,OAAO,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7E,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;SAC/D;QACD,MAAM,iBAAiB,GAAG,CAAC,CAAa,EAAE,EAAE;YACxC,IAAI,CAAE,CAAC,CAAC,MAAsB,CAAC,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAChE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;gBACrC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;aAC1D;QACL,CAAC,CAAC;QACF,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;YAChC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SACvD;aAAM;YACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SAC1D;IACL,CAAC;IAED,YAAY,CAAC,IAAiB;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,YAA2B,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACjE,CAAC,EAAE,CAAC;YACJ,IAAI,MAAM,EAAE;gBACR,MAAM,GAAG,MAAM,CAAC,YAA2B,CAAC;aAC/C;iBAAM;gBACH,MAAM;aACT;SACJ;QACD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,MAAM,EAAE;YACR,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAgB,CAAC;YACxE,IAAI,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5C,IAAI,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC;YAClD,IAAI,WAAW,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE;gBACtE,MAAM,GAAG,IAAI,CAAC;aACjB;SACJ;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;;wFA/EQ,oBAAoB;uGAApB,oBAAoB,WAApB,oBAAoB;6FAApB,oBAAoB;cADhC,wDAAU;;;;;;;;;;;;;;ACJX;AAAA;AAAA;AAA2C;;AAGpC,MAAM,cAAc;IAD3B;QAGI,SAAI,GAAa,EAAE,CAAC;KAuBvB;IArBG,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAC,GAAW;QACX,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvB;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,GAAW;QACd,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1B;SACJ;IACL,CAAC;;4EAxBQ,cAAc;iGAAd,cAAc,WAAd,cAAc;6FAAd,cAAc;cAD1B,wDAAU;;;;;;;;;;;;;;;;;;;;;ACF4C;AAEM;;;AAKtD,MAAM,YAAY;IAQrB,YACqB,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAP/C,aAAQ,GAAQ,IAAI,CAAC;IAQjB,CAAC;IAEL,IAAI,MAAM;QACN,OAAO,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,KAAK;QACL,OAAO,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,OAAO;QACP,IAAI,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAa,KAAM,CAAC,GAAG,CAAC;IAC5B,CAAC;IAED,IAAI,WAAW;QACX,IAAI,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC9C,OAAa,KAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;IACjC,CAAC;IAED,IAAI,SAAS;QACT,MAAM,SAAS,GAAU,EAAE,CAAC;QAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAW,EAAE;YAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACnE,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;oBAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBACvB;aACJ;iBAAM;gBACH,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzB;SACJ;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO;QACH,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,kBAAkB,CAAC,OAAY;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,UAAU;QACN,MAAM,UAAU,GAAG,GAAG,GAAG,qEAAW,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;QACjE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/C,OAAO,UAAU,CAAC;SACrB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAAK,EAAE,WAAW;QAC5B,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YACpC,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9B,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC5B;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,kBAAkB,CAAC,GAAG,EAAE,MAAc,SAAS;QAC3C,IAAI,CAAC,GAAG,EAAE;YACN,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI;SAC7B;QACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,mBAAmB,CAAC,EACtD,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAC3B,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,OAAe;QACtB,IAAI,kBAAkB,GAAG,IAAI,WAAW,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7I,MAAM,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,aAAa;QACjB,IAAI,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAM,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,UAAU,CAAC,aAAa;QACpB,IAAI,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,QAAQ,CAAC,aAA4B,EAAE,IAAS;QAC5C,IAAI,GAAG,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAM,GAAG,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,GAAG;QACL,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;YAClC,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC;IACf,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,QAAiB,EAAE,IAAU;QACnD,IAAI,OAAO,GAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACpC,IAAI,QAAQ,EAAE;YACV,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;SAC5B;QACD,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAEK,cAAc,CAAU,KAAa,EAAE,SAAc,EAAE,SAAiB,KAAK,EAAE,WAAmB,IAAI;;YACxG,IAAI,SAAiB,CAAC;YACtB,IAAI,0BAA0B,GAAG,IAAI,CAAC;YACtC,IAAI,MAAM,GAAG,OAAO,CAAC;YACrB,IAAI,SAAS,GAAG,UAAU,CAAC;YAE3B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,IAAI,MAAM,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,0BAA0B,EAAE;gBACpG,MAAM,GAAG,MAAM,CAAC;aACnB;YACD,IAAI,IAAI,KAAK,MAAM,EAAE;gBACjB,wHAAwH;gBACxH,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACjG;iBAAM;gBACH,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACvG;YACD,oGAAoG;YACpG,IAAI,MAAM,KAAK,KAAK,EAAE;gBAClB,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aACnC;YACD,IAAI,QAAQ,GAAQ,EAAE,CAAC;YAEvB,IAAI;gBACA,IAAI,cAAc,GAAG,qEAAW,CAAC,UAAU,GAAG,UAAU,CAAC;gBACzD,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAgB,GAAG,cAAc,IAAI,SAAS,kBAAkB,qEAAW,CAAC,aAAa,EAAE,EAAE;oBACtH,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;wBACrB,KAAK;wBACL,SAAS;qBACZ,CAAC,CAAC,CAAC,SAAS;oBACb,MAAM;oBACN,MAAM,EAAE,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC;wBACvB,KAAK;wBACL,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;qBACvC,CAAC,CAAC,CAAC,SAAS;iBAChB,CAAC,CAAC;aACN;YAAC,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;oBAC5C,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;iBACnC;gBACD,MAAM,CAAC,CAAC;aACX;YACD,IAAI,CAAC,QAAQ,EAAE;gBACX,OAAU,QAAQ,CAAC,IAAI,CAAC;aAC3B;iBAAM;gBACH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,MAAM,GAAG,QAAQ,CAAC;gBACtB,IAAI,QAAQ,CAAC,IAAI,EAAE;oBACf,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;iBAC1B;gBACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;oBACtB,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;iBACzB;gBACD,OAAU,MAAM,CAAC;aACpB;QACL,CAAC;KAAA;IAEK,OAAO,CAAI,GAAW,EAAE,MAAW;;YACrC,IAAI,MAAM,CAAC,IAAI,EAAE;gBACb,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC7C;YACD,MAAM,mBACF,OAAO,EAAE;oBACL,cAAc,EAAE,kBAAkB;iBACrC,EACD,MAAM,EAAE,EAAE,IACP,MAAM,CACZ,CAAC;YAEF,yCAAyC;YACzC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;aAC1C;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE;gBACzB,GAAG,GAAG,GAAG,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;gBACtF,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAM,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC5E,OAAO,MAAM,CAAC,IAAI,CAAC;gBACvB,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAM,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC1F,OAAO,MAAM,CAAC,IAAI,CAAC;gBACvB,CAAC,CAAC,CAAC;aACN;QACL,CAAC;KAAA;IAED,2BAA2B,CAAC,aAA4B;QACpD,aAAa,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YACvC,aAAa,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpC,aAAa,CAAC,OAAO,CAAC,qEAAW,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;SACvD;QACD,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,WAAW,CAAC,IAAY;QACpB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IAChB,CAAC;;wEA1NQ,YAAY;+FAAZ,YAAY,WAAZ,YAAY;6FAAZ,YAAY;cADxB,wDAAU;;;;;;;;;;;;;;ACNX;AAAA;AAAA,MAAM,WAAW;IACb,MAAM,KAAK,IAAI;QACX,MAAM,GAAG,GAAS,MAAO,CAAC,WAAW,IAAI,OAAO,CAAC;QACjD,IAAI,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACjD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE;YAChD,QAAQ,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;SAC5C;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAqBD,MAAM,KAAK,MAAM;QACb,OAAO;YACH,KAAK,EAAE,CAAC;YACR,aAAa,EAAE,MAAM;YACrB,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,OAAO;YACjB,gBAAgB,EAAE,IAAI;YACtB,WAAW,EAAE;gBACT,aAAa,EAAE;oBACX;wBACI,UAAU,EAAE,eAAe;wBAC3B,WAAW,EAAE,gBAAgB;wBAC7B,MAAM,EAAE,WAAW;wBACnB,QAAQ,EAAE,YAAY;wBACtB,SAAS,EAAE,WAAW;wBACtB,OAAO,EAAE,IAAI;qBAChB;oBACD;wBACI,UAAU,EAAE,cAAc;wBAC1B,WAAW,EAAE,iBAAiB;wBAC9B,MAAM,EAAE,QAAQ;wBAChB,QAAQ,EAAE,cAAc;wBACxB,SAAS,EAAE,aAAa;wBACxB,OAAO,EAAE,IAAI;qBAChB;iBACJ;gBACD,eAAe,EAAE;oBACb,QAAQ,EAAE,MAAM;oBAChB,GAAG,EAAE,gDAAgD;iBACxD;aACJ;YACD,oBAAoB,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,aAAa,EAAE,iBAAiB,CAAC;YACzL,wBAAwB,EAAE,6BAA6B;YACvD,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,IAAI;YACpB,aAAa,EAAE;gBACX;oBACI,OAAO,EAAE,WAAW;oBACpB,IAAI,EAAE,oUAAoU;oBAC1U,KAAK,EAAE,OAAO;oBACd,MAAM,EAAE;wBACJ,MAAM,EAAE,CAAC,CAAC,gBAAgB,EAAE,iBAAiB,CAAC;wBAC9C,IAAI,EAAE,CAAC;qBACV;oBACD,UAAU,EAAE,QAAQ;oBACpB,KAAK,EAAE,kBAAkB;iBAC5B;gBACD;oBACI,OAAO,EAAE,0BAA0B;oBACnC,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,OAAO;oBACd,UAAU,EAAE,YAAY;oBACxB,KAAK,EAAE,KAAK;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;;AA5EM,wBAAY,GAAoC;IACnD,KAAK,EAAE;QACH,OAAO,EAAE,kBAAkB;QAC3B,UAAU,EAAE,6CAA6C;KAC5D;IACD,GAAG,EAAE;QACD,OAAO,EAAE,+BAA+B;QACxC,UAAU,EAAE,6CAA6C;KAC5D;IACD,IAAI,EAAE;QACF,OAAO,EAAE,kCAAkC;QAC3C,UAAU,EAAE,0CAA0C;KACzD;IACD,IAAI,EAAE;QACF,OAAO,EAAE,wBAAwB;QACjC,UAAU,EAAE,sCAAsC;KACrD;CACJ,CAAC;AAoFC,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC;;;;;;;;;;;;;AChH5C;AAAA;AAAA;AAAA;AAAA;AAA+D;AAIN;AACI;;;AAE7D,qDAAqD;AACrD,oCAAoC;AAEpC,2EAAwB,gBAAgB,CAAC,0DAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;IACjE,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,4DAAc,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAClD,qDAAqD;IACrD,kFAAgB,CAAC,YAAY,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9C,IAAI,qEAAW,CAAC,cAAc,EAAE;IAC5B,oEAAc,EAAE,CAAC;CACpB","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, ViewChild } from '@angular/core';\r\nimport { LegendOptionsService } from './services/legend-options.service';\r\nimport { LoadingService } from './services/loading.service';\r\nimport { UtilsService } from './services/utils.service';\r\nimport { Basemaps } from './services/basemaps';\r\nimport { environment } from '../environments/environment';\r\n\r\nimport esri = __esri;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements AfterViewInit {\r\n\r\n @ViewChild('applicatoinMessages') private readonly applicationMessages: ElementRef;\r\n @ViewChild('basemapSwitcher') private readonly basemapSwitcherRef: ElementRef;\r\n @ViewChild('dataTable') private readonly dataTable: ElementRef;\r\n @ViewChild('disclaimerWindow') private readonly disclaimerWindow: ElementRef;\r\n @ViewChild('exportLayer') private readonly exportLayer: ElementRef;\r\n @ViewChild('extent') private readonly extentRef: ElementRef;\r\n @ViewChild('filterLayerOptionsWindow') private readonly filterLayerOptionsWindow: ElementRef;\r\n @ViewChild('galleryWindow') private readonly galleryWindow: ElementRef;\r\n @ViewChild('gallery') private readonly gallery: ElementRef;\r\n @ViewChild('header') private readonly headerRef: any;\r\n @ViewChild('identify') private readonly identify: ElementRef;\r\n @ViewChild('layerFilterContainer') private readonly layerFilterContainer: any;\r\n @ViewChild('layerFilterContainerWindow') private readonly layerFilterContainerWindow: ElementRef;\r\n @ViewChild('legend') private readonly legend: any;\r\n @ViewChild('map') private readonly mapRef: ElementRef;\r\n @ViewChild('spatialQuery') private readonly spatialQuery: ElementRef;\r\n @ViewChild('spatialQueryWindow') private readonly spatialQueryWindow: ElementRef;\r\n @ViewChild('symbolEditor') private readonly symbolEditor: ElementRef;\r\n @ViewChild('symbolEditorWindow') private readonly symbolEditorWindow: ElementRef;\r\n @ViewChild('tooltip') private readonly tooltip: ElementRef;\r\n\r\n constructor(\r\n private legendOptionsService: LegendOptionsService,\r\n private loadingService: LoadingService,\r\n private readonly utilsService: UtilsService,\r\n private basemaps: Basemaps,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {\r\n window.addEventListener('openAoi', (e: CustomEvent) => {\r\n this.openAoi = e.detail;\r\n });\r\n }\r\n\r\n dataTableMinimized: boolean = false;\r\n disclaimerAccepted: boolean = false;\r\n title = environment.pdauthAppName;\r\n layerIdsToBeAdded: number[] = [];\r\n selectedLayers: any[];\r\n legendClosed: boolean = false;\r\n loadingArea: boolean = false;\r\n disableMapLoader: boolean = false;\r\n warnAboutZoom: boolean = true;\r\n currentFeature: any;\r\n currentDocSources: any;\r\n openAoi: boolean = true;\r\n\r\n get mapLoaderTitle() {\r\n return this.loadingService.keys.map(x => x).join(' , ');\r\n }\r\n\r\n get showMapLoader() {\r\n return this.loadingService.show;\r\n }\r\n\r\n get dataTableOpened(): string {\r\n return this.dataTable && this.dataTable.nativeElement && this.dataTable.nativeElement.opened;\r\n }\r\n\r\n get currentScaleIsGreaterThanMinScale(): boolean {\r\n if (this.utilsService.esriMap.layers && this.utilsService.esriMapView.scale) {\r\n const currentScale = this.utilsService.esriMapView.scale;\r\n let minScale = environment.minScale;\r\n return currentScale > minScale;\r\n }\r\n return false;\r\n }\r\n\r\n get videoLogWindowIsOpened() {\r\n return this.utilsService.videoLogWindow && this.utilsService.videoLogWindow.nativeElement.isOpened;\r\n }\r\n\r\n async ngAfterViewInit() {\r\n this.setupDisclaimer();\r\n this.changeDetectorRef.detectChanges();\r\n await this.mapRef.nativeElement.ready;\r\n await this.setBasemap();\r\n await this.constructExtent();\r\n await this.setupBasemapSwitcher();\r\n this.setupLayerFiltering();\r\n this.watchMapUpdating();\r\n this.watchZoomLevel();\r\n this.watchLayersAdded();\r\n this.setupIdentify();\r\n this.setupTooltip();\r\n }\r\n\r\n async setBasemap() {\r\n await this.mapRef.nativeElement.ready;\r\n await this.mapRef.nativeElement.setBasemapsFromConfig(this.basemaps.defaultBasemap);\r\n }\r\n\r\n async constructExtent() {\r\n await this.extentRef.nativeElement.ready;\r\n for (let extentConfig of environment.extentConfigs) {\r\n if (extentConfig.label === 'AOI') {\r\n extentConfig.extent = async () => await this.getAoi();\r\n }\r\n this.extentRef.nativeElement.addExtentConfiguration(extentConfig);\r\n }\r\n }\r\n\r\n async getAoi() {\r\n const aoiLayer = this.mapRef.nativeElement.LayerService.getAoiLayers();\r\n if (aoiLayer.length) {\r\n const aoiExtent = await this.mapRef.nativeElement.LayerService.getLayerExtent(aoiLayer[0]);\r\n return aoiExtent;\r\n }\r\n }\r\n\r\n async setupBasemapSwitcher() {\r\n await this.basemapSwitcherRef.nativeElement.ready;\r\n this.basemapSwitcherRef.nativeElement.addBasemaps(this.basemaps.basemapList, this.basemaps.basemapConfigs);\r\n }\r\n\r\n setFilters() {\r\n this.filterLayerOptionsWindow.nativeElement.layerId = null;\r\n this.filterLayerOptionsWindow.nativeElement.close();\r\n\r\n Promise.all(this.selectedLayers.filter(l => l.filterType === 'showAll').map(layer => {\r\n const layerSettings = { id: layer.id };\r\n return this.mapRef.nativeElement.LayerService.addMapcoreLayersToMap([layerSettings]);\r\n }));\r\n\r\n Promise.all(this.selectedLayers.filter(l => l.filterType === 'aoi').map(layer => {\r\n const layerSettings = { id: layer.id, query: layer.aoiQuery };\r\n return this.mapRef.nativeElement.LayerService.addMapcoreLayersToMap([layerSettings]);\r\n }));\r\n\r\n this.selectedLayers = this.selectedLayers.filter(l => l.filterType === 'filter');\r\n this.layerIdsToBeAdded = this.selectedLayers.map(l => l.id);\r\n this.filterLayer({});\r\n }\r\n\r\n async filterLayer(event) {\r\n try {\r\n if (event.detail && event.detail.esriLayer) {\r\n return;\r\n }\r\n\r\n if (event.detail && event.detail.data) {\r\n const layerId = event.detail.id;\r\n if (this.layerIdsToBeAdded.indexOf(layerId) >= 0) {\r\n const layerSettings = { id: layerId, query: event.detail.data.query };\r\n await this.utilsService.mcMap.LayerService.addMapcoreLayersToMap([layerSettings]);\r\n var index = this.layerIdsToBeAdded.indexOf(layerId);\r\n if (index !== -1) this.layerIdsToBeAdded.splice(index, 1);\r\n this.layerFilterContainer.nativeElement.layerId = null; //Force a reset of the layerId\r\n }\r\n }\r\n\r\n if (this.selectedLayers.length > 0) {\r\n const nextLayer = this.selectedLayers.shift();\r\n this.layerFilterContainer.nativeElement.layerId = null; //Force a reset of the layerId\r\n this.layerFilterContainer.nativeElement.layerId = nextLayer.id;\r\n this.layerFilterContainerWindow.nativeElement.open();\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n\r\n setupDisclaimer() {\r\n this.disclaimerWindow.nativeElement.open();\r\n this.disclaimerWindow.nativeElement.addEventListener('openChange', open => {\r\n if (!open.detail) {\r\n if (!this.disclaimerAccepted) {\r\n this.redirectForNotAcceptingDisclaimer();\r\n }\r\n }\r\n });\r\n }\r\n\r\n acceptDisclaimer() {\r\n this.disclaimerAccepted = true;\r\n this.disclaimerWindow.nativeElement.close();\r\n if (this.openAoi) {\r\n this.utilsService.openAoi();\r\n }\r\n }\r\n\r\n doNotAcceptDisclaimer() {\r\n this.redirectForNotAcceptingDisclaimer();\r\n }\r\n\r\n redirectForNotAcceptingDisclaimer() {\r\n window.location.href = environment.disclaimerDoNotAcceptUrl;\r\n }\r\n\r\n presetBillBoardColumnSettings() {\r\n const columnSettings = [];\r\n for (const value of environment.dataTableColumnNames) {\r\n columnSettings.push({ name: value });\r\n }\r\n this.dataTable.nativeElement.columnSettings = columnSettings;\r\n }\r\n\r\n setupLayerFiltering() {\r\n window.addEventListener('addingMapcoreLayersToMap', async (event) => {\r\n if (event) {\r\n this.selectedLayers = await Promise.all((event as any).detail.map(async l => {\r\n try {\r\n let canFilterByAoi;\r\n const aoiLayers = this.mapRef.nativeElement.LayerService.getAoiLayers();\r\n if (aoiLayers.length > 0) {\r\n l.aoiQuery = await this.mapRef.nativeElement.AoiService.generateFilterQuery({ parentId: l.id });\r\n canFilterByAoi = !!l.aoiQuery.field;\r\n }\r\n\r\n const filterType = canFilterByAoi ? 'aoi' : 'filter';\r\n return { ...l, ...{ filterType } };\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }));\r\n }\r\n this.filterLayerOptionsWindow.nativeElement.open();\r\n this.filterLayerOptionsWindow.nativeElement.layerId = null;\r\n });\r\n this.layerFilterContainer.nativeElement.addEventListener('onapply', (event) => {\r\n this.layerFilterContainerWindow.nativeElement.close();\r\n this.filterLayer.bind(this);\r\n this.filterLayer(event);\r\n });\r\n }\r\n\r\n closeFilterLayerOptionsWindow() {\r\n this.filterLayerOptionsWindow.nativeElement.close();\r\n }\r\n\r\n dismissMapLoader() {\r\n this.loadingService.dismiss();\r\n }\r\n\r\n onSymbolEditorClick(event) {\r\n const esriLayer = this.utilsService.getLayerByUniqueId(event.detail.uniqueLayerId);\r\n this.symbolEditorWindow.nativeElement.open();\r\n this.symbolEditor.nativeElement.uniqueLayerId = event.detail.uniqueLayerId;\r\n }\r\n\r\n onOptionSelect(event: CustomEvent) {\r\n const target = event.detail.target;\r\n const layerId = event.detail.layerId;\r\n const esriLayer = this.utilsService.getLayerByUniqueId(layerId);\r\n const exportLayerRef = this.exportLayer.nativeElement.getComponentReference();\r\n const buttonClass = target.className\r\n .replace('dropdown-link', '')\r\n .replace('btn btn-transparent icon-ui-filter', '')\r\n .trim().toLowerCase();\r\n\r\n switch (buttonClass) {\r\n case 'copy-option':\r\n this.utilsService.mcMap.LayerService.copyEsriLayer(esriLayer);\r\n break;\r\n case 'export-excel-option':\r\n exportLayerRef.layerId = esriLayer.mapcoreProps.parentId;\r\n const exportExcelParams = { layerId: esriLayer.mapcoreProps.parentId, query: esriLayer.mapcoreProps.query };\r\n exportLayerRef.ExportService.exportToExcelAndOpenUrl(exportExcelParams);\r\n break;\r\n case 'filter-option':\r\n this.layerFilterContainer.nativeElement.layerId = null; //Force a reset of the layerId\r\n this.layerFilterContainer.nativeElement.layerId = layerId;\r\n this.layerFilterContainerWindow.nativeElement.open();\r\n break;\r\n case 'data-table-option':\r\n this.dataTable.nativeElement.mapcoreProps = { ...esriLayer.mapcoreProps };\r\n \r\n if (esriLayer.mapcoreProps && esriLayer.mapcoreProps.parentId === environment.billboardLayerId) {\r\n this.presetBillBoardColumnSettings();\r\n }\r\n this.dataTable.nativeElement.opened = true;\r\n break;\r\n case 'delete-option':\r\n this.mapRef.nativeElement.map.remove(esriLayer);\r\n break;\r\n case 'zoom-option':\r\n this.mapRef.nativeElement.zoomToLayer(layerId);\r\n break;\r\n case 'details':\r\n target.dispatchEvent(new CustomEvent('opendetails', { bubbles: true, cancelable: true }));\r\n break;\r\n default:\r\n break;\r\n }\r\n this.legendOptionsService.dropdownToggle(event.target as HTMLElement, event as any, true);\r\n }\r\n\r\n optionsAttached(event: CustomEvent<{ target: HTMLElement, layerId: string }>) {\r\n this.legendOptionsService.optionsAttached(event);\r\n }\r\n\r\n toggleLegend() {\r\n this.legendClosed = !this.legendClosed;\r\n }\r\n\r\n watchZoomLevel() {\r\n this.showAlertIfZoomIsTooLow();\r\n this.utilsService.esriMapView.watch('zoom', () => {\r\n this.refreshMinScaleOnLayers();\r\n this.showAlertIfZoomIsTooLow();\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n watchLayersAdded() {\r\n this.utilsService.mcMap.LayerService.mapLayersSub.subscribe(layers => {\r\n this.applyToolTips();\r\n this.refreshMinScaleOnLayers();\r\n this.adjustColumns();\r\n });\r\n }\r\n\r\n setupIdentify() {\r\n const loadingIdentifyKey = 'Loading Identify';\r\n this.utilsService.esriMapView.on('click', (event) => {\r\n if (this.identify.nativeElement.showIdentify) {\r\n this.loadingService.add(loadingIdentifyKey);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n });\r\n this.identify.nativeElement.addEventListener('featureUpdated', (event) => {\r\n this.loadingService.remove(loadingIdentifyKey);\r\n });\r\n this.identify.nativeElement.addEventListener('status', status => {\r\n });\r\n this.utilsService.identify = this.identify;\r\n }\r\n\r\n setupTooltip() {\r\n this.utilsService.tooltip = this.tooltip;\r\n }\r\n\r\n refreshMinScaleOnLayers() {\r\n for (const layer of this.utilsService.mapLayers) {\r\n layer.minScale = environment.minScale;\r\n }\r\n }\r\n\r\n applyToolTips() {\r\n for (const layer of this.utilsService.mapLayers) {\r\n const showTooltips = layer.mapcoreProps && layer.mapcoreProps.parentId === environment.billboardLayerId;\r\n if (layer.allSublayers && layer.allSublayers.items && layer.allSublayers.items.length) {\r\n if (layer.allSublayers.items[0].popupTemplate && !showTooltips) {\r\n layer.allSublayers.items[0].popupTemplate = null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n adjustColumns() {\r\n // This code is temporary, and can be removed when the Mapcore API Bug 16201 is moved to production.\r\n // Typically the column list for a layer is controlled from the layer's columnList field in the database.\r\n const removalList = ['STATUS_CODE','STATUS_DATE', 'STATUS_VALUE'];\r\n for (const layer of this.utilsService.mapLayers) {\r\n if (layer.mapcoreProps && layer.mapcoreProps.columns) {\r\n layer.mapcoreProps.columns = layer.mapcoreProps.columns.filter(x => removalList.indexOf(x.name) < 0);\r\n }\r\n }\r\n }\r\n\r\n showAlertIfZoomIsTooLow() {\r\n if (this.utilsService.esriMap.layers && this.utilsService.esriMapView.scale) {\r\n if (this.currentScaleIsGreaterThanMinScale) {\r\n this.addZoomInApplicatonMessage();\r\n } else {\r\n this.warnAboutZoom = true;\r\n this.clearApplicationMessages();\r\n }\r\n }\r\n }\r\n\r\n watchMapUpdating() {\r\n this.utilsService.esriMapView.watch('updating', () => {\r\n const key = 'Map View Updating';\r\n if (this.utilsService.esriMapView.updating) {\r\n this.loadingService.add(key);\r\n } else {\r\n this.loadingService.remove(key);\r\n }\r\n this.changeDetectorRef.detectChanges();\r\n });\r\n }\r\n\r\n featureUpdated($event) {\r\n this.currentFeature = $event.detail;\r\n }\r\n\r\n docSourcesUpdated($event) {\r\n this.currentDocSources = $event.detail;\r\n document.body.click(); // needed to avoid change detection issue.\r\n }\r\n\r\n addZoomInApplicatonMessage() {\r\n setTimeout(() => {\r\n if (this.warnAboutZoom && this.currentScaleIsGreaterThanMinScale) {\r\n this.utilsService.addMessage('Zoom in to display layers');\r\n this.warnAboutZoom = false;\r\n }\r\n }, 100); // Timeout is required so this does not appear for newly loaded maps.\r\n }\r\n\r\n clearApplicationMessages() {\r\n this.applicationMessages.nativeElement.activeNotifications = [];\r\n setTimeout(() => {\r\n this.changeDetectorRef.detectChanges();\r\n }, 100);// Timeout is required for change detection to be applied properly\r\n }\r\n\r\n largerImageRequest($event) {\r\n if (this.currentDocSources) {\r\n this.galleryWindow.nativeElement.open();\r\n const permitNumber = this.currentFeature.attributes.filter(x => x.columnName === 'PERMIT_NUMBER')[0].value;\r\n const imageSources = this.currentFeature.attributes\r\n .filter(a => a.isUrl)\r\n .map(a => ({\r\n url: a.value,\r\n title: 'Permit Number: ' + permitNumber,\r\n description: \"\"\r\n }));\r\n this.gallery.nativeElement.currentImageIndex = imageSources.findIndex(i => $event.detail[0].url == i.url);\r\n this.gallery.nativeElement.imageSources = imageSources;\r\n } else {\r\n this.utilsService.addMessage(\"Photos not found to load the gallery\");\r\n }\r\n }\r\n\r\n}\r\n\r\n","\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n
\r\n The HBMS mapping tool is a web based interactive map solution using PennDOT’s Geographic Information\r\n System that is made available to assist applicants in applying for outdoor advertising device permits.\r\n This application shows state routes made part of the Interstate System and Primary System as defined\r\n under the Outdoor Advertising Control Act of 1971 (Act), and highways designated as Scenic Byways. This\r\n application also shows existing billboards as clickable points that display information from the\r\n billboard’s permit file. While PennDOT makes every effort to provide accurate information in this\r\n application, PennDOT makes no representations with regard to the accuracy or currency of the data and\r\n such data is subject to independent verification by PennDOT permitting staff. The user should not rely\r\n solely upon this data when applying for a permit to erect an outdoor advertising device under the Act.\r\n If you have any questions regarding the information provided in the HBMS mapping tool, please contact\r\n the district Highway Beautification Manager.\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

Select a filter option for each layer.

\r\n
\r\n {{layer.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 \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
","import { BrowserModule } from '@angular/platform-browser';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';\r\nimport { HttpClient, HttpClientModule } from '@angular/common/http';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { AoiComponent } from './components/aoi/aoi.component';\r\n\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { ToolsComponent } from './components/tools/tools.component';\r\n\r\nimport { Basemaps } from './services/basemaps';\r\nimport { Http2Service } from './services/http2.service';\r\nimport { LoadingService } from './services/loading.service';\r\nimport { LegendOptionsService } from './services/legend-options.service';\r\nimport { UtilsService } from './services/utils.service';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n AoiComponent,\r\n HeaderComponent, \r\n ToolsComponent\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n FormsModule\r\n ],\r\n providers: [Basemaps, Http2Service, HttpClient, LegendOptionsService, LoadingService, UtilsService],\r\n bootstrap: [AppComponent],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA,\r\n NO_ERRORS_SCHEMA\r\n ]\r\n})\r\nexport class AppModule { }\r\n","import { ChangeDetectorRef, Component, ViewChild, ElementRef, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\nimport { UtilsService } from 'src/app/services/utils.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { LoadingService } from '../../services/loading.service';\r\n@Component({\r\n selector: 'app-aoi',\r\n templateUrl: './aoi.component.html',\r\n styleUrls: ['./aoi.component.css']\r\n})\r\n\r\nexport class AoiComponent implements AfterViewInit {\r\n @ViewChild('stateTab') private readonly stateTab: ElementRef;\r\n @ViewChild('regionTab') private readonly regionTab: ElementRef;\r\n @ViewChild('routeTab') private readonly routeTab: ElementRef;\r\n @ViewChild('assetIdTab') private readonly assetIdTab: ElementRef;\r\n @ViewChild('addressTab') private readonly addressTab: ElementRef;\r\n @ViewChild('latLongTab') private readonly latLongTab: ElementRef;\r\n @ViewChild('intersectionTab') private readonly intersectionTab: ElementRef;\r\n @ViewChild('mapPicker') private readonly mapPicker: ElementRef;\r\n\r\n @Input() mapRef: any;\r\n\r\n @Output('done') done: EventEmitter = new EventEmitter();\r\n\r\n @Input() loggedIn = true;\r\n @Output('shouldLogIn') shouldLogIn: EventEmitter = new EventEmitter();\r\n\r\n isLoading: boolean;\r\n\r\n hasExistingLayers: boolean;\r\n useExistingMap: boolean;\r\n\r\n aoiTabs = [\r\n { name: \"State\" },\r\n { name: \"Region\", active: true },\r\n { name: \"Route\" },\r\n { name: \"Asset Id\" },\r\n { name: \"Address\" },\r\n { name: \"Lat/Long\" }\r\n ];\r\n\r\n activeTab: any;\r\n aoiService: any;\r\n layerService: any;\r\n mapService: any;\r\n\r\n assetIdProperties = 'samples,bridges,permitNums,permitApps,mpmsprojects,tmsSite,billboardIds';\r\n\r\n constructor(private loadingService: LoadingService,\r\n private utilsService: UtilsService,\r\n private changeDetectorRef: ChangeDetectorRef) {\r\n window.addEventListener('openAoi', (e: CustomEvent) => {\r\n if (this.utilsService.mcMap.DeepLinkService.deepLinkParamIsPresent()) {\r\n this.generateMap(true);\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.aoiService = this.stateTab.nativeElement.AoiService;\r\n this.layerService = this.mapRef.LayerService;\r\n this.mapService = this.mapRef.MapService;\r\n\r\n this.activeTab = this.regionTab;\r\n this.assetIdTab.nativeElement.config = environment.aoiSettings.assetIdConfig;\r\n this.assetIdTab.nativeElement.properties = this.assetIdProperties;\r\n\r\n this.mapPicker.nativeElement.config = environment.aoiSettings.mapPickerConfig;\r\n\r\n this.layerService.mapLayersSub.subscribe(layers => {\r\n if (layers) {\r\n this.hasExistingLayers = (Object.values(layers) as any).flat().length > 0 ? true : false;\r\n this.useExistingMap = this.hasExistingLayers;\r\n }\r\n });\r\n }\r\n\r\n activateTab() {\r\n this.activeTab.nativeElement.activate();\r\n }\r\n\r\n onTabChange(event) {\r\n switch (event.detail.name) {\r\n case 'State':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.stateTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Region':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.regionTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Route':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.routeTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Asset Id':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.assetIdTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Address':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.addressTab;\r\n this.activateTab();\r\n break;\r\n\r\n case 'Lat/Long':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.latLongTab;\r\n this.activateTab();\r\n break;\r\n case 'Intersection':\r\n this.aoiService.clearSearchCriterias();\r\n this.activeTab = this.intersectionTab;\r\n this.activateTab();\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n existingMapChanged(event) {\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n private async loadMap() {\r\n const map = this.getMapFromPicker();\r\n if (map) {\r\n await this.mapService.openMap(map, true);\r\n } else {\r\n await this.mapService.resetMap();\r\n }\r\n }\r\n\r\n public async generateMap(deepLinkProcessed: boolean = false) {\r\n const loadingIdentifyKey = 'generateMap';\r\n this.loadingService.add(loadingIdentifyKey);\r\n this.closeAoiTool();\r\n try {\r\n let visibleLayerIds = this.getVisibleLayerIdsFromMap();\r\n if (deepLinkProcessed || !this.useExistingMap) {\r\n await this.loadMap();\r\n }\r\n this.activeTab.nativeElement.addResultToMap();\r\n const result = await this.aoiService.showBySearchCriterias();\r\n if (visibleLayerIds.length > 0) {\r\n this.aoiService.turnOnLayerIds(visibleLayerIds);\r\n }\r\n if (deepLinkProcessed) {\r\n // Move the point of interest above the AOI layers\r\n const layer = this.layerService.mapView.map.layers.items[0];\r\n\r\n window.requestAnimationFrame(() => {\r\n this.layerService.moveLayerToTheTop(layer);\r\n });\r\n }\r\n return result;\r\n } finally {\r\n this.loadingService.remove(loadingIdentifyKey);\r\n }\r\n }\r\n\r\n getMapFromPicker() {\r\n const map = this.mapPicker.nativeElement.map;\r\n if (map && map.data) {\r\n return map;\r\n }\r\n return null;\r\n }\r\n\r\n getMapData() {\r\n const map = this.getMapFromPicker();\r\n if (map && map.data) {\r\n return JSON.parse(map.data);\r\n }\r\n return null\r\n }\r\n\r\n getVisibleLayerIdsFromMap() {\r\n const mapData = this.getMapData();\r\n if (mapData) {\r\n if (mapData && mapData.layers) {\r\n return mapData.layers.filter(x => x.id && (x.visible || x.visible === undefined)).map(x => x.id);\r\n }\r\n }\r\n return [];\r\n }\r\n\r\n closeAoiTool() {\r\n this.done.emit(true);\r\n }\r\n\r\n login(e: MouseEvent) {\r\n this.shouldLogIn.emit(e);\r\n }\r\n}\r\n","
\r\n Step 1.Choose area of interest\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Step 2.\r\n \r\n Select a map template\r\n
\r\n \r\n
\r\n\r\n\r\n","import { AfterViewInit, Component, ElementRef, ViewChild } from '@angular/core';\r\n\r\nimport { UtilsService } from '../../services/utils.service';\r\nimport { AoiComponent } from '../aoi/aoi.component';\r\nimport { environment } from '../../../environments/environment';\r\nimport { ToolsComponent } from '../tools/tools.component';\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 AfterViewInit {\r\n\r\n @ViewChild('aboutWindow') private readonly aboutWindow: ElementRef;\r\n @ViewChild('aoi') private aoi: AoiComponent;\r\n @ViewChild('aoiWindow') private aoiWindow: ElementRef;\r\n @ViewChild('search') private readonly search: ElementRef;\r\n @ViewChild('tools') private tools: ToolsComponent;\r\n\r\n constructor(\r\n private utilsService: UtilsService\r\n ) { }\r\n\r\n ngAfterViewInit() {\r\n this.search.nativeElement.excludeTypes = ['map'];\r\n this.search.nativeElement.filterLayersBeforeAdd = true;\r\n this.utilsService.aoi = this.aoi;\r\n this.utilsService.aoiWindow = this.aoiWindow;\r\n this.aoi.done.subscribe(_ => this.closeAoi());\r\n }\r\n\r\n get rootUrl() {\r\n return this.utilsService.getRootUrl();\r\n }\r\n\r\n get imagePath() {\r\n let path = '';\r\n if (this.rootUrl) {\r\n path = this.rootUrl;\r\n }\r\n if (!environment.dotNetCore) {\r\n path += '/wwwroot';\r\n }\r\n return path + '/assets/images';\r\n }\r\n\r\n get mcMap() {\r\n return this.utilsService.mcMap;\r\n }\r\n\r\n\r\n get version(): string {\r\n return environment.version;\r\n }\r\n\r\n openAbout() {\r\n this.aboutWindow.nativeElement.open();\r\n }\r\n\r\n openAoi() {\r\n this.utilsService.openAoi();\r\n }\r\n\r\n closeAbout() {\r\n this.aboutWindow.nativeElement.close();\r\n }\r\n\r\n closeAoi() {\r\n this.aoiWindow.nativeElement.close();\r\n }\r\n\r\n toggleTools() {\r\n this.tools.visible = !(this.tools).visible;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \"PennDOT\r\n

Highway Beautification Management System

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

Highway Beautification Management System (HBMS)

\r\n
Version: {{ version }}
\r\n

The Highway Beautification Management System (HBMS) is PennDOT's system to record outdoor advertising\r\n permits along controlled routes, which fall under the National System of Interstate Highways, the\r\n Federal-Aid Primary Highway System as these existed on June 1,1991, and/or the National Highway System\r\n (NHS), including the additional NHS controlled miles as amended by MAP 21. The HBMS Mapping Tool is a\r\n web based interactive map solution that is open, via the internet, to the public and PennDOT Department\r\n staff. The application shows permitted structures as interactive points that display information about\r\n the advertising device.\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
","import { AfterContentInit, ChangeDetectorRef, Component, ElementRef, Input, ViewChild } from '@angular/core';\r\nimport { UtilsService } from '../../services/utils.service';\r\n\r\n@Component({\r\n selector: 'app-tools',\r\n templateUrl: './tools.component.html',\r\n styleUrls: ['./tools.component.css']\r\n})\r\nexport class ToolsComponent implements AfterContentInit {\r\n\r\n @ViewChild('area') private areaRef: ElementRef;\r\n @ViewChild('distance') private distanceRef: ElementRef;\r\n @ViewChild('coordinates') private coordinatesRef: ElementRef;\r\n @ViewChild('calloutTool') private calloutTool: ElementRef;\r\n @ViewChild('calloutToolWindow') private calloutToolWindow: ElementRef;\r\n @ViewChild('measureToolsWindow') private measureToolsWindow: ElementRef;\r\n @ViewChild('print') private readonly print: ElementRef;\r\n @ViewChild('printWindow') private readonly printWindow: ElementRef;\r\n @ViewChild('streetViewWindow') private streetViewWindow: ElementRef;\r\n @ViewChild('videoLogWindow') private videoLogWindow: ElementRef;\r\n @ViewChild('tabs') private tabsRef: ElementRef;\r\n\r\n @Input() visible: boolean;\r\n streetViewInitialized: boolean;\r\n videoLogInitialized: boolean;\r\n zoomOnPositionChange : boolean = false;\r\n markerSymbol = {\r\n type: 'simple-marker',\r\n style: 'circle',\r\n outline: {\r\n width: 2,\r\n color: 'red'\r\n }\r\n };\r\n constructor(\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private utilsService: UtilsService,\r\n ) { }\r\n\r\n ngAfterContentInit() {\r\n this.closeToolsOnClick();\r\n }\r\n\r\n get tooltipsTextOnOrOff(): string {\r\n const tooltipEnabled = this.utilsService.tooltip && this.utilsService.tooltip.nativeElement.tooltipEnabled;\r\n return tooltipEnabled ? 'Off' : 'On';\r\n }\r\n\r\n closeToolsOnClick() {\r\n const body = document.getElementsByTagName('body')[0];\r\n body.addEventListener('click', (e: any) => {\r\n const pathClases = e.path.map(x => x.className);\r\n if (pathClases.indexOf('btn tools') < 0) {\r\n this.visible = false;\r\n }\r\n });\r\n }\r\n\r\n onCalloutBoxWindowOpenChange(e) {\r\n if (!e.detail) {\r\n (this.calloutTool).nativeElement.active = false;\r\n this.utilsService.identify.nativeElement.activate();\r\n }\r\n }\r\n\r\n onMeasureToolWindowOpenChange(e) {\r\n if (!e.detail) {\r\n this.areaRef.nativeElement.active = false;\r\n this.distanceRef.nativeElement.active = false;\r\n this.coordinatesRef.nativeElement.active = false;\r\n this.utilsService.identify.nativeElement.activate();\r\n (this.measureToolsWindow).nativeElement.active = false;\r\n }\r\n }\r\n\r\n onMeasureToolsTabChanged(e) {\r\n const refs = {\r\n 'Area': this.areaRef,\r\n 'Coordinates': this.coordinatesRef,\r\n 'Distance': this.distanceRef\r\n };\r\n for (const ref of Object.keys(refs)) {\r\n refs[ref].nativeElement.active = ref === e.detail.name;\r\n }\r\n }\r\n\r\n onPrintWindowOpenChange(e) {\r\n if (!e.detail) {\r\n this.utilsService.identify.nativeElement.activate();\r\n (this.print).nativeElement.active = false;\r\n }\r\n }\r\n\r\n onStreetViewWindowOpenChange(e) {\r\n if (!e.detail) {\r\n (this.streetViewWindow).nativeElement.active = false;\r\n }\r\n }\r\n\r\n onVideoLogWindowOpenChange(e) {\r\n if (!e.detail) {\r\n (this.videoLogWindow).nativeElement.active = false;\r\n }\r\n }\r\n\r\n openCalloutBox() {\r\n this.utilsService.identify.nativeElement.deactivate();\r\n this.calloutToolWindow.nativeElement.open();\r\n (this.calloutTool).nativeElement.active = true;\r\n }\r\n\r\n openMeasureTools() {\r\n this.utilsService.identify.nativeElement.deactivate();\r\n this.measureToolsWindow.nativeElement.open();\r\n this.tabsRef.nativeElement.activateTab('Distance');\r\n this.distanceRef.nativeElement.active = true;\r\n }\r\n\r\n openPrint() {\r\n this.utilsService.identify.nativeElement.deactivate();\r\n this.printWindow.nativeElement.open();\r\n this.print.nativeElement.active = true;\r\n }\r\n\r\n openStreetView() {\r\n if (!this.streetViewInitialized) {\r\n const streetView: any = document.getElementById('streetView');\r\n const latLongSelect: any = document.getElementById('latLongSelect');\r\n const rmsSelect: any = document.getElementById('rmsSelect');\r\n\r\n this.streetViewWindow.nativeElement.addEventListener('openChange', e => {\r\n streetView.active = e.detail;\r\n });\r\n\r\n streetView.addEventListener('positionChange', (position) => {\r\n latLongSelect.setAttribute('lat', position.detail.latitude);\r\n latLongSelect.setAttribute('long', position.detail.longitude);\r\n rmsSelect.position = position.detail;\r\n });\r\n\r\n latLongSelect.addEventListener('latChange', (lat) => {\r\n streetView.setAttribute('lat', lat.detail);\r\n });\r\n\r\n latLongSelect.addEventListener('longChange', (long) => {\r\n streetView.setAttribute('long', long.detail);\r\n });\r\n\r\n rmsSelect.addEventListener('rmsChange', (rms) => {\r\n streetView.setRms(rms.detail);\r\n });\r\n }\r\n this.streetViewWindow.nativeElement.open();\r\n }\r\n\r\n openVideoLog() {\r\n this.zoomOnPositionChange = false;\r\n if (!this.videoLogInitialized) {\r\n const videoLog: any = document.getElementById('videoLog');\r\n this.utilsService.videoLogWindow = this.videoLogWindow;\r\n this.videoLogWindow.nativeElement.addEventListener('openChange', e => {\r\n videoLog.active = e.detail;\r\n });\r\n this.videoLogInitialized = true;\r\n }\r\n this.videoLogWindow.nativeElement.open();\r\n }\r\n toggleTooltips() {\r\n this.utilsService.tooltip.nativeElement.tooltipEnabled = !this.utilsService.tooltip.nativeElement.tooltipEnabled;\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n\r\n\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class Basemaps {\r\n basemapList = 'terrain,streets,satellite,hybrid,topo,national-geographic,gray-vector,osm';\r\n defaultBasemap = {\r\n 'tileUrl': 'https://gis.penndot.gov/gis/rest/services/basemaps/penndotbasemap/MapServer/tile',\r\n 'thumbnailTile': '/7/48/36',\r\n 'tileTemplate': '/{level}/{row}/{col}',\r\n 'title': 'PennDOT'\r\n };\r\n basemapConfigs: any[] = [\r\n {\r\n \"tileUrl\": \"https://services.arcgisonline.com/ArcGIS/rest/services/Elevation/World_Hillshade/MapServer/tile\",\r\n \"thumbnailTile\": \"/15/12358/9365\",\r\n \"tileTemplate\": \"/{level}/{row}/{col}\",\r\n \"title\": \"Elevation\"\r\n },\r\n {\r\n \"tileUrl\": \"https://services.arcgisonline.com/arcgis/rest/services/USA_Topo_Maps/MapServer/tile\",\r\n \"thumbnailTile\": \"/7/48/36\",\r\n \"tileTemplate\": \"/{level}/{row}/{col}\",\r\n \"title\": \"Topographic DRG\"\r\n }\r\n ];\r\n}","import { HttpClient, HttpClientModule } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { environment } from '../../environments/environment';\r\nimport { element } from 'protractor';\r\n\r\n@Injectable()\r\nexport class Http2Service {\r\n constructor(private readonly httpClient: HttpClient) {\r\n }\r\n\r\n private readonly tQuery = 'query';\r\n private readonly tMutation = 'mutation';\r\n private rootUrl: string; \r\n\r\n get url() {\r\n return this.rootUrl;\r\n }\r\n\r\n /**\r\n * Perform any request type\r\n */\r\n request(url: string, config: IHttp2RequestConfig): Promise {\r\n if (config.body) {\r\n config.body = JSON.stringify(config.body);\r\n }\r\n config = {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n params: {},\r\n ...config\r\n };\r\n\r\n // let token = this.tokenStorage.getToken();\r\n // if (token) {\r\n // config.headers = Object.assign({}, config.headers, {\r\n // 'X-Auth-Token': token\r\n // });\r\n\r\n // //Include the token as a querystring parameter. This is only for debugging purposes\r\n // if (this.appSettings.includeTokenInQuerystring) {\r\n // config.params.AuthToken = token;\r\n // }\r\n // }\r\n\r\n url = this.rootUrl ? this.rootUrl + url : url;\r\n if (url.indexOf('?') > 0) {\r\n url = url + '&';\r\n } else {\r\n url = url + '?';\r\n }\r\n // Send pdauthAppName\r\n url = url + `pdauthAppName=${environment.pdauthAppName}`;\r\n if (environment.pdauthToken) {\r\n //Send PDAuth token, used for developing locally \r\n url = url + `&token=${environment.pdauthToken}`;\r\n }\r\n\r\n // remove any trailing slash from the url\r\n if (url.lastIndexOf('/') === url.length - 1) {\r\n url = url.substring(0, url.length - 1);\r\n }\r\n\r\n return this.httpClient.request(config.method, url, config).toPromise().then(result => {\r\n return result;\r\n }, errorResponse => {\r\n return Promise.reject(errorResponse.error);\r\n });\r\n }\r\n /**\r\n * Perform a GET graphql query\r\n * @param query GraphQL query\r\n * @param variables variables to be inserted into query\r\n * @param method \"GET\" | \"POST\" | \"PUT\" | \"DELETE\"\r\n * @param dataPath retrieves the data at the specified named path.\r\n */\r\n async graphqlRequest(query: string, variables: any, method: Method = 'GET', dataPath: string = null) {\r\n let queryName: string;\r\n const type = query.trim().toLowerCase().startsWith(this.tQuery) ? this.tQuery : this.tMutation;\r\n if (type === this.tQuery) {\r\n // find the query name from the query and use that in the querystring to help with debugging to distinguish this request\r\n queryName = query.substring(query.indexOf(this.tQuery) + this.tQuery.length, query.indexOf('{')).trim();\r\n } else {\r\n queryName = query.substring(query.indexOf(this.tMutation) + this.tMutation.length, query.indexOf('(')).trim();\r\n }\r\n // remove any excess whitespace from the query only for GET requests since this is passed on the URL\r\n if (method === 'GET') {\r\n query = this.graphqlTrim(query);\r\n }\r\n let response: { data: any };\r\n\r\n try {\r\n response = await this.request<{ data: any }>(`graphql?${queryName}`, {\r\n body: method !== 'GET' ? {\r\n query,\r\n variables\r\n } : undefined,\r\n method,\r\n params: method === 'GET' ? {\r\n query,\r\n variables: JSON.stringify(variables)\r\n } : undefined\r\n });\r\n } catch (e) {\r\n if (e && !e.message && e.errors && e.errors[0]) {\r\n e.message = e.errors[0].message;\r\n }\r\n throw e;\r\n }\r\n if (!dataPath) {\r\n return response.data;\r\n } else {\r\n const parts = dataPath.split('.');\r\n let result = response.data;\r\n for (const part of parts) {\r\n result = result[part];\r\n }\r\n return result;\r\n }\r\n }\r\n private graphqlTrim(text: string) {\r\n text = text.replace(/\\s+/g, ' ');\r\n return text;\r\n }\r\n\r\n get(url: string, params?: any, config?: any): Promise {\r\n const cfg = {\r\n ...config,\r\n method: 'GET',\r\n params\r\n };\r\n\r\n return this.request(url, cfg);\r\n }\r\n\r\n post(url: string, body?: any, config?: any): Promise {\r\n const cfg = {\r\n body,\r\n method: 'POST',\r\n ...config\r\n };\r\n return this.request(url, cfg);\r\n }\r\n\r\n put(url: string, body?: any, config?: any): Promise {\r\n const cfg = {\r\n body,\r\n method: 'PUT',\r\n ...config\r\n };\r\n\r\n return this.request(url, cfg);\r\n }\r\n\r\n delete(url: string, body?: any, config?: any): Promise {\r\n const cfg = {\r\n body,\r\n method: 'DELETE',\r\n ...config\r\n };\r\n return this.request(url, cfg);\r\n }\r\n}\r\n\r\nexport interface IHttp2RequestConfig {\r\n body?: any;\r\n headers?: { [key: string]: any };\r\n method?: Method;\r\n params?: { [key: string]: any };\r\n}\r\nexport type Method = 'GET' | 'POST' | 'PUT' | 'DELETE';\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { UtilsService } from '../services/utils.service';\r\n\r\n@Injectable()\r\nexport class LegendOptionsService {\r\n\r\n constructor(\r\n private readonly utilsService: UtilsService\r\n ) { }\r\n\r\n optionsAttached(event: CustomEvent<{ target: HTMLElement, layerId: string }>) {\r\n let compScope = this;\r\n event.detail.target.getElementsByClassName('layer-options-button')[0].addEventListener('click', function (event) { compScope.dropdownToggle(this, event as MouseEvent); });\r\n\r\n const esriLayer = this.utilsService.esriMap.findLayerById(event.detail.layerId);\r\n let removeClasses;\r\n switch (esriLayer.type) {\r\n case 'graphics':\r\n removeClasses = ['buffer-layer-option', 'copy-option', 'data-table-option', 'export-shapefile-option',\r\n 'export-excel-option', 'filter-option', 'labels-option',\r\n 'spatial-query-option', 'theme-editor-option', 'details'];\r\n break;\r\n case 'feature':\r\n removeClasses = ['buffer-layer-option', 'copy-option', 'data-table-option', 'export-shapefile-option',\r\n 'export-excel-option', 'filter-option', 'labels-option',\r\n 'spatial-query-option', 'theme-editor-option'];\r\n break;\r\n case 'map-image':\r\n removeClasses = ['remove-all'];\r\n }\r\n if (removeClasses) {\r\n for (const cls of removeClasses) {\r\n const els = event.detail.target.getElementsByClassName(cls);\r\n if (els && els.length) {\r\n Array.from(els).forEach(el => el.remove());\r\n }\r\n }\r\n }\r\n }\r\n\r\n dropdownToggle(target: HTMLElement, event: MouseEvent, forceClose?: boolean) {\r\n let drop = target.parentElement.getElementsByClassName('dropdown-menu')[0] as HTMLElement;\r\n if (drop) {\r\n let currentDisplay = drop.style.display;\r\n drop.style.display = currentDisplay === 'block' || forceClose ? '' : 'block';\r\n drop.style.bottom = this.shouldDropUp(drop) ? '25px' : null;\r\n }\r\n const restClickListener = (e: MouseEvent) => {\r\n if (!(e.target as HTMLElement).classList.contains('dropdown-link')) {\r\n this.dropdownToggle(target, e, true);\r\n window.removeEventListener('click', restClickListener);\r\n }\r\n };\r\n event.stopPropagation();\r\n if (drop.style.display === 'block') {\r\n window.addEventListener('click', restClickListener);\r\n } else {\r\n window.removeEventListener('click', restClickListener);\r\n }\r\n }\r\n\r\n shouldDropUp(drop: HTMLElement) {\r\n let parent = drop.offsetParent as HTMLElement;\r\n let i = 0;\r\n while ((!parent || !parent.classList.contains('side-nav')) && i < 5) {\r\n i++;\r\n if (parent) {\r\n parent = parent.offsetParent as HTMLElement;\r\n } else {\r\n break;\r\n }\r\n }\r\n let retVal = false;\r\n if (parent) {\r\n parent = parent.getElementsByClassName('legend-area')[0] as HTMLElement;\r\n let dropRect = drop.getBoundingClientRect();\r\n let parentRect = parent.getBoundingClientRect();\r\n const dropRectTop = dropRect.top - parentRect.top;\r\n if (dropRectTop > dropRect.height && dropRect.bottom > parentRect.height) {\r\n retVal = true;\r\n }\r\n }\r\n return retVal;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class LoadingService {\r\n\r\n keys: string[] = [];\r\n\r\n get show(): boolean {\r\n return this.keys.length > 0;\r\n }\r\n\r\n add(key: string) {\r\n if (this.keys.indexOf(key) < 0) {\r\n this.keys.push(key);\r\n }\r\n }\r\n\r\n dismiss() {\r\n this.keys.length = 0;\r\n }\r\n\r\n remove(key: string) {\r\n for (var i = this.keys.length - 1; i >= 0; i--) {\r\n if (this.keys[i] === key) {\r\n this.keys.splice(i, 1);\r\n }\r\n }\r\n }\r\n}","import { ElementRef, Injectable } from '@angular/core';\r\nimport { Http2Service } from '../services/http2.service';\r\nimport { environment } from '../../environments/environment';\r\nimport { IEsriLayer } from './../models';\r\nimport { AoiComponent } from './../components/aoi/aoi.component';\r\n\r\n@Injectable()\r\nexport class UtilsService {\r\n\r\n identify: any = null;\r\n aoi: AoiComponent;\r\n aoiWindow: ElementRef;\r\n tooltip: any;\r\n videoLogWindow: ElementRef;\r\n\r\n constructor(\r\n private readonly http2Service: Http2Service\r\n ) { }\r\n\r\n get mcAuth(): any {\r\n return document.getElementById('mc-auth');\r\n }\r\n\r\n get mcMap(): any {\r\n return document.getElementById('mc-map');\r\n }\r\n\r\n get esriMap(): any {\r\n var mcMap = document.getElementById('mc-map');\r\n return (mcMap).map;\r\n }\r\n\r\n get esriMapView(): any {\r\n var mcMap = document.getElementById('mc-map');\r\n return (mcMap).mapView;\r\n }\r\n\r\n get mapService(): any {\r\n return this.mcMap.MapService;\r\n }\r\n\r\n get mapLayers(): any[] {\r\n const mapLayers: any[] = [];\r\n for (const layer of this.mcMap.map.layers.toArray() as any[]) {\r\n if (layer.type === 'group' && Symbol.iterator in Object(layer.layers)) {\r\n for (const sub of layer.layers) {\r\n mapLayers.push(sub);\r\n }\r\n } else {\r\n mapLayers.push(layer);\r\n }\r\n }\r\n return mapLayers;\r\n }\r\n\r\n openAoi() {\r\n this.aoi.activateTab();\r\n this.aoiWindow.nativeElement.open();\r\n }\r\n\r\n getLayerByUniqueId(layerId: any): IEsriLayer {\r\n return this.mapLayers.filter(l => l.id === layerId)[0];\r\n }\r\n\r\n getRootUrl() {\r\n const appRootUrl = '/' + environment.pdauthAppName.toLowerCase();\r\n if (window.location.href.indexOf(appRootUrl) >= 0) {\r\n return appRootUrl;\r\n }\r\n return '';\r\n }\r\n\r\n getCleanValue(value, translation) {\r\n if (value && value.split !== undefined) {\r\n let values = value.split('-');\r\n value = values[0].trim();\r\n }\r\n return value;\r\n }\r\n\r\n getParameterByName(key, url: string = undefined) {\r\n if (!url) {\r\n url = window.location.href\r\n }\r\n key = key.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + key + '(=([^&#]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n }\r\n\r\n addMessage(message: string) {\r\n let applicationMessage = new CustomEvent('applicationMessage', { detail: { message: message, level: 2, isPrivate: false }, composed: true });\r\n window.dispatchEvent(applicationMessage);\r\n }\r\n\r\n httpGet(urlComponents) {\r\n var url = this.getRestUrlFromUrlComponents(urlComponents);\r\n return this.http2Service.get(url, { withCredentials: true });\r\n }\r\n\r\n httpDelete(urlComponents) {\r\n var url = this.getRestUrlFromUrlComponents(urlComponents);\r\n return this.http2Service.delete(url, { withCredentials: true });\r\n }\r\n\r\n httpPost(urlComponents: Array, data: any) {\r\n var url = this.getRestUrlFromUrlComponents(urlComponents);\r\n return this.http2Service.post(url, data, { withCredentials: true });\r\n }\r\n\r\n hex2a(hex) {\r\n var str = '';\r\n for (var i = 0; i < hex.length; i += 2)\r\n str += String.fromCharCode(parseInt(hex.substr(i, 2), 16));\r\n return str;\r\n }\r\n\r\n postMessage(name: string, dataName?: string, data?: any): void {\r\n let message: any = { 'name': name };\r\n if (dataName) {\r\n message[dataName] = data;\r\n }\r\n top.postMessage(message, '*');\r\n }\r\n\r\n async graphqlRequest(query: string, variables: any, method: string = 'GET', dataPath: string = null) {\r\n let queryName: string;\r\n let maxQueryAndVariablesLength = 1300;\r\n let tQuery = 'query';\r\n let tMutation = 'mutation';\r\n\r\n const type = query.trim().toLowerCase().indexOf(tQuery) === 0 ? tQuery : tMutation;\r\n if (method === 'GET' && (query.length + JSON.stringify(variables).length) > maxQueryAndVariablesLength) {\r\n method = 'POST';\r\n }\r\n if (type === tQuery) {\r\n // find the query name from the query and use that in the querystring to help with debugging to distinguish this request\r\n queryName = query.substring(query.indexOf(tQuery) + tQuery.length, query.indexOf('{')).trim();\r\n } else {\r\n queryName = query.substring(query.indexOf(tMutation) + tMutation.length, query.indexOf('(')).trim();\r\n }\r\n // remove any excess whitespace from the query only for GET requests since this is passed on the URL\r\n if (method === 'GET') {\r\n query = this.graphqlTrim(query);\r\n }\r\n let response: any = {};\r\n\r\n try {\r\n var graphQLBaseUrl = environment.mapcoreApi + '/graphql';\r\n response = await this.request<{ data: any }>(`${graphQLBaseUrl}?${queryName}&pdauthAppName=${environment.pdauthAppName}`, {\r\n body: method !== 'GET' ? {\r\n query,\r\n variables\r\n } : undefined,\r\n method,\r\n params: method === 'GET' ? {\r\n query,\r\n variables: JSON.stringify(variables)\r\n } : undefined\r\n });\r\n } catch (e) {\r\n if (e && !e.message && e.errors && e.errors[0]) {\r\n e.message = e.errors[0].message;\r\n }\r\n throw e;\r\n }\r\n if (!dataPath) {\r\n return response.data;\r\n } else {\r\n const parts = dataPath.split('.');\r\n let result = response;\r\n if (response.data) {\r\n result = response.data;\r\n }\r\n for (const part of parts) {\r\n result = result[part];\r\n }\r\n return result;\r\n }\r\n }\r\n\r\n async request(url: string, config: any): Promise {\r\n if (config.body) {\r\n config.body = JSON.stringify(config.body);\r\n }\r\n config = {\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n params: {},\r\n ...config\r\n };\r\n\r\n // remove any trailing slash from the url\r\n if (url.lastIndexOf('/') === url.length - 1) {\r\n url = url.substring(0, url.length - 1);\r\n }\r\n\r\n if (config.method === 'GET') {\r\n url = url + '&query=' + config.params.query + '&variables=' + config.params.variables;\r\n return this.http2Service.get(url, { withCredentials: true }).then(result => {\r\n return result.data;\r\n });\r\n } else {\r\n return this.http2Service.post(url, config.body, { withCredentials: true }).then(result => {\r\n return result.data;\r\n });\r\n }\r\n }\r\n\r\n getRestUrlFromUrlComponents(urlComponents: Array) {\r\n urlComponents.forEach((component, index) => {\r\n urlComponents[index] = component.toString();\r\n });\r\n if (urlComponents[0].indexOf('//') < 0) {\r\n urlComponents.unshift(environment.appPath + '/api');\r\n }\r\n return urlComponents.join('/');\r\n }\r\n\r\n graphqlTrim(text: string) {\r\n text = text.replace(/\\s+/g, ' ');\r\n return text;\r\n }\r\n}","class Environment {\r\n static get init(): IEnvironment {\r\n const env = (window).environment || 'local';\r\n var settings = this.common;\r\n var environmentSettings = this.environments[env];\r\n for (const key of Object.keys(environmentSettings)) {\r\n settings[key] = environmentSettings[key];\r\n }\r\n return settings;\r\n }\r\n\r\n static environments: { [key: string]: IEnvironment } = {\r\n local: {\r\n appPath: '//localhost/hbms',\r\n mapcoreApi: 'https://pddvgisweb.penndot.gov/mapcore/api/'\r\n },\r\n dev: {\r\n appPath: '//pddvgisweb.penndot.gov/hbms',\r\n mapcoreApi: 'https://pddvgisweb.penndot.gov/mapcore/api/'\r\n },\r\n test: {\r\n appPath: 'https://gistest.penndot.gov/hbms',\r\n mapcoreApi: 'https://gistest.penndot.gov/mapcore/api/'\r\n },\r\n prod: {\r\n appPath: '//gis.penndot.gov/hbms',\r\n mapcoreApi: 'https://gis.penndot.gov/mapcore/api/'\r\n }\r\n };\r\n\r\n static get common(): IEnvironment {\r\n return {\r\n appId: 6,\r\n pdauthAppName: 'HBMS',\r\n appPath: 'HBMS',\r\n version: '2.0.3',\r\n minScale: 1155582,\r\n billboardLayerId: 6763,\r\n aoiSettings: {\r\n assetIdConfig: [\r\n {\r\n columnName: 'PERMIT_NUMBER',\r\n displayName: 'Permit Numbers',\r\n idType: '$stringId',\r\n propName: 'permitNums',\r\n fieldName: 'permitNum',\r\n layerId: 6763\r\n },\r\n {\r\n columnName: 'SIGN_APPL_ID',\r\n displayName: 'Application IDs',\r\n idType: \"$intId\",\r\n propName: 'billboardIds',\r\n fieldName: 'billboardId',\r\n layerId: 6763\r\n }\r\n ],\r\n mapPickerConfig: {\r\n category: 'HBMS',\r\n map: 'Billboard Map (Billboards + Controlled Routes)'\r\n }\r\n },\r\n dataTableColumnNames: ['permit_number', 'sign_appl_id', 'district_number', 'county_code', 'route_number', 'sign_classification_code', 'sign_type_code', 'status_code', 'sign_owner_name'],\r\n disclaimerDoNotAcceptUrl: 'https://www.penndot.pa.gov/',\r\n dotNetCore: true,\r\n enableProdMode: true,\r\n extentConfigs: [\r\n {\r\n toolTip: \"Statewide\",\r\n icon: \"m28.531 12.656-.187-.531-1.156-.344-.344-.562-.187-1.437-.719-.312-.094-.344-.375-.312h-20.219v-1.625l-1.656.844 .219-.312-.656.5-1.375.594-.406 13.906 20.719.094h1.719l.313-.531.5-.25.781 .156 1.375-.562.094-.437 1.75-1.312-1.187-1.437h-.25l-.25-.875-.531-.062-.031-.75v-.375l.406-.25.188-.469-.375-.75.844-.844.719-1.25z\",\r\n color: \"white\",\r\n extent: {\r\n center: [-77.6362661695295, 40.92039887644528],\r\n zoom: 8\r\n },\r\n extentType: \"static\",\r\n label: \"Statewide Extent\"\r\n },\r\n {\r\n toolTip: \"Current Area of Interest\",\r\n icon: \"icon-ui-locate\",\r\n color: \"white\",\r\n extentType: \"async-func\",\r\n label: \"AOI\"\r\n }\r\n ]\r\n };\r\n }\r\n}\r\n\r\ninterface IEnvironment {\r\n aoiSettings?: any;\r\n appId?: number;\r\n appPath?: string;\r\n billboardLayerId?: number;\r\n enableProdMode?: boolean;\r\n dataTableColumnNames?: string[];\r\n disclaimerDoNotAcceptUrl?: string;\r\n dotNetCore?: boolean;\r\n extentConfigs?: any[];\r\n pdauthAppName?: string;\r\n pdauthToken?: string;\r\n mapcoreApi?: string;\r\n minScale?: number;\r\n version?: string;\r\n}\r\n\r\ninterface IAOISettings {\r\n assetIdConfig: any;\r\n mapPickerConfig: any;\r\n}\r\n\r\nexport const environment = Environment.init;\r\n","import { ApplicationRef, 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\nimport { enableDebugTools } from '@angular/platform-browser';\r\n\r\n//platformBrowserDynamic().bootstrapModule(AppModule)\r\n//.catch(err => console.error(err));\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule).then(moduleRef => {\r\n const applicationRef = moduleRef.injector.get(ApplicationRef);\r\n const componentRef = applicationRef.components[0];\r\n // allows to run `ng.profiler.timeChangeDetection();`\r\n enableDebugTools(componentRef);\r\n}).catch(err => window['console'].error(err));\r\n\r\nif (environment.enableProdMode) {\r\n enableProdMode();\r\n}"],"sourceRoot":"webpack:///"}