{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap ca34cb0717f2ada77667","webpack:///./src/area-chart/area-chart-normalized.component.ts","webpack:///./src/area-chart/area-chart-stacked.component.ts","webpack:///./src/area-chart/area-chart.component.ts","webpack:///./src/area-chart/area-chart.module.ts","webpack:///./src/area-chart/area-series.component.ts","webpack:///./src/area-chart/index.ts","webpack:///./src/bar-chart/bar-chart.module.ts","webpack:///./src/bar-chart/bar-horizontal-2d.component.ts","webpack:///./src/bar-chart/bar-horizontal-normalized.component.ts","webpack:///./src/bar-chart/bar-horizontal-stacked.component.ts","webpack:///./src/bar-chart/bar-horizontal.component.ts","webpack:///./src/bar-chart/bar-vertical-2d.component.ts","webpack:///./src/bar-chart/bar-vertical-normalized.component.ts","webpack:///./src/bar-chart/bar-vertical-stacked.component.ts","webpack:///./src/bar-chart/bar-vertical.component.ts","webpack:///./src/bar-chart/bar.component.ts","webpack:///./src/bar-chart/index.ts","webpack:///./src/bar-chart/series-horizontal.component.ts","webpack:///./src/bar-chart/series-vertical.component.ts","webpack:///./src/common/area-tooltip.component.ts","webpack:///./src/common/area.component.ts","webpack:///./src/common/axes/axes.module.ts","webpack:///./src/common/axes/axis-label.component.ts","webpack:///./src/common/axes/ticks.helper.ts","webpack:///./src/common/axes/x-axis-ticks.component.ts","webpack:///./src/common/axes/x-axis.component.ts","webpack:///./src/common/axes/y-axis-ticks.component.ts","webpack:///./src/common/axes/y-axis.component.ts","webpack:///./src/common/base-chart.component.ts","webpack:///./src/common/chart-common.module.ts","webpack:///./src/common/charts/chart.component.ts","webpack:///./src/common/circle-series.component.ts","webpack:///./src/common/circle.component.ts","webpack:///./src/common/color.helper.ts","webpack:///./src/common/count/count.directive.ts","webpack:///./src/common/count/count.helper.ts","webpack:///./src/common/count/index.ts","webpack:///./src/common/grid-layout.helper.ts","webpack:///./src/common/grid-panel-series.component.ts","webpack:///./src/common/grid-panel.component.ts","webpack:///./src/common/index.ts","webpack:///./src/common/label.helper.ts","webpack:///./src/common/legend/advanced-legend.component.ts","webpack:///./src/common/legend/index.ts","webpack:///./src/common/legend/legend-entry.component.ts","webpack:///./src/common/legend/legend.component.ts","webpack:///./src/common/legend/scale-legend.component.ts","webpack:///./src/common/svg-linear-gradient.component.ts","webpack:///./src/common/svg-radial-gradient.component.ts","webpack:///./src/common/tick-format.helper.ts","webpack:///./src/common/timeline.component.ts","webpack:///./src/common/tooltip/alignment.type.ts","webpack:///./src/common/tooltip/index.ts","webpack:///./src/common/tooltip/position/index.ts","webpack:///./src/common/tooltip/position/placement.type.ts","webpack:///./src/common/tooltip/position/position.ts","webpack:///./src/common/tooltip/show.type.ts","webpack:///./src/common/tooltip/style.type.ts","webpack:///./src/common/tooltip/tooltip.component.ts","webpack:///./src/common/tooltip/tooltip.directive.ts","webpack:///./src/common/tooltip/tooltip.module.ts","webpack:///./src/common/tooltip/tooltip.service.ts","webpack:///./src/common/trim-label.helper.ts","webpack:///./src/common/view-dimensions.helper.ts","webpack:///./src/d3.ts","webpack:///./src/force-directed-graph/force-directed-graph.component.ts","webpack:///./src/force-directed-graph/force-directed-graph.module.ts","webpack:///./src/force-directed-graph/index.ts","webpack:///./src/gauge/gauge-arc.component.ts","webpack:///./src/gauge/gauge-axis.component.ts","webpack:///./src/gauge/gauge.component.ts","webpack:///./src/gauge/gauge.module.ts","webpack:///./src/gauge/index.ts","webpack:///./src/gauge/linear-gauge.component.ts","webpack:///./src/heat-map/heat-map-cell-series.component.ts","webpack:///./src/heat-map/heat-map-cell.component.ts","webpack:///./src/heat-map/heat-map.component.ts","webpack:///./src/heat-map/heat-map.module.ts","webpack:///./src/heat-map/index.ts","webpack:///./src/index.ts","webpack:///./src/line-chart/index.ts","webpack:///./src/line-chart/line-chart.component.ts","webpack:///./src/line-chart/line-chart.module.ts","webpack:///./src/line-chart/line-series.component.ts","webpack:///./src/line-chart/line.component.ts","webpack:///./src/ngx-charts.module.ts","webpack:///./src/number-card/card-series.component.ts","webpack:///./src/number-card/card.component.ts","webpack:///./src/number-card/index.ts","webpack:///./src/number-card/number-card.component.ts","webpack:///./src/number-card/number-card.module.ts","webpack:///./src/pie-chart/advanced-pie-chart.component.ts","webpack:///./src/pie-chart/index.ts","webpack:///./src/pie-chart/pie-arc.component.ts","webpack:///./src/pie-chart/pie-chart.component.ts","webpack:///./src/pie-chart/pie-chart.module.ts","webpack:///./src/pie-chart/pie-grid-series.component.ts","webpack:///./src/pie-chart/pie-grid.component.ts","webpack:///./src/pie-chart/pie-label.component.ts","webpack:///./src/pie-chart/pie-series.component.ts","webpack:///./src/services/index.ts","webpack:///./src/services/injection-registery.service.ts","webpack:///./src/services/injection.service.ts","webpack:///./src/tree-map/index.ts","webpack:///./src/tree-map/tree-map-cell-series.component.ts","webpack:///./src/tree-map/tree-map-cell.component.ts","webpack:///./src/tree-map/tree-map.component.ts","webpack:///./src/tree-map/tree-map.module.ts","webpack:///./src/utils/color-sets.ts","webpack:///./src/utils/color-utils.ts","webpack:///./src/utils/id.ts","webpack:///./src/utils/sort.ts","webpack:///./src/utils/throttle.ts","webpack:///external \"@angular/core\"","webpack:///external \"moment\"","webpack:///external \"d3-interpolate\"","webpack:///external \"d3-scale\"","webpack:///external \"d3-selection\"","webpack:///external \"d3-shape\"","webpack:///external \"rxjs/Rx\"","webpack:///external \"@angular/common\"","webpack:///external \"@angular/platform-browser\"","webpack:///external \"d3-array\"","webpack:///external \"d3-brush\"","webpack:///external \"d3-color\"","webpack:///external \"d3-force\"","webpack:///external \"d3-format\"","webpack:///external \"d3-hierarchy\""],"names":[],"mappings":";;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;AC9DA,iCAOO,CAAe,CAAC;AAEvB,+BAAe,aAAO,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,IAAY,MAAM,uBAAM,CAAQ,CAAC;AACjC,+BAAmB,mBAAa,CAAC;AA6GjC;IAAkD,gDAAkB;IAApE;QAAkD,8BAAkB;QAEzD,WAAM,GAAG,KAAK,CAAC;QASf,kBAAa,GAAY,IAAI,CAAC;QAC9B,UAAK,GAAG,YAAE,CAAC,KAAK,CAAC,WAAW,CAAC;QAC7B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAc7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAG1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QAKvB,mBAAc,GAAW,EAAE,CAAC;QAK5B,oBAAe,GAAW,EAAE,CAAC;IAgT/B,CAAC;IA9SC,6CAAM,GAAN;QAAA,iBAkGC;QAjGC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,EAAE,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClB,KAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC;YACpF,CAAC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC;YACrC,CAAC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;YAE3C,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7D;gBACE,IAAI,GAAG,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,GAAG,CAAC,CAAC;gBAEX,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,GAAG,CAAC,CAAc,UAAY,EAAZ,UAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;oBAA1B,IAAI,KAAK;oBACZ,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAI;wBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;wBAClB,IAAI,CAAC,GAAG,GAAG,CAAC;wBACZ,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;4BAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;4BAChB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;wBAClB,CAAC;wBACD,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC;oBACH,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACN,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC;oBACnB,CAAC;iBACF;gBAED,GAAG,CAAC,CAAc,UAAY,EAAZ,UAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;oBAA1B,IAAI,KAAK;oBACZ,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAI;wBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;wBAClB,IAAI,CAAC,GAAG,GAAG,CAAC;wBACZ,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;4BAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;4BAChB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;wBAClB,CAAC;wBACD,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACN,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;wBACV,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC;wBACpB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;oBAChB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,CAAC,GAAG;4BACF,IAAI,EAAE,GAAG;4BACT,KAAK,EAAE,CAAC;4BACR,MAAE;4BACF,EAAE,EAAE,EAAE;yBACP,CAAC;wBACF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;oBAED,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;wBACd,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;wBAC5B,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;oBAC9B,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBACT,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBACX,CAAC;iBACF;;YApDH,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;;aAqDxC;YAED,KAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;YAC3E,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,KAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3C,KAAI,CAAC,QAAQ,GAAG,SAAO,OAAO,SAAI,KAAI,CAAC,UAAU,MAAG,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qDAAc,GAAd;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,GAAG,eAAc,IAAI,CAAC,IAAI,CAAC,OAAO,UAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QACrF,CAAC;IACH,CAAC;IAED,iDAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAgB,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA5B,IAAI,OAAO;YACd,GAAG,CAAC,CAAU,UAAc,EAAd,YAAO,CAAC,MAAM,EAAd,cAAc,EAAd,IAAc,CAAC;gBAAxB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAlB,CAAkB,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,EAAT,CAAS,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QAEnB,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,iDAAU,GAAV;QACE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,sDAAe,GAAf;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,gDAAS,GAAT,UAAU,MAAM,EAAE,KAAK;QACrB,IAAI,KAAK,CAAC;QAEV,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,KAAK,GAAG,YAAE,CAAC,SAAS,EAAE;iBACnB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,KAAK,GAAG,YAAE,CAAC,WAAW,EAAE;iBACrB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACxC,KAAK,GAAG,YAAE,CAAC,UAAU,EAAE;iBACpB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,OAAO,CAAC,GAAG,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,gDAAS,GAAT,UAAU,MAAM,EAAE,MAAM;QACtB,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAClB,MAAM,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,mDAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC;QAEf,GAAG,CAAC,CAAc,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;YAApB,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;YACD,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC9B,GAAG,GAAG,KAAK,CAAC;YACd,CAAC;SACF;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;QAED,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACR,MAAM,CAAC,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAED,6CAAM,GAAN,UAAO,KAAK;QACV,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,mDAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,4DAAqB,GAArB,UAAsB,IAAI;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAGD,kDAAW,GAAX;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,8CAAO,GAAP,UAAQ,IAAI,EAAE,MAAM;QAClB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,8CAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,gDAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,uDAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,uDAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,wDAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,iDAAU,GAAV,UAAW,IAAI;QACb,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,mDAAY,GAAZ,UAAa,IAAI;QACf,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAzVD;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;uEAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;uEAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IAER;QAAC,aAAM,EAAE;;kEAAA;IACT;QAAC,aAAM,EAAE;;oEAAA;IA+PT;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;mEAAA;IA3X7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,kCAAkC;YAC5C,QAAQ,EAAE,gqHAsGT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;oCAAA;IA8VF,mCAAC;AAAD,CAAC,CA7ViD,yCAAkB,GA6VnE;AA7VY,oCAA4B,+BA6VxC;;;;;;;;;;;;;;;;;;;;;;;;ACxdD,iCAOO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,IAAY,MAAM,uBAAM,CAAQ,CAAC;AACjC,+BAAmB,mBAAa,CAAC;AACjC,+BAAe,aAAO,CAAC;AA4GvB;IAA+C,6CAAkB;IAAjE;QAA+C,8BAAkB;QAEtD,WAAM,GAAG,KAAK,CAAC;QASf,kBAAa,GAAY,IAAI,CAAC;QAC9B,UAAK,GAAG,YAAE,CAAC,KAAK,CAAC,WAAW,CAAC;QAC7B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAc7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QAKvB,mBAAc,GAAW,EAAE,CAAC;QAK5B,oBAAe,GAAW,EAAE,CAAC;IAiT/B,CAAC;IA/SC,0CAAM,GAAN;QAAA,iBA0EC;QAzEC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,EAAE,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClB,KAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC;YACpF,CAAC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC;YACrC,CAAC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;YAE3C,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7D;gBACE,IAAI,GAAG,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACvB,IAAI,EAAE,GAAG,CAAC,CAAC;gBACX,GAAG,CAAC,CAAc,UAAY,EAAZ,UAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;oBAA1B,IAAI,KAAK;oBAEZ,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAI;wBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;wBAClB,IAAI,CAAC,GAAG,GAAG,CAAC;wBACZ,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;4BAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;4BAChB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;wBAClB,CAAC;wBACD,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;oBACjB,CAAC,CAAC,CAAC;oBAEH,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACN,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC;wBACV,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC;wBACpB,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC;oBAChB,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,CAAC,GAAG;4BACF,IAAI,EAAE,GAAG;4BACT,KAAK,EAAE,CAAC;4BACR,MAAE;4BACF,EAAE,EAAE,EAAE;yBACP,CAAC;wBACF,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACvB,CAAC;iBACF;;YA5BH,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;;aA6BxC;YAED,KAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;YAC3E,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,KAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3C,KAAI,CAAC,QAAQ,GAAG,SAAO,OAAO,SAAI,KAAI,CAAC,UAAU,MAAG,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,kDAAc,GAAd;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,GAAG,eAAc,IAAI,CAAC,IAAI,CAAC,OAAO,UAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QACrF,CAAC;IACH,CAAC;IAED,8CAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAgB,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA5B,IAAI,OAAO;YACd,GAAG,CAAC,CAAU,UAAc,EAAd,YAAO,CAAC,MAAM,EAAd,cAAc,EAAd,IAAc,CAAC;gBAAxB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAlB,CAAkB,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,EAAT,CAAS,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,8CAAU,GAAV;QAAA,iBA4BC;QA3BC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB;YACE,IAAI,GAAG,GAAG,MAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,GAAG,CAAC,CAAc,UAAY,EAAZ,WAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAA1B,IAAI,KAAK;gBACZ,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,cAAI;oBAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;oBAClB,IAAI,CAAC,GAAG,GAAG,CAAC;oBACZ,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;wBAC9B,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;wBAChB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;oBAClB,CAAC;oBACD,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACN,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC;gBACjB,CAAC;aACF;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;;;QAnBnB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;;SAoBxC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,GAAK,CAAC,SAAK,MAAM,EAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,mDAAe,GAAf;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,6CAAS,GAAT,UAAU,MAAM,EAAE,KAAK;QACrB,IAAI,KAAK,CAAC;QAEV,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,KAAK,GAAG,YAAE,CAAC,SAAS,EAAE;iBACnB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,KAAK,GAAG,YAAE,CAAC,WAAW,EAAE;iBACrB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACxC,KAAK,GAAG,YAAE,CAAC,UAAU,EAAE;iBACpB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,OAAO,CAAC,GAAG,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,6CAAS,GAAT,UAAU,MAAM,EAAE,MAAM;QACtB,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAClB,MAAM,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,gDAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC;QAEf,GAAG,CAAC,CAAc,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;YAApB,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;YACD,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC9B,GAAG,GAAG,KAAK,CAAC;YACd,CAAC;SACF;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;QAED,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACR,MAAM,CAAC,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAED,0CAAM,GAAN,UAAO,KAAK;QACV,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,gDAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,yDAAqB,GAArB,UAAsB,IAAI;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAGD,+CAAW,GAAX;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,2CAAO,GAAP,UAAQ,IAAI,EAAE,MAAM;QAClB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,2CAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,6CAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,oDAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,oDAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,qDAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,8CAAU,GAAV,UAAW,IAAI;QACb,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,gDAAY,GAAZ,UAAa,IAAI;QACf,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAzVD;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;qEAAA;IACR;QAAC,YAAK,EAAE;;qEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IAER;QAAC,aAAM,EAAE;;+DAAA;IACT;QAAC,aAAM,EAAE;;iEAAA;IA+PT;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;gEAAA;IA1X7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;YACzC,QAAQ,EAAE,ooHAqGT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;iCAAA;IA8VF,gCAAC;AAAD,CAAC,CA7V8C,yCAAkB,GA6VhE;AA7VY,iCAAyB,4BA6VrC;;;;;;;;;;;;;;;;;;;;;;;;ACtdD,iCAOO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,IAAY,MAAM,uBAAM,CAAQ,CAAC;AACjC,+BAAmB,mBAAa,CAAC;AACjC,+BAAe,aAAO,CAAC;AAyGvB;IAAwC,sCAAkB;IAA1D;QAAwC,8BAAkB;QAa/C,kBAAa,GAAY,IAAI,CAAC;QAC9B,UAAK,GAAG,YAAE,CAAC,KAAK,CAAC,WAAW,CAAC;QAC7B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAe7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QAKvB,mBAAc,GAAW,EAAE,CAAC;QAK5B,oBAAe,GAAW,EAAE,CAAC;IAuQ/B,CAAC;IArQC,mCAAM,GAAN;QAAA,iBA2CC;QA1CC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,EAAE,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClB,KAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC;YACpF,CAAC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC;YACrC,CAAC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;YAE3C,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7D,KAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,UAAO,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;YAC1E,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,KAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3C,KAAI,CAAC,QAAQ,GAAG,SAAO,OAAO,SAAI,KAAI,CAAC,UAAU,MAAG,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAc,GAAd;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,GAAG,eAAc,IAAI,CAAC,IAAI,CAAC,OAAO,UAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QACrF,CAAC;IACH,CAAC;IAED,uCAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAgB,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA5B,IAAI,OAAO;YACd,GAAG,CAAC,CAAU,UAAc,EAAd,YAAO,CAAC,MAAM,EAAd,cAAc,EAAd,IAAc,CAAC;gBAAxB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAlB,CAAkB,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,EAAT,CAAS,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QAEnB,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,uCAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAgB,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA5B,IAAI,OAAO;YACd,GAAG,CAAC,CAAU,UAAc,EAAd,YAAO,CAAC,MAAM,EAAd,cAAc,EAAd,IAAc,CAAC;gBAAxB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;aACF;SACF;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAC9B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,4CAAe,GAAf;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,sCAAS,GAAT,UAAU,MAAM,EAAE,KAAK;QACrB,IAAI,KAAK,CAAC;QAEV,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,KAAK,GAAG,YAAE,CAAC,SAAS,EAAE;iBACnB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,KAAK,GAAG,YAAE,CAAC,WAAW,EAAE;iBACrB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACxC,KAAK,GAAG,YAAE,CAAC,UAAU,EAAE;iBACpB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,OAAO,CAAC,GAAG,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,sCAAS,GAAT,UAAU,MAAM,EAAE,MAAM;QACtB,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAClB,MAAM,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,yCAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC;QACf,GAAG,CAAC,CAAc,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;YAApB,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;YACD,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC9B,GAAG,GAAG,KAAK,CAAC;YACd,CAAC;SACF;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,MAAM,CAAC,MAAM,CAAC;QAChB,CAAC;QAED,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACR,MAAM,CAAC,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAED,mCAAM,GAAN,UAAO,KAAK;QACV,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,yCAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,kDAAqB,GAArB,UAAsB,IAAI;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAGD,wCAAW,GAAX;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,oCAAO,GAAP,UAAQ,IAAI,EAAE,MAAM;QAClB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,oCAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,sCAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,6CAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,6CAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,8CAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,uCAAU,GAAV,UAAW,IAAI;QACb,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,yCAAY,GAAZ,UAAa,IAAI;QACf,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAlTD;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IAER;QAAC,aAAM,EAAE;;wDAAA;IACT;QAAC,aAAM,EAAE;;0DAAA;IAuNT;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;yDAAA;IAjV7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,qhHAkGT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;0BAAA;IAuTF,yBAAC;AAAD,CAAC,CAtTuC,yCAAkB,GAsTzD;AAtTY,0BAAkB,qBAsT9B;;;;;;;;;;;;;;;;;;;AC5aD,iCAAyB,CAAe,CAAC;AACzC,iDAAmC,0CAAwB,CAAC;AAMnD,0BAAkB;AAL3B,4DAA6C,qDAAmC,CAAC;AAKpD,oCAA4B;AAJzD,yDAA0C,kDAAgC,CAAC;AAIhB,iCAAyB;AAHpF,kDAAoC,2CAAyB,CAAC;AAGwB,2BAAmB;AAFzG,gDAAkC,qCAA+B,CAAC;AAmBlE;IAAA;IAA8B,CAAC;IAf/B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,CAAC;YAC5B,YAAY,EAAE;gBACZ,yCAAkB;gBAClB,8DAA4B;gBAC5B,wDAAyB;gBACzB,2CAAmB;aACpB;YACD,OAAO,EAAE;gBACP,yCAAkB;gBAClB,8DAA4B;gBAC5B,wDAAyB;gBACzB,2CAAmB;aACpB;SACF,CAAC;;uBAAA;IAC4B,sBAAC;AAAD,CAAC;AAAlB,uBAAe,kBAAG;;;;;;;;;;;;;;;;;;;ACxB/B,iCAQO,CAAe,CAAC;AACvB,+BAAe,aAAO,CAAC;AACvB,iCAAqD,qBAAe,CAAC;AAoBrE;IAAA;QAOW,YAAO,GAAY,KAAK,CAAC;QACzB,eAAU,GAAY,KAAK,CAAC;QAK3B,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IAoGxC,CAAC;IA3FC,yCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN;QAAA,iBAiDC;QAhDC,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,IAAI,IAAI,CAAC;QACT,IAAI,YAAY,CAAC;QAEjB,IAAI,SAAS,GAAG,UAAC,CAAC;YAChB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YACrB,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpC,IAAI,GAAG,YAAE,CAAC,IAAI,EAAE;iBACb,CAAC,CAAC,SAAS,CAAC;iBACZ,EAAE,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAjB,CAAiB,CAAC;iBAC/B,EAAE,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAjB,CAAiB,CAAC,CAAC;YAEnC,YAAY,GAAG,YAAE,CAAC,IAAI,EAAE;iBACrB,CAAC,CAAC,SAAS,CAAC;iBACZ,EAAE,CAAC,WAAC,IAAI,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAC;iBAC/B,EAAE,CAAC,WAAC,IAAI,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACrC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,GAAG,YAAE,CAAC,IAAI,EAAE;iBACb,CAAC,CAAC,SAAS,CAAC;iBACZ,EAAE,CAAC,cAAM,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAC;iBAChC,EAAE,CAAC,WAAC,IAAI,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC,CAAC;YAEjC,YAAY,GAAG,YAAE,CAAC,IAAI,EAAE;iBACrB,CAAC,CAAC,SAAS,CAAC;iBACZ,EAAE,CAAC,WAAC,IAAI,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAC;iBAC/B,EAAE,CAAC,WAAC,IAAI,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAElB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YAChC,IAAI,GAAG,iBAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,iBAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,GAAG,mBAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,4CAAc,GAAd;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;gBACpC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;gBAC/C,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,EAAE,EAAJ,CAAI,CAAC,CAAC;gBAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC,CAAC;gBAChC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;gBAChD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;IACH,CAAC;IAED,sCAAQ,GAAR,UAAS,KAAK;QACZ,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED,wCAAU,GAAV,UAAW,KAAK;QACd,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACxE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IA7GD;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IAER;QAAC,aAAM,EAAE;;uDAAA;IA/BX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,2YAaT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;2BAAA;IAkHF,0BAAC;AAAD,CAAC;AAjHY,2BAAmB,sBAiH/B;;;;;;;;;;;;;AC/ID,6BAAc,uCAAqB,CAAC;AACpC,6BAAc,0CAAwB,CAAC;AACvC,6BAAc,qDAAmC,CAAC;AAClD,6BAAc,kDAAgC,CAAC;AAC/C,6BAAc,2CAAyB,CAAC;;;;;;;;;;;;;;;;;;;ACJxC,iCAAyB,CAAe,CAAC;AACzC,gDAAkC,qCAA+B,CAAC;AAClE,0CAA6B,kCAAiB,CAAC;AAa7C,oBAAY;AAZd,qDAAuC,6CAA4B,CAAC;AAYpD,8BAAsB;AAXtC,wDAAyC,gDAA+B,CAAC;AAWjC,gCAAwB;AAVhE,gEAAiD,wDAAuC,CAAC;AAWvF,wCAAgC;AAVlC,6DAA8C,qDAAoC,CAAC;AAU/C,qCAA6B;AATjE,mDAAqC,2CAA0B,CAAC;AAU9D,4BAAoB;AATtB,sDAAuC,8CAA6B,CAAC;AAS7C,8BAAsB;AAR9C,8DAA+C,sDAAqC,CAAC;AASnF,sCAA8B;AARhC,2DAA4C,mDAAkC,CAAC;AAQ7C,mCAA2B;AAP7D,wDAAiC,gDAA+B,CAAC;AAOF,wBAAgB;AAN/E,sDAAwC,8CAA6B,CAAC;AAOpE,+BAAuB;AAgCzB;IAAA;IAA6B,CAAC;IA7B9B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,CAAC;YAC5B,YAAY,EAAE;gBACZ,4BAAY;gBACZ,iDAAsB;gBACtB,sDAAwB;gBACxB,sEAAgC;gBAChC,gEAA6B;gBAC7B,6CAAoB;gBACpB,kDAAsB;gBACtB,kEAA8B;gBAC9B,4DAA2B;gBAC3B,8CAAgB;gBAChB,mDAAuB;aACxB;YACD,OAAO,EAAE;gBACP,4BAAY;gBACZ,iDAAsB;gBACtB,sDAAwB;gBACxB,sEAAgC;gBAChC,gEAA6B;gBAC7B,6CAAoB;gBACpB,kDAAsB;gBACtB,kEAA8B;gBAC9B,4DAA2B;gBAC3B,8CAAgB;gBAChB,mDAAuB;aACxB;SACF,CAAC;;sBAAA;IAC2B,qBAAC;AAAD,CAAC;AAAjB,sBAAc,iBAAG;;;;;;;;;;;;;;;;;;;;;;;;ACnD9B,iCAUO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAe,aAAO,CAAC;AAuEvB;IAA8C,4CAAkB;IAAhE;QAA8C,8BAAkB;QAErD,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAW7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IAiMzB,CAAC;IA9LC,yCAAM,GAAN;QAAA,iBAiCC;QAhCC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YAE1C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YAEvC,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gDAAa,GAAb;QACE,IAAM,OAAO,GAAG,GAAG,CAAC;QAEpB,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACjC,YAAY,CAAC,OAAO,CAAC;aACrB,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;aACzB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,gDAAa,GAAb;QACE,IAAM,OAAO,GAAG,GAAG,CAAC;QAEpB,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;aAC5C,YAAY,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,gDAAa,GAAb;QACE,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,iDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,iDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,iDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;aACF;SACF;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,GAAK,CAAC,SAAK,MAAM,EAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAE9B,MAAM,CAAC,CAAE,GAAG,EAAE,GAAG,CAAE,CAAC;IACtB,CAAC;IAED,iDAAc,GAAd,UAAe,KAAK;QAClB,MAAM,CAAC,kBAAgB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAG,CAAC;IACxD,CAAC;IAED,0CAAO,GAAP,UAAQ,IAAI,EAAE,KAAK;QACjB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,0CAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,4CAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,mDAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,mDAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,oDAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,6CAAU,GAAV,UAAW,KAAK,EAAE,KAAK;QACrB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,+CAAY,GAAZ,UAAa,KAAK,EAAE,KAAK;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAzND;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IAER;QAAC,aAAM,EAAE;;8DAAA;IACT;QAAC,aAAM,EAAE;;gEAAA;IApFX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,8BAA8B;YACxC,QAAQ,EAAE,85DAqDT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,cAAO,CAAC,GAAG,EAAE,YAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBACzD,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;gCAAA;IA8NF,+BAAC;AAAD,CAAC,CA7N6C,yCAAkB,GA6N/D;AA7NY,gCAAwB,2BA6NpC;;;;;;;;;;;;;;;;;;;;;;;;AClTD,iCAUO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAe,aAAO,CAAC;AAiEvB;IAAsD,oDAAkB;IAAxE;QAAsD,8BAAkB;QAE7D,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAU7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IAyKzB,CAAC;IAtKC,iDAAM,GAAN;QAAA,iBAgCC;QA/BC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,yDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,yDAAc,GAAd;QACE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,oDAAS,GAAT;QACE,IAAM,OAAO,GAAG,GAAG,CAAC;QAEpB,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACjC,YAAY,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,oDAAS,GAAT;QACE,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,yDAAc,GAAd,UAAe,KAAK;QAClB,MAAM,CAAC,kBAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAG,CAAC;IACpD,CAAC;IAED,kDAAO,GAAP,UAAQ,IAAI,EAAE,KAAK;QACjB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,kDAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,oDAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,2DAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,2DAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,4DAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,qDAAU,GAAV,UAAW,KAAK,EAAE,KAAK;QACrB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,uDAAY,GAAZ,UAAa,KAAK,EAAE,KAAK;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAhMD;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;4EAAA;IACR;QAAC,YAAK,EAAE;;4EAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;2EAAA;IACR;QAAC,YAAK,EAAE;;2EAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IAER;QAAC,aAAM,EAAE;;sEAAA;IACT;QAAC,aAAM,EAAE;;wEAAA;IA9EX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,sCAAsC;YAChD,QAAQ,EAAE,+sDA+CT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,cAAO,CAAC,GAAG,EAAE,YAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBACzD,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;wCAAA;IAqMF,uCAAC;AAAD,CAAC,CApMqD,yCAAkB,GAoMvE;AApMY,wCAAgC,mCAoM5C;;;;;;;;;;;;;;;;;;;;;;;;ACnRD,iCAUO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAe,aAAO,CAAC;AAiEvB;IAAmD,iDAAkB;IAArE;QAAmD,8BAAkB;QAE1D,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAU7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IAwLzB,CAAC;IArLC,8CAAM,GAAN;QAAA,iBAgCC;QA/BC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,sDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,sDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC;aAChB;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,GAAK,CAAC,SAAK,MAAM,EAAC,CAAC;QACnC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAEhC,MAAM,CAAC,CAAE,GAAG,EAAE,GAAG,CAAE,CAAC;IACtB,CAAC;IAED,iDAAS,GAAT;QACE,IAAM,OAAO,GAAG,GAAG,CAAC;QAEpB,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACjC,YAAY,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,iDAAS,GAAT;QACE,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE9B,CAAC;IAED,sDAAc,GAAd,UAAe,KAAK;QAClB,MAAM,CAAC,kBAAgB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAG,CAAC;IACpD,CAAC;IAED,+CAAO,GAAP,UAAQ,IAAI,EAAE,KAAK;QACjB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,+CAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,iDAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,wDAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,wDAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,yDAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,kDAAU,GAAV,UAAW,KAAK,EAAE,KAAK;QACrB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,oDAAY,GAAZ,UAAa,KAAK,EAAE,KAAK;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IA/MD;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;yEAAA;IACR;QAAC,YAAK,EAAE;;yEAAA;IACR;QAAC,YAAK,EAAE;;qEAAA;IACR;QAAC,YAAK,EAAE;;qEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;qEAAA;IAER;QAAC,aAAM,EAAE;;mEAAA;IACT;QAAC,aAAM,EAAE;;qEAAA;IA9EX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,mCAAmC;YAC7C,QAAQ,EAAE,4sDA+CT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,cAAO,CAAC,GAAG,EAAE,YAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBACzD,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;qCAAA;IAoNF,oCAAC;AAAD,CAAC,CAnNkD,yCAAkB,GAmNpE;AAnNY,qCAA6B,gCAmNzC;;;;;;;;;;;;;;;;;;;;;;;;AClSD,iCAMO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAe,aAAO,CAAC;AAgDvB;IAA4C,0CAAkB;IAA9D;QAA4C,8BAAkB;QAEnD,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAS7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IA+HzB,CAAC;IA5HC,uCAAM,GAAN;QAAA,iBA0BC;QAzBC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAS,GAAT;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,0CAAS,GAAT;QACE,IAAM,OAAO,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEjC,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACjC,YAAY,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,2CAAU,GAAV;QACE,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;QAE9C,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,GAAK,CAAC,SAAK,MAAM,EAAC,CAAC;QACnC,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAEhC,MAAM,CAAC,CAAE,GAAG,EAAE,GAAG,CAAE,CAAC;IACtB,CAAC;IAED,2CAAU,GAAV;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,wCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,0CAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,iDAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,iDAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,kDAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,2CAAU,GAAV,UAAW,IAAI;QACb,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,6CAAY,GAAZ,UAAa,IAAI;QACf,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IArJD;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IAER;QAAC,aAAM,EAAE;;4DAAA;IACT;QAAC,aAAM,EAAE;;8DAAA;IA7DX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,67CAyCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;8BAAA;IA0JF,6BAAC;AAAD,CAAC,CAzJ2C,yCAAkB,GAyJ7D;AAzJY,8BAAsB,yBAyJlC;;;;;;;;;;;;;;;;;;;;;;;;ACnND,iCAUO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAe,aAAO,CAAC;AAqEvB;IAA4C,0CAAkB;IAA9D;QAA4C,8BAAkB;QAEnD,WAAM,GAAG,KAAK,CAAC;QAOf,cAAS,GAAG,SAAS,CAAC;QAEtB,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAW7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IA0LzB,CAAC;IAvLC,uCAAM,GAAN;QAAA,iBAiCC;QAhCC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YAE1C,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YACvC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YAEvC,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8CAAa,GAAb;QACE,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,YAAY,CAAC,OAAO,CAAC;aACrB,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;aACzB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,8CAAa,GAAb;QACE,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC;aAC5C,YAAY,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,8CAAa,GAAb;QACE,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC5B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;IAED,+CAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,+CAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,+CAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;aACF;SACF;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,GAAK,CAAC,SAAK,MAAM,EAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,+CAAc,GAAd,UAAe,KAAK;QAClB,MAAM,CAAC,eAAa,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAM,CAAC;IACxD,CAAC;IAED,wCAAO,GAAP,UAAQ,IAAI,EAAE,KAAK;QACjB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,wCAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,0CAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,iDAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,iDAAgB,GAAhB,UAAiB,EAAO;YAAN,gBAAK;QACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,kDAAiB,GAAjB,UAAkB,EAAQ;YAAP,kBAAM;QACvB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,2CAAU,GAAV,UAAW,KAAK,EAAE,KAAK;QACrB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,6CAAY,GAAZ,UAAa,KAAK,EAAE,KAAK;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAnND;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IAER;QAAC,aAAM,EAAE;;4DAAA;IACT;QAAC,aAAM,EAAE;;8DAAA;IAnFX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,QAAQ,EAAE,i2DAmDT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,cAAO,CAAC,GAAG,EAAE,YAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBACzD,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;8BAAA;IAwNF,6BAAC;AAAD,CAAC,CAvN2C,yCAAkB,GAuN7D;AAvNY,8BAAsB,yBAuNlC;;;;;;;;;;;;;;;;;;;;;;;;AC1SD,iCAUO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAe,aAAO,CAAC;AAiEvB;IAAoD,kDAAkB;IAAtE;QAAoD,8BAAkB;QAE3D,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAU7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IAqKzB,CAAC;IAlKC,+CAAM,GAAN;QAAA,iBAgCC;QA/BC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,uDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,uDAAc,GAAd;QACE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClB,CAAC;IAED,kDAAS,GAAT;QACE,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,YAAY,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,kDAAS,GAAT;QACE,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC5B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,uDAAc,GAAd,UAAe,KAAK;QAClB,MAAM,CAAC,eAAa,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAM,CAAC;IACpD,CAAC;IAED,gDAAO,GAAP,UAAQ,IAAI,EAAE,KAAK;QACjB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,gDAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,kDAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,yDAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,yDAAgB,GAAhB,UAAiB,EAAO;YAAN,gBAAK;QACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,0DAAiB,GAAjB,UAAkB,EAAQ;YAAP,kBAAM;QACvB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,mDAAU,GAAV,UAAW,KAAK,EAAE,KAAK;QACrB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,qDAAY,GAAZ,UAAa,KAAK,EAAE,KAAK;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IA5LD;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;0EAAA;IACR;QAAC,YAAK,EAAE;;0EAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;yEAAA;IACR;QAAC,YAAK,EAAE;;yEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IAER;QAAC,aAAM,EAAE;;oEAAA;IACT;QAAC,aAAM,EAAE;;sEAAA;IA9EX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oCAAoC;YAC9C,QAAQ,EAAE,6sDA+CT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,cAAO,CAAC,GAAG,EAAE,YAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBACzD,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;sCAAA;IAiMF,qCAAC;AAAD,CAAC,CAhMmD,yCAAkB,GAgMrE;AAhMY,sCAA8B,iCAgM1C;;;;;;;;;;;;;;;;;;;;;;;;AC/QD,iCAUO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAe,aAAO,CAAC;AAiEvB;IAAiD,+CAAkB;IAAnE;QAAiD,8BAAkB;QAExD,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAW7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IAkLzB,CAAC;IA/KC,4CAAM,GAAN;QAAA,iBAgCC;QA/BC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,oDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,oDAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC;aAChB;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SAClB;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,GAAK,CAAC,SAAK,MAAM,EAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,+CAAS,GAAT;QACE,IAAI,OAAO,GAAG,GAAG,CAAC;QAClB,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,YAAY,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,+CAAS,GAAT;QACE,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC5B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE9B,CAAC;IAED,oDAAc,GAAd,UAAe,KAAK;QAClB,MAAM,CAAC,eAAa,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAM,CAAC;IACpD,CAAC;IAED,6CAAO,GAAP,UAAQ,IAAI,EAAE,KAAK;QACjB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,6CAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,+CAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,sDAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;YAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,sDAAgB,GAAhB,UAAiB,EAAO;YAAN,gBAAK;QACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,uDAAiB,GAAjB,UAAkB,EAAQ;YAAP,kBAAM;QACvB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,gDAAU,GAAV,UAAW,KAAK,EAAE,KAAK;QACrB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,kDAAY,GAAZ,UAAa,KAAK,EAAE,KAAK;QACvB,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QAED,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IA1MD;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;uEAAA;IACR;QAAC,YAAK,EAAE;;uEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;mEAAA;IAER;QAAC,aAAM,EAAE;;iEAAA;IACT;QAAC,aAAM,EAAE;;mEAAA;IA9EX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,0sDA+CT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,cAAO,CAAC,GAAG,EAAE,YAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBACzD,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;mCAAA;IA+MF,kCAAC;AAAD,CAAC,CA9MgD,yCAAkB,GA8MlE;AA9MY,mCAA2B,8BA8MvC;;;;;;;;;;;;;;;;;;;;;;;;AC7RD,iCAMO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAe,aAAO,CAAC;AAgDvB;IAA0C,wCAAkB;IAA5D;QAA0C,8BAAkB;QAEjD,WAAM,GAAG,KAAK,CAAC;QAQf,kBAAa,GAAY,IAAI,CAAC;QAC9B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAS7D,WAAM,GAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IA0HzB,CAAC;IAvHC,qCAAM,GAAN;QAAA,iBA0BC;QAzBC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAS,GAAT;QACE,IAAM,OAAO,GAAG,GAAG,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,YAAY,CAAC,OAAO,CAAC;aACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,wCAAS,GAAT;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC5B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,yCAAU,GAAV;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,yCAAU,GAAV;QACE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;QAC5C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,GAAK,CAAC,SAAK,MAAM,EAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,sCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,wCAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,+CAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,+CAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,gDAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,yCAAU,GAAV,UAAW,IAAI;QACb,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,2CAAY,GAAZ,UAAa,IAAI;QACf,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;QACpF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAhJD;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IAER;QAAC,aAAM,EAAE;;0DAAA;IACT;QAAC,aAAM,EAAE;;4DAAA;IA7DX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,QAAQ,EAAE,k8CAyCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;4BAAA;IAqJF,2BAAC;AAAD,CAAC,CApJyC,yCAAkB,GAoJ3D;AApJY,4BAAoB,uBAoJhC;;;;;;;;;;;;;;;;;;;AC9MD,iCAUQ,CAAe,CAAC;AACxB,+BAAmB,mBAAa,CAAC;AACjC,+BAAe,aAAO,CAAC;AAwBvB;IA4BE,sBAAY,OAAmB;QAnBtB,eAAU,GAAY,IAAI,CAAC;QAC3B,aAAQ,GAAY,KAAK,CAAC;QAC1B,WAAM,GAAG,CAAC,CAAC;QACX,aAAQ,GAAY,KAAK,CAAC;QAGzB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,aAAQ,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,mBAAY,EAAE,CAAC;QAO1C,gBAAW,GAAY,KAAK,CAAC;QAE7B,gBAAW,GAAY,KAAK,CAAC;QAG3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,kCAAW,GAAX,UAAY,OAAsB;QAChC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,6BAAM,GAAN;QACE,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,SAAO,OAAO,SAAI,IAAI,CAAC,UAAU,MAAG,CAAC;QAEzD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,oCAAa,GAAb;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,2CAAoB,GAApB;QACE,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAE1B,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;aAC5B,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,kCAAW,GAAX;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,MAAM,CAAC;YACL;gBACE,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE;aAChC;YACD;gBACE,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,OAAO,EAAE,CAAC;aACb,CAAC,CAAC;IACL,CAAC;IAED,sCAAe,GAAf;QACE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC;QAET,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC;gBACpC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACzG,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC;gBAC7C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACtC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC;gBACpC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC3G,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC;gBAC7C,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,8BAAO,GAAP;QACE,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC;QAET,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC;gBACpC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACrG,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC;gBAC7C,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACtC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,gCAAS,GAAT;QACE,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,sCAAe,GAAf;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED,kCAAW,GAAX,UAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;QACvC,IAAI,MAAM,CAAC;QAEX,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACxD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACzD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QAC1D,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAE5B,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACP,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;YACnB,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,IAAI,GAAG,CAAC;QAEd,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAGD,mCAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAGD,mCAAY,GAAZ;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAtMD;QAAC,YAAK,EAAE;;8CAAA;IACR;QAAC,YAAK,EAAE;;8CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;2CAAA;IACR;QAAC,YAAK,EAAE;;2CAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IAER;QAAC,aAAM,EAAE;;gDAAA;IACT;QAAC,aAAM,EAAE;;kDAAA;IACT;QAAC,aAAM,EAAE;;oDAAA;IA+KT;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;oDAAA;IAK3B;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;oDAAA;IA3N7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,QAAQ,EAAE,odAiBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;oBAAA;IA2MF,mBAAC;AAAD,CAAC;AA1MY,oBAAY,eA0MxB;;;;;;;;;;;;;AC9OD,6BAAc,qCAAoB,CAAC;AACnC,6BAAc,kCAAiB,CAAC;AAChC,6BAAc,6CAA4B,CAAC;AAC3C,6BAAc,gDAA+B,CAAC;AAC9C,6BAAc,wDAAuC,CAAC;AACtD,6BAAc,qDAAoC,CAAC;AACnD,6BAAc,gDAA+B,CAAC;AAE9C,6BAAc,2CAA0B,CAAC;AACzC,6BAAc,8CAA6B,CAAC;AAC5C,6BAAc,sDAAqC,CAAC;AACpD,6BAAc,mDAAkC,CAAC;AACjD,6BAAc,8CAA6B,CAAC;;;;;;;;;;;;;;;;;;;ACZ5C,iCAYO,CAAe,CAAC;AACtB,yCAA4B,8BAAwB,CAAC;AAyCtD;IAAA;QAMW,SAAI,GAAG,UAAU,CAAC;QAQjB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,aAAQ,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,mBAAY,EAAE,CAAC;IAwG5C,CAAC;IAtGC,sCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,iCAAM,GAAN;QAAA,iBAiFC;QAhFC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,KAAK,CAAC;QACV,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;YAC/B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,CAAC,IAAO,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK;YACnC,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACpB,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,IAAM,cAAc,GAAG,0BAAW,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAM,UAAU,GAAG,KAAI,CAAC,IAAI,KAAK,UAAU,CAAC;YAE5C,IAAI,GAAG,GAAQ;gBACb,YAAK;gBACL,YAAK;gBACL,sBAAU;gBACV,IAAI,EAAE,CAAC;gBACP,8BAAc;aACf,CAAC;YAEF,GAAG,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAErC,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;gBAC7B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBACd,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBACD,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;gBACnC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;gBAC9B,EAAE,IAAI,KAAK,CAAC;gBAEZ,GAAG,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxD,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;gBACtC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;gBAC9B,EAAE,IAAI,KAAK,CAAC;gBAEZ,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBACd,OAAO,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;oBAClC,OAAO,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,OAAO,GAAG,CAAC,CAAC;oBACZ,OAAO,GAAG,CAAC,CAAC;gBACd,CAAC;gBAED,GAAG,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxD,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7B,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtB,KAAK,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC/C,CAAC;YAED,EAAE,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;gBACxC,GAAG,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;oBAC7B,GAAG,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACxC,GAAG,CAAC,aAAa,GAAG,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAChE,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,GAAG,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC9C,GAAG,CAAC,aAAa,GAAG,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAED,GAAG,CAAC,WAAW,GAAG,6CACc,cAAc,qDAChB,KAAK,CAAC,cAAc,EAAE,oBACnD,CAAC;YAEF,MAAM,CAAC,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAQ,GAAR,UAAS,KAAK;QACZ,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED,kCAAO,GAAP,UAAQ,KAAK,EAAE,GAAG;QAChB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IAED,gCAAK,GAAL,UAAM,IAAI;QACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAlHD;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IAER;QAAC,aAAM,EAAE;;oDAAA;IACT;QAAC,aAAM,EAAE;;sDAAA;IACT;QAAC,aAAM,EAAE;;wDAAA;IAvDX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,kuBAuBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,cAAO,CAAC,GAAG,EAAE,YAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBACzD,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;wBAAA;IAyHF,uBAAC;AAAD,CAAC;AAxHY,wBAAgB,mBAwH5B;;;;;;;;;;;;;;;;;;;AC9KD,iCAWQ,CAAe,CAAC;AACxB,yCAA4B,8BAAwB,CAAC;AAwCrD;IAAA;QAGW,SAAI,GAAG,UAAU,CAAC;QAQjB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,aAAQ,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,mBAAY,EAAE,CAAC;IAqH5C,CAAC;IA/GC,6CAAW,GAAX,UAAY,OAAO;QACjB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,wCAAM,GAAN;QAAA,iBAyFC;QAxFC,IAAI,KAAK,CAAC;QACV,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YACvB,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,KAAK,CAAC;QACV,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;YAC/B,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,CAAC,IAAO,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK;YACnC,IAAI,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACpB,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,IAAM,cAAc,GAAG,0BAAW,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAM,UAAU,GAAG,KAAI,CAAC,IAAI,KAAK,UAAU,CAAC;YAE5C,IAAI,GAAG,GAAQ;gBACb,YAAK;gBACL,YAAK;gBACL,sBAAU;gBACV,IAAI,EAAE,CAAC;gBACP,YAAK;gBACL,8BAAc;gBACd,MAAM,EAAE,CAAC;gBACT,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL,CAAC;YAEF,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;gBAC7B,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC3D,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAE3B,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBACd,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACzB,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;gBACnC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;gBAC9B,EAAE,IAAI,KAAK,CAAC;gBAEZ,GAAG,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC;gBACtC,IAAI,OAAO,GAAG,EAAE,CAAC;gBACjB,IAAI,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;gBAC9B,EAAE,IAAI,KAAK,CAAC;gBAEZ,EAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;oBACd,OAAO,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;oBAClC,OAAO,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;gBACpC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,OAAO,GAAG,CAAC,CAAC;oBACZ,OAAO,GAAG,CAAC,CAAC;gBACd,CAAC;gBAED,GAAG,CAAC,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;gBACV,GAAG,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC7B,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;gBACtB,KAAK,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC/C,CAAC;YAED,EAAE,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;gBACxC,GAAG,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC1C,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;oBAC7B,GAAG,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACxC,GAAG,CAAC,aAAa,GAAG,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;gBAChE,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,GAAG,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC9C,GAAG,CAAC,aAAa,GAAG,KAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAED,GAAG,CAAC,WAAW,GAAG,6CACc,cAAc,qDAChB,KAAK,CAAC,cAAc,EAAE,oBACnD,CAAC;YAEF,MAAM,CAAC,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAQ,GAAR,UAAS,KAAK;QACZ,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED,yCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAK,EAAE,GAAG;QAChB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;IACnB,CAAC;IA9HD;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IAER;QAAC,aAAM,EAAE;;2DAAA;IACT;QAAC,aAAM,EAAE;;6DAAA;IACT;QAAC,aAAM,EAAE;;+DAAA;IAnDX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;YACzC,QAAQ,EAAE,4tBAsBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,OAAO,EAAE,CAAC;4BACV,SAAS,EAAE,GAAG;yBACf,CAAC;wBACF,cAAO,CAAC,GAAG,EAAE,YAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,UAAU,EAAC,CAAC,CAAC;qBACzD,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;+BAAA;IAmIF,8BAAC;AAAD,CAAC;AAlIY,+BAAuB,0BAkInC;;;;;;;;;;;;;;;;;;;ACtLD,iCAUO,CAAe,CAAC;AAkDvB;IAgBE,qBAAoB,QAAkB;QAAlB,aAAQ,GAAR,QAAQ,CAAU;QAdtC,kBAAa,GAAa,IAAI,KAAK,EAAE,CAAC;QAQ7B,mBAAc,GAAY,KAAK,CAAC;QAE/B,UAAK,GAAG,IAAI,mBAAY,EAAE,CAAC;IAIK,CAAC;IAE3C,iCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,4BAAM,GAAN;QACE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAC7C,CAAC;IAED,qCAAe,GAAf;QAAA,iBAkCC;QAjCC,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhD,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,EAAE,GAAQ,EAAE,CAAC;YACjB,EAAE,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEpC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACZ,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1E,CAAC;YAED,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/B,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAC1E,CAAC;YAED,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YACzB,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC;YACf,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEjB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED,+BAAS,GAAT,UAAU,IAAI;QACZ,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,IAAI,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,EAArC,CAAqC,CAAC,CAAC;YACzE,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;YAC3B,EAAE,CAAC,CAAC,SAAS,YAAY,IAAI,CAAC,CAAC,CAAC;gBAC9B,SAAS,GAAG,SAAS,CAAC,kBAAkB,EAAE,CAAC;YAC7C,CAAC;YAED,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACT,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;gBACtB,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC;oBAC1B,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBACrC,CAAC;gBACD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;gBACrB,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;oBACxB,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC7C,CAAC;gBACD,IAAI,KAAK,UAAC;gBACV,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACvC,IAAI,CAAC,GAAG,GAAG,CAAC;oBACZ,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;wBACZ,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;oBACd,CAAC;oBACD,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC;oBACX,KAAK,EAAE,GAAG;oBACV,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,SAAS;oBACjB,YAAK;iBACN,CAAC,CAAC;YACL,CAAC;SACF;QAED,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED,qCAAe,GAAf,UAAgB,KAAK;QACnB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB;YACE,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEnB,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,WAAC;gBACzB,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;;QATH,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;;SAUpC;QAED,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAED,iCAAW,GAAX,UAAY,KAAK;QACf,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,iCAAW,GAAX,UAAY,KAAK;QACf,IAAI,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAnID;QAAC,YAAK,EAAE;;6CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IAER;QAAC,aAAM,EAAE;;8CAAA;IAET;QAAC,mBAAY,CAAC,UAAU,CAAC;;iDAAA;IA9D3B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,QAAQ,EAAE,07CA2CT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;mBAAA;IA0IF,kBAAC;AAAD,CAAC;AAzIY,mBAAW,cAyIvB;;;;;;;;;;;;;;;;;;;ACrMD,iCASO,CAAe,CAAC;AACvB,+BAAmB,mBAAa,CAAC;AACjC,+BAAe,aAAO,CAAC;AAsBvB;IAuBE,uBAAY,OAAmB;QAjBtB,YAAO,GAAG,CAAC,CAAC;QACZ,iBAAY,GAAG,GAAG,CAAC;QACnB,eAAU,GAAG,CAAC,CAAC;QAEf,aAAQ,GAAY,KAAK,CAAC;QAGzB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAMtC,gBAAW,GAAY,KAAK,CAAC;QAE7B,gBAAW,GAAY,KAAK,CAAC;QAG3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,mCAAW,GAAX,UAAY,OAAsB;QAChC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED,8BAAM,GAAN;QACE,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,SAAO,OAAO,SAAI,IAAI,CAAC,UAAU,MAAG,CAAC;QAEzD,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,qCAAa,GAAb;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,4CAAoB,GAApB;QACE,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;aAC5B,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,mCAAW,GAAX;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,MAAM,CAAC;YACL;gBACE,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B;YACD;gBACE,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,OAAO,EAAE,IAAI,CAAC,UAAU;aAC3B,CAAC,CAAC;IACL,CAAC;IA7ED;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IAER;QAAC,aAAM,EAAE;;iDAAA;IAjCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,QAAQ,EAAE,kZAeT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;qBAAA;IAiFF,oBAAC;AAAD,CAAC;AAhFY,qBAAa,gBAgFzB;;;;;;;;;;;;;;;;;;;ACjHD,iCAAyB,CAAe,CAAC;AACzC,iDAAmC,2CAAwB,CAAC;AAC5D,6CAA+B,uCAAoB,CAAC;AACpD,mDAAoC,6CAA0B,CAAC;AAC/D,6CAA+B,uCAAoB,CAAC;AACpD,mDAAoC,6CAA0B,CAAC;AAC/D,mCAA6B,CAAiB,CAAC;AAO/C;IAAA;IAAyB,CAAC;IAL1B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,qBAAY,CAAC;YACvB,YAAY,EAAE,CAAC,yCAAkB,EAAE,iCAAc,EAAE,4CAAmB,EAAE,iCAAc,EAAE,4CAAmB,CAAC;YAC5G,OAAO,EAAE,CAAC,yCAAkB,EAAE,iCAAc,EAAE,4CAAmB,EAAE,iCAAc,EAAE,4CAAmB,CAAC;SACxG,CAAC;;kBAAA;IACuB,iBAAC;AAAD,CAAC;AAAb,kBAAU,aAAG;;;;;;;;;;;;;;;;;;;ACb1B,iCAOO,CAAe,CAAC;AAiBvB;IAiBE,4BAAY,OAAmB;QAH/B,eAAU,GAAG,EAAE,CAAC;QAChB,WAAM,GAAG,CAAC,CAAC;QAGT,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,wCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,mCAAM,GAAN;QACE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACpB,KAAK,KAAK;gBACR,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACxB,KAAK,CAAC;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;gBACxB,KAAK,CAAC;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;gBACzD,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;gBAC/B,KAAK,CAAC;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBACnC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1B,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC;gBAC/B,KAAK,CAAC;YACR,QAAQ;QACV,CAAC;IACH,CAAC;IAjDD;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IArBV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;YACpC,QAAQ,EAAE,uQAUT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;0BAAA;IAsDF,yBAAC;AAAD,CAAC;AArDY,0BAAkB,qBAqD9B;;;;;;;;;;AC7ED,qBAA4B,KAAK,EAAE,QAAQ;IACzC,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;QAC5B,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAClD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,KAAK,GAAG,OAAO,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;AAbe,mBAAW,cAa1B;;;;;;;;;;;;;;;;;;;ACbD,iCAWO,CAAe,CAAC;AACvB,8CAA0B,mCAAsB,CAAC;AACjD,yCAA4B,mCAAgB,CAAC;AAgC7C;IA+BE;QA3BS,kBAAa,GAAG,CAAC,CAAC,CAAC,CAAC;QACpB,eAAU,GAAG,MAAM,CAAC;QAEpB,kBAAa,GAAG,KAAK,CAAC;QAIrB,sBAAiB,GAAG,IAAI,mBAAY,EAAE,CAAC;QAEjD,oBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAY,GAAY,KAAK,CAAC;QAC9B,kBAAa,GAAW,CAAC,CAAC;QAC1B,kBAAa,GAAW,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,QAAQ,CAAC;QAC9B,mBAAc,GAAW,CAAC,CAAC;QAC3B,qBAAgB,GAAW,EAAE,CAAC;QAO9B,WAAM,GAAW,CAAC,CAAC;QAKjB,IAAI,CAAC,SAAS,GAAG,6BAAS,CAAC;IAC7B,CAAC;IAED,yCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,6CAAe,GAAf;QAAA,iBAEC;QADC,UAAU,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC,CAAC;IACtC,CAAC;IAED,wCAAU,GAAV;QAAA,iBAOC;QANC,IAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5F,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACrB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,cAAM,EAAE,CAAC,CAAC;YACxC,UAAU,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,oCAAM,GAAN;QAAA,iBAiCC;QAhCC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE7B,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;QACxC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,UAAS,CAAC;gBAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAChC,CAAC;gBACD,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAC5B,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,UAAS,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC;QACtD,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QAEf,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,IAAI,CAAC,aAAa,GAAG,YAAU,KAAK,MAAG,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC7B,CAAC;QAED,UAAU,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC,CAAC;IACtC,CAAC;IAED,8CAAgB,GAAhB,UAAiB,KAAK;QACpB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/D,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,uBAAuB;QAC1C,IAAI,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC;QAEhC,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAEzD,0BAA0B;QAC1B,OAAM,SAAS,GAAG,YAAY,IAAI,KAAK,GAAG,CAAC,EAAE,EAAE,CAAC;YAC9C,KAAK,IAAI,EAAE,CAAC;YACZ,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC;QAC5D,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,sCAAQ,GAAR;QACE,IAAI,KAAK,CAAC;QACV,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAElC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/D,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACpE,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,IAAI,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC;gBACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,GAAG,0BAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,yCAAW,GAAX;QACE,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED,2CAAa,GAAb,UAAc,IAAI;QAChB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;IACpF,CAAC;IAED,+CAAiB,GAAjB;QACE,MAAM,CAAC,kBAAe,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,OAAG,CAAC;IACrD,CAAC;IAjJD;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IAER;QAAC,aAAM,EAAE;;kEAAA;IAkBT;QAAC,gBAAS,CAAC,SAAS,CAAC;;6DAAA;IA3DvB;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,QAAQ,EAAE,4yBAyBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;2BAAA;IAsJF,0BAAC;AAAD,CAAC;AArJY,2BAAmB,sBAqJ/B;;;;;;;;;;;;;;;;;;;AClMD,iCASO,CAAe,CAAC;AAEvB,mDAAoC,6CAA0B,CAAC;AAgC/D;IAAA;QAKW,kBAAa,GAAG,KAAK,CAAC;QAKrB,sBAAiB,GAAG,IAAI,mBAAY,EAAE,CAAC;QAGjD,mBAAc,GAAW,QAAQ,CAAC;QAClC,YAAO,GAAW,QAAQ,CAAC;QAG3B,gBAAW,GAAW,EAAE,CAAC;QACzB,SAAI,GAAW,MAAM,CAAC;QACtB,WAAM,GAAW,QAAQ,CAAC;QAC1B,eAAU,GAAW,MAAM,CAAC;QAC5B,gBAAW,GAAW,MAAM,CAAC;QAC7B,gBAAW,GAAW,CAAC,CAAC;IA0B1B,CAAC;IAtBC,oCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,+BAAM,GAAN;QACE,IAAI,CAAC,SAAS,GAAG,kBAAe,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,OAAG,CAAC;QAEvE,EAAE,CAAC,CAAC,OAAO,IAAI,CAAC,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,wCAAe,GAAf,UAAgB,EAAU;QAA1B,iBAQC;YARiB,kBAAM;QACtB,IAAI,cAAc,GAAG,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,EAAE,CAAC,CAAC,cAAc,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC;YAClC,UAAU,CAAC;gBACT,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,cAAM,EAAC,CAAC,CAAC;YACxC,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IA5CD;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IAER;QAAC,aAAM,EAAE;;6DAAA;IAcT;QAAC,gBAAS,CAAC,4CAAmB,CAAC;;0DAAA;IAtDjC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,QAAQ,EAAE,yvBAyBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;sBAAA;IAiDF,qBAAC;AAAD,CAAC;AAhDY,sBAAc,iBAgD1B;;;;;;;;;;;;;;;;;;;AC3FD,iCAWO,CAAe,CAAC;AACvB,8CAA0B,mCAAsB,CAAC;AACjD,yCAA4B,mCAAgB,CAAC;AAkC7C;IAmCE;QA/BS,kBAAa,GAAG,CAAC,CAAC,CAAC,CAAC;QAEpB,eAAU,GAAG,MAAM,CAAC;QAEpB,kBAAa,GAAG,KAAK,CAAC;QAIrB,sBAAiB,GAAG,IAAI,mBAAY,EAAE,CAAC;QAEjD,kBAAa,GAAQ,CAAC,CAAC;QACvB,gBAAW,GAAQ,CAAC,CAAC;QAErB,oBAAe,GAAW,EAAE,CAAC;QAC7B,eAAU,GAAQ,QAAQ,CAAC;QAU3B,UAAK,GAAW,CAAC,CAAC;QAClB,kBAAa,GAAW,CAAC,CAAC;QAC1B,iBAAY,GAAY,KAAK,CAAC;QAM5B,IAAI,CAAC,SAAS,GAAG,6BAAS,CAAC;IAC7B,CAAC;IAED,yCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,6CAAe,GAAf;QAAA,iBAEC;QADC,UAAU,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC,CAAC;IACtC,CAAC;IAED,wCAAU,GAAV;QAAA,iBAOC;QANC,IAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC1F,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,YAAK,EAAE,CAAC,CAAC;YACvC,UAAU,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,oCAAM,GAAN;QAAA,iBAmEC;QAlEC,IAAI,KAAK,CAAC;QAEV,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;QAEtE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE7B,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;QACxC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACtE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,UAAS,CAAC;gBAC1B,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;oBAClC,MAAM,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAChC,CAAC;gBACD,MAAM,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;YAC5B,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,GAAG,UAAS,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,GAAG,GAAG,CAAC;QAC5C,CAAC,GAAG,KAAK,CAAC;QAEV,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACpB,KAAK,KAAK;gBACR,IAAI,CAAC,SAAS,GAAG,UAAS,IAAI;oBAC5B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACzD,CAAC,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBACpC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC;gBACrC,KAAK,CAAC;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,SAAS,GAAG,UAAS,IAAI;oBAC5B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;gBACzD,CAAC,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBACpC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,KAAK,GAAG,OAAO,CAAC;gBACrC,KAAK,CAAC;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,SAAS,GAAG,UAAS,IAAI;oBAC5B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACzD,CAAC,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;gBACxB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;gBAClB,KAAK,CAAC;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,GAAG,UAAS,IAAI;oBAC5B,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACzD,CAAC,CAAC;gBACF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;gBAC1B,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC;gBACrC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC;gBACnC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;gBAClB,KAAK,CAAC;YACR,QAAQ;QACV,CAAC;QAED,UAAU,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CAAC,CAAC;IACtC,CAAC;IAED,sCAAQ,GAAR;QACE,IAAI,KAAK,CAAC;QACV,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAElC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/D,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;gBAC5B,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACpE,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,IAAI,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC;gBACD,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,GAAG,0BAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,yCAAW,GAAX;QACE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,2CAAa,GAAb,UAAc,IAAI;QAChB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;IACpF,CAAC;IAED,+CAAiB,GAAjB;QACE,MAAM,CAAC,gBAAgB,CAAC;IAC1B,CAAC;IA7JD;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IAER;QAAC,aAAM,EAAE;;kEAAA;IAqBT;QAAC,gBAAS,CAAC,SAAS,CAAC;;6DAAA;IAjEvB;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,QAAQ,EAAE,g1BA2BT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;2BAAA;IAkKF,0BAAC;AAAD,CAAC;AAjKY,2BAAmB,sBAiK/B;;;;;;;;;;;;;;;;;;;AChND,iCASO,CAAe,CAAC;AACvB,mDAAoC,6CAA0B,CAAC;AAgC/D;IAAA;QAKW,kBAAa,GAAG,KAAK,CAAC;QAKrB,sBAAiB,GAAG,IAAI,mBAAY,EAAE,CAAC;QAEjD,mBAAc,GAAW,QAAQ,CAAC;QAKlC,gBAAW,GAAW,CAAC,CAAC,CAAC;QACzB,YAAO,GAAW,MAAM,CAAC;QACzB,gBAAW,GAAW,EAAE,CAAC;QACzB,SAAI,GAAW,MAAM,CAAC;QACtB,WAAM,GAAW,MAAM,CAAC;QACxB,eAAU,GAAW,MAAM,CAAC;QAC5B,gBAAW,GAAW,CAAC,CAAC;IA8B1B,CAAC;IA1BC,oCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,+BAAM,GAAN;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC;QAC/B,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,gBAAa,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,WAAO,CAAC;QACrE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,eAAa,IAAI,CAAC,MAAM,UAAO,CAAC;QACnD,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,uCAAc,GAAd,UAAe,EAAS;QAAxB,iBAOC;YAPgB,gBAAK;QACpB,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,UAAU,CAAC;gBACT,KAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAC,YAAK,EAAC,CAAC,CAAC;YACvC,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC;IACH,CAAC;IAjDD;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IAER;QAAC,aAAM,EAAE;;6DAAA;IAeT;QAAC,gBAAS,CAAC,4CAAmB,CAAC;;0DAAA;IAvDjC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,QAAQ,EAAE,uvBAyBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;sBAAA;IAsDF,qBAAC;AAAD,CAAC;AArDY,sBAAc,iBAqD1B;;;;;;;;;;;;;;;;;;;AC/FD,iCAYO,CAAe,CAAC;AACvB,+BAA2B,EAAS,CAAC;AAMrC;IAaE,4BAAsB,YAAwB,EAAY,IAAY,EAAY,EAAqB;QAAjF,iBAAY,GAAZ,YAAY,CAAY;QAAY,SAAI,GAAJ,IAAI,CAAQ;QAAY,OAAE,GAAF,EAAE,CAAmB;QAT9F,eAAU,GAAW,SAAS,CAAC;QAG9B,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IAOtC,CAAC;IAED,4CAAe,GAAf;QACE,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAED,wCAAW,GAAX;QACE,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,wCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,mCAAM,GAAN;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,6CAAgB,GAAhB;QACE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;QACjD,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC;YAChC,+BAA+B;YAC/B,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC;YACxC,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC;QAC5C,CAAC;QACD,MAAM,CAAC,EAAC,YAAK,EAAE,cAAM,EAAC,CAAC;IACzB,CAAC;IAED,4EAA4E;IAC5E,wCAAW,GAAX;QACE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YACxB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC;gBAC3B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvC,CAAC;YAED,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBACb,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACpB,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC;wBAC3B,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAES,yCAAY,GAAtB;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;YAC5B,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,kDAAqB,GAA7B;QAAA,iBAWC;QAVC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,IAAI,MAAM,GAAG,eAAU,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAChE,IAAI,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,WAAC;gBACrD,KAAI,CAAC,MAAM,EAAE,CAAC;gBACd,EAAE,CAAC,CAAC,KAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACZ,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,KAAI,CAAC,kBAAkB,GAAG,YAAY,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACK,sCAAS,GAAjB,UAAkB,IAAI;QACpB,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,GAAG,CAAC,CAAa,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,CAAC;YAAjB,IAAI,IAAI;YACX,IAAI,IAAI,GAAG;gBACT,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;aACnB,CAAC;YAEF,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YAED,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACpB,GAAG,CAAC,CAAmB,UAAc,EAAd,SAAI,CAAC,QAAQ,CAAC,EAAd,cAAc,EAAd,IAAc,CAAC;oBAAjC,IAAI,UAAU;oBACjB,IAAI,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;oBACnD,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;iBACrC;YACH,CAAC;YAED,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;QAED,MAAM,CAAC,OAAO,CAAC;IACjB,CAAC;IAjID;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IAER;QAAC,aAAM,EAAE;;sDAAA;IAXX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,EAAE;SACb,CAAC;;0BAAA;IAqIF,yBAAC;AAAD,CAAC;AApIY,0BAAkB,qBAoI9B;;;;;;;;;;;;;;;;;;;ACvJD,iCAAyB,CAAe,CAAC;AAEzC,4CAA+B,wCAA0B,CAAC;AAC1D,mCAEO,8BAAU,CAAC;AAClB,iDAAmC,sCAAwB,CAAC;AAC5D,wCAA2B,kCAAoB,CAAC;AAChD,oCAA8B,+BAAW,CAAC;AAC1C,oDAAsC,yCAA2B,CAAC;AAClE,6CAAgC,kCAAoB,CAAC;AACrD,iDAAmC,sCAAwB,CAAC;AAC5D,wDAAyC,6CAA+B,CAAC;AACzE,0DAA2C,+CAAiC,CAAC;AAC7E,0DAA2C,+CAAiC,CAAC;AAC7E,+CAAyB,oCAAsB,CAAC;AAChD,mCAA6B,CAAiB,CAAC;AAC/C,2CAA8B,gCAAkB,CAAC;AACjD,mDAA4B,wCAA0B,CAAC;AACvD,kCAAiC,6BAAS,CAAC;AAE3C,IAAM,UAAU,GAAG;IACjB,8BAAa;IACb,yCAAkB;IAClB,wBAAgB;IAChB,oCAAW;IACX,gCAAc;IACd,wBAAe;IACf,6BAAoB;IACpB,6BAAoB;IACpB,kCAAe;IACf,+CAAqB;IACrB,yCAAkB;IAClB,sDAAwB;IACxB,0DAA0B;IAC1B,0DAA0B;IAC1B,6BAAQ;IACR,gCAAuB;CACxB,CAAC;AAkBF;IAAA;IACA,CAAC;IAjBD;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE;gBACP,qBAAY;gBACZ,wBAAU;gBACV,uBAAa;aACd;YACD,YAAY,EACP,UAAU,QACd;YACD,OAAO,EAAE;gBACP,qBAAY;gBACZ,wBAAU;gBACV,uBAAa;qBACV,UAAU,CACd;SACF,CAAC;;yBAAA;IAEF,wBAAC;AAAD,CAAC;AADY,yBAAiB,oBAC7B;;;;;;;;;;;;;;;;;;;ACzDD,iCAIO,CAAe,CAAC;AACvB,oCAA+B,+BAAY,CAAC;AAgD5C;IAsBE,wBACU,GAAqB,EACrB,cAA8B;QAD9B,QAAG,GAAH,GAAG,CAAkB;QACrB,mBAAc,GAAd,cAAc,CAAgB;QArB/B,eAAU,GAAG,KAAK,CAAC;QAOnB,gBAAW,GAAG,QAAQ,CAAC;QAItB,qBAAgB,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACzD,wBAAmB,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC5D,0BAAqB,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAStE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,oCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,+BAAM,GAAN;QACE,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAEvC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC;gBACtC,aAAa,GAAG,CAAC,CAAC;YACpB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,aAAa,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;QAED,IAAI,YAAY,GAAG,EAAE,GAAG,aAAa,CAAC;QAEtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,IAAI,CAAC;IACzD,CAAC;IAED,sCAAa,GAAb;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,aAAa,CAAC;QACvB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAtDD;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IAGR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IAER;QAAC,aAAM,EAAE;;4DAAA;IACT;QAAC,aAAM,EAAE;;+DAAA;IACT;QAAC,aAAM,EAAE;;iEAAA;IA9DX;QAAC,gBAAS,CAAC;YACT,SAAS,EAAE,CAAC,wBAAc,CAAC;YAC3B,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,4mCAgCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;wBACrB,cAAO,CAAC,aAAa,EAAE,YAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;qBAC9C,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;sBAAA;IA2DF,qBAAC;AAAD,CAAC;AA1DY,sBAAc,iBA0D1B;;;;;;;;;;;;;;;;;;;AC/GD,iCAGO,CAAe,CAAC;AACvB,IAAY,MAAM,uBAAM,CAAQ,CAAC;AACjC,yCAA4B,8BAAwB,CAAC;AACrD,+BAAmB,mBAAa,CAAC;AA8CjC;IAAA;QAGW,SAAI,GAAG,UAAU,CAAC;QAQjB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,aAAQ,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,mBAAY,EAAE,CAAC;IAkI5C,CAAC;IA7HC,2CAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,sCAAM,GAAN;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACnC,CAAC;IAED,0CAAU,GAAV;QAAA,iBA6DC;QA5DC,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,IAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAErC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;YAC/B,IAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACtB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YACrB,IAAM,YAAY,GAAG,0BAAW,CAAC,KAAK,CAAC,CAAC;YAExC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACV,IAAI,EAAE,UAAC;gBACP,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;oBAC9B,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACvC,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;gBAED,IAAM,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,KAAI,CAAC,IAAI,KAAK,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChE,IAAM,MAAM,GAAG,CAAC,CAAC;gBACjB,IAAM,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBAE3C,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,EAAE,CAAC,CAAC,KAAK,IAAI,KAAI,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBACpF,OAAO,GAAG,CAAC,CAAC;gBACd,CAAC;gBAED,IAAM,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAC5C,IAAM,YAAY,GAAG,SAAO,OAAO,SAAI,UAAU,MAAG,CAAC;gBAErD,IAAI,KAAK,UAAC;gBACV,EAAE,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACvC,EAAE,CAAC,CAAC,KAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;wBAC7B,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBACtC,CAAC;oBAAC,IAAI,CAAC,CAAC;wBACN,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACrC,CAAC;gBACH,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAC3C,CAAC;gBAED,MAAM,CAAC;oBACL,UAAU,EAAE,CAAC,kBAAe,CAAC,CAAE,CAAC;oBAChC,YAAK;oBACL,YAAK;oBACL,MAAE;oBACF,MAAE;oBACF,cAAM;oBACN,cAAM;oBACN,0BAAY;oBACZ,YAAK;oBACL,gBAAO;oBACP,sBAAU;oBACV,UAAU,EAAE,KAAK;oBACjB,sBAAU;oBACV,0BAAY;oBACZ,aAAa,EAAE,KAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;iBAC5C,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,MAAM,IAAK,aAAM,KAAK,SAAS,EAApB,CAAoB,CAAC,CAAC;IAC9C,CAAC;IAED,8CAAc,GAAd,UAAe,EAAmC;YAAjC,8BAAY,EAAE,gBAAK,EAAE,0BAAU;QAC9C,MAAM,CAAC,2CACyB,UAAU,gBAAM,YAAY,mDAC9B,KAAK,CAAC,cAAc,EAAE,kBACnD,CAAC;IACJ,CAAC;IAED,gDAAgB,GAAhB,UAAiB,KAAK;QACpB,MAAM,CAAC;YACL;gBACE,MAAM,EAAE,CAAC;gBACT,YAAK;gBACL,OAAO,EAAE,GAAG;aACb;YACD;gBACE,MAAM,EAAE,GAAG;gBACX,YAAK;gBACL,OAAO,EAAE,CAAC;aACb,CAAC,CAAC;IACL,CAAC;IAED,uCAAO,GAAP,UAAQ,KAAK,EAAE,KAAK;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,KAAK;YACX,YAAK;SACN,CAAC,CAAC;IACL,CAAC;IAED,wCAAQ,GAAR,UAAS,KAAK;QACZ,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED,yCAAS,GAAT,UAAU,MAAM;QACd,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAC,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,8CAAc,GAAd,UAAe,MAAM;QACnB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;IAC7C,CAAC;IAED,gDAAgB,GAAhB,UAAiB,MAAM;QACrB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAC,CAAC,CAAC;IAC/C,CAAC;IA3ID;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IAER;QAAC,aAAM,EAAE;;yDAAA;IACT;QAAC,aAAM,EAAE;;2DAAA;IACT;QAAC,aAAM,EAAE;;6DAAA;IAzDX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,6BAA6B;YACvC,QAAQ,EAAE,80CAuCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;6BAAA;IAgJF,4BAAC;AAAD,CAAC;AA/IY,6BAAqB,wBA+IjC;;;;;;;;;;;;;;;;;;;ACnMD,iCASO,CAAe,CAAC;AAkBvB;IAAA;QAYY,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,aAAQ,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,mBAAY,EAAE,CAAC;IAqB5C,CAAC;IAlBC,iCAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAGD,sCAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAGD,sCAAY,GAAZ;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,qCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACzD,CAAC;IA/BD;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;8CAAA;IACR;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IAER;QAAC,aAAM,EAAE;;mDAAA;IACT;QAAC,aAAM,EAAE;;qDAAA;IACT;QAAC,aAAM,EAAE;;uDAAA;IAET;QAAC,mBAAY,CAAC,OAAO,CAAC;;;;kDAAA;IAKtB;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;uDAAA;IAK3B;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;uDAAA;IA1C7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,QAAQ,EAAE,2RAWT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;uBAAA;IAoCF,sBAAC;AAAD,CAAC;AAnCY,uBAAe,kBAmC3B;;;;;;;;;;AC9DD,+BAAe,aAAO,CAAC;AACvB,uCAA0B,2BAAqB,CAAC;AAEhD;IAOE,qBAAY,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAa;QAC7C,EAAE,CAAC,CAAC,OAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YAChC,MAAM,GAAG,sBAAS,CAAC,IAAI,CAAC,YAAE;gBACxB,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,yCAAmB,GAAnB,UAAoB,MAAM,EAAE,IAAI,EAAE,MAAM;QACtC,EAAE,CAAC,CAAC,OAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YAChC,MAAM,GAAG,sBAAS,CAAC,IAAI,CAAC,YAAE;gBACxB,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,CAAC;QACf,EAAE,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC;YACxB,UAAU,GAAG,YAAE,CAAC,aAAa,EAAE;iBAC5B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;iBACpB,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC;YAC9B,UAAU,GAAG,YAAE,CAAC,YAAY,EAAE;iBAC3B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;iBACpB,MAAM,CAAC,MAAM,CAAC,CAAC;QAEpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC7B,UAAU,GAAG,YAAE,CAAC,WAAW,EAAE;iBAC1B,MAAM,CAAC,YAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;iBACxD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,CAAC,UAAU,CAAC;IACpB,CAAC;IAED,8BAAQ,GAAR,UAAS,KAAK;QACZ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YAChC,IAAI,UAAU,GAAG,YAAE,CAAC,WAAW,EAAE;iBAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;iBACnB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEjB,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,gBAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,KAAK,GAAQ,SAAS,CAAC,CAAC,yBAAyB;YACrD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtD,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAC,OAAO;oBACrC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,gBAAc,CAAC,WAAW,EAAE,CAAC;gBACvD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YACrB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,4CAAsB,GAAtB,UAAuB,KAAK,EAAE,KAAK;QACjC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACX,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,UAAU,GAAG,YAAE,CAAC,WAAW,EAAE;aAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aACnB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjB,IAAI,eAAe,GAAG,YAAE,CAAC,SAAS,EAAE;aACjC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEpC,qBAAqB;QACrB,IAAI,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,UAAU,GAAG,QAAQ,CAAC;QAC1B,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,OAAO,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC1D,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACpC,EAAE,CAAC,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC;gBACvB,CAAC,EAAE,CAAC;gBACJ,QAAQ,CAAC;YACX,CAAC;YACD,EAAE,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;gBACrB,KAAK,CAAC;YACR,CAAC;YAED,KAAK,CAAC,IAAI,CAAC;gBACT,YAAK;gBACL,cAAM;gBACN,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;YACH,UAAU,GAAG,MAAM,CAAC;YACpB,CAAC,EAAE,CAAC;QACN,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QAEH,yCAAyC;QACzC,GAAG,CAAC,CAAU,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,CAAC;YAAf,IAAI,CAAC;YACR,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;SAC5E;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IACH,kBAAC;AAAD,CAAC;AApIY,mBAAW,cAoIvB;;;;;;;;;;;;;;;;;;;ACvID,iCAGO,CAAe,CAAC;AACvB,yCAAsC,oCAAgB,CAAC;AAEvD;;;;;;;;;GASG;AAKH;IAgDE,0BAAoB,EAAqB,EAAU,IAAY,EAAE,OAAmB;QAAhE,OAAE,GAAF,EAAE,CAAmB;QAAU,SAAI,GAAJ,IAAI,CAAQ;QA9CtD,kBAAa,GAAW,CAAC,CAAC;QAC1B,gBAAW,GAAW,EAAE,CAAC;QACzB,gBAAW,GAAW,EAAE,CAAC;QAgCxB,gBAAW,GAAG,IAAI,mBAAY,EAAE,CAAC;QACjC,gBAAW,GAAG,IAAI,mBAAY,EAAE,CAAC;QAInC,UAAK,GAAQ,EAAE,CAAC;QAGhB,mBAAc,GAAW,CAAC,CAAC;QAC3B,aAAQ,GAAW,CAAC,CAAC;QACrB,eAAU,GAAW,CAAC,CAAC;QAG7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IA3CD,sBAAI,2CAAa;aAIjB;YACE,EAAE,EAAC,IAAI,CAAC,cAAc,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;YACnD,MAAM,CAAC,6BAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;aAPD,UAAkB,GAAW;YAC3B,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;QAC5B,CAAC;;;OAAA;IAQD,sBAAI,qCAAO;aAKX;YACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aAPD,UAAY,GAAG;YACb,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;;;OAAA;IAOD,sBAAI,uCAAS;aAKb;YACE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;aAPD,UAAc,GAAG;YACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;;;OAAA;IAsBD,sCAAW,GAAX;QACE,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,gCAAK,GAAL;QAAA,iBAmBC;QAlBC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAExC,IAAM,QAAQ,GAAG,UAAC,EAA6B;gBAA3B,gBAAK,EAAE,sBAAQ,EAAE,sBAAQ;YAC3C,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACZ,KAAI,CAAC,KAAK,GAAG,KAAG,KAAI,CAAC,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,KAAI,CAAC,WAAa,CAAC;gBAC/E,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;gBAEvB,EAAE,EAAC,CAAC,QAAQ,CAAC;oBAAC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAK,EAAE,kBAAQ,EAAE,CAAC,CAAC;gBACzD,EAAE,EAAC,QAAQ,CAAC;oBAAC,KAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAK,EAAE,kBAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,oBAAK,CACvB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,EAClB,QAAQ,CAAC,CAAC;IACd,CAAC;IAzED;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IAER;QAAC,YAAK,EAAE;;;yDAAA;IAUR;QAAC,YAAK,EAAE;;;mDAAA;IAUR;QAAC,YAAK,EAAE;;;qDAAA;IAUR;QAAC,aAAM,EAAE;;yDAAA;IACT;QAAC,aAAM,EAAE;;yDAAA;IAzCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,WAAW;SACtB,CAAC;;wBAAA;IA8EF,uBAAC;AAAD,CAAC;AA7EY,wBAAgB,mBA6E5B;;;;;;;;;;ACjGD,8BAA8B;AAC9B,qBAAqB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;GAUG;AACH,eAAsB,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ;IAC9E,IAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACnC,IAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,IAAM,SAAS,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC;IACtC,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;IAC5C,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACnC,IAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAC9C,IAAI,SAAS,CAAC;IAEd,kBAAkB,SAAS;QACzB,IAAI,QAAQ,CAAC;QACb,IAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;QAEvC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC9E,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1E,CAAC;QAED,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,QAAQ,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;QACrD,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,QAAQ,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;QACrD,CAAC;QAED,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAE5C,IAAM,IAAI,GAAG,QAAQ,GAAG,QAAQ,CAAC;QACjC,QAAQ,CAAC;YACP,KAAK,EAAE,QAAQ;YACf,kBAAQ;YACR,oBAAS;YACT,QAAQ,EAAE,CAAC,IAAI;SAChB,CAAC,CAAC;QAEH,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACT,MAAM,CAAC,qBAAqB,CAAC,UAAC,GAAG,IAAK,eAAQ,CAAC,GAAG,CAAC,EAAb,CAAa,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,UAAC,SAAS;QACrC,SAAS,GAAG,SAAS,CAAC;QACtB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AA5Ce,aAAK,QA4CpB;AAED;;;;;;GAMG;AACH,wBAA+B,OAAO;IACpC,IAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAE/B,EAAE,EAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,CAAC,CAAC;AACX,CAAC;AARe,sBAAc,iBAQ7B;;;;;;;;;;;;;AC7ED,6BAAc,uCAAmB,CAAC;AAClC,6BAAc,oCAAgB,CAAC;;;;;;;;;;ACD/B,+BAAe,aAAO,CAAC;AAEvB,oBAA2B,IAAI,EAAE,IAAI,EAAE,QAAQ;IAC7C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,MAAM,GAAQ,YAAE,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,MAAM,GAAQ,YAAE,CAAC,SAAS,EAAE,CAAC;IACjC,IAAI,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACvB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAEzB,EAAE,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;QACrB,OAAO,KAAK,GAAG,UAAU,GAAG,QAAQ,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,CAAC;YACV,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,IAAI,OAAO,GAAG,UAAU,CAAC;IAEzB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IACnC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IACnC,IAAI,UAAU,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;IAEpC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QACZ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAClB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;SACrB,CAAC;QACF,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC/B,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;QAC3C,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,SAAS,CAAC;QACzB,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC;QAC3B,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAChD,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC;AACb,CAAC;AAnDe,kBAAU,aAmDzB;AAED,kBAAkB,OAAO;IACvB,MAAM,CAAC,OAAO;SACX,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC;SACjB,MAAM,CAAC,UAAC,GAAG,EAAE,GAAG,IAAO,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACpD,CAAC;;;;;;;;;;;;;;;;;;;AC3DD,iCAMO,CAAe,CAAC;AAiBvB;IAAA;IA+DA,CAAC;IAtDC,8CAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,yCAAM,GAAN;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAED,gDAAa,GAAb;QAAA,iBA6CC;QA5CC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC;YACX,IAAI,KAAK,CAAC;YACV,IAAI,MAAM,CAAC;YACX,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,CAAC;YACN,IAAI,SAAS,GAAG,KAAK,CAAC;YAEtB,EAAE,CAAC,CAAC,KAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC;gBAC/B,IAAI,QAAQ,GAAW,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEhF,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,SAAS,GAAG,MAAM,CAAC;gBACrB,CAAC;gBACD,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC9D,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC;gBACzC,MAAM,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC1B,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;gBACrC,CAAC,GAAG,CAAC,CAAC;YACR,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC;gBACxC,IAAI,QAAQ,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,KAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEhF,EAAE,CAAC,CAAC,aAAa,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC5B,SAAS,GAAG,MAAM,CAAC;gBACrB,CAAC;gBACD,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,KAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBAE9D,KAAK,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACxB,MAAM,GAAG,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC;gBAC1C,CAAC,GAAG,CAAC,CAAC;gBACN,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;YACvC,CAAC;YAED,MAAM,CAAC;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,KAAK,EAAE,SAAS;gBAChB,cAAM;gBACN,YAAK;gBACL,IAAC;gBACD,IAAC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IA3DD;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IAtBV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,mWAUT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;gCAAA;IAgEF,+BAAC;AAAD,CAAC;AA/DY,gCAAwB,2BA+DpC;;;;;;;;;;;;;;;;;;;ACtFD,iCAIO,CAAe,CAAC;AAgBvB;IAAA;IAQA,CAAC;IANC;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;iDAAA;IApBV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;YACpC,QAAQ,EAAE,yLAST;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;0BAAA;IASF,yBAAC;AAAD,CAAC;AARY,0BAAkB,qBAQ9B;;;;;;;;;;;;;AC5BD,6BAAc,qCAAuB,CAAC;AACtC,6BAAc,8BAAU,CAAC;AACzB,6BAAc,+BAAW,CAAC;AAC1B,6BAAc,6BAAS,CAAC;AACxB,6BAAc,8BAAgB,CAAC;AAE/B,6BAAc,gCAAkB,CAAC;AACjC,6BAAc,wCAA0B,CAAC;AACzC,6BAAc,sCAAwB,CAAC;AACvC,6BAAc,kCAAoB,CAAC;AACnC,6BAAc,yCAA2B,CAAC;AAC1C,6BAAc,oCAAsB,CAAC;AACrC,6BAAc,sCAAwB,CAAC;AACvC,6BAAc,6CAA+B,CAAC;AAC9C,6BAAc,+CAAiC,CAAC;AAChD,6BAAc,+CAAiC,CAAC;AAChD,6BAAc,oCAAsB,CAAC;AACrC,6BAAc,oCAAsB,CAAC;AACrC,6BAAc,mCAAqB,CAAC;AACpC,6BAAc,wCAA0B,CAAC;AACzC,6BAAc,8BAAgB,CAAC;;;;;;;;;;ACpB/B;;;;;;GAMG;AACH,qBAA4B,KAAU;IACpC,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC;QAC1B,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;IACrC,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,KAAK,CAAC;AACf,CAAC;AARe,mBAAW,cAQ1B;;;;;;;;;;;;;;;;;;;ACfD,iCAQO,CAAe,CAAC;AACvB,8CAA0B,mCAAsB,CAAC;AACjD,yCAA4B,8BAAiB,CAAC;AA+C9C;IAAA;QAMY,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC/C,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAE7D,gBAAW,GAAU,EAAE,CAAC;QACxB,eAAU,GAAW,OAAO,CAAC;IA0C/B,CAAC;IAtCC,6CAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,0CAAQ,GAAR;QACE,MAAM,CAAC,IAAI,CAAC,IAAI;aACb,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC;aACjB,MAAM,CAAC,UAAC,GAAG,EAAE,CAAC,IAAO,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,wCAAM,GAAN;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAE/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IAC3C,CAAC;IAED,gDAAc,GAAd;QAAA,iBAeC;QAdC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK;YAC5B,IAAM,KAAK,GAAG,0BAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClC,IAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YACtB,IAAM,UAAU,GAAG,KAAK,GAAG,KAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YAC5C,IAAM,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE1C,MAAM,CAAC;gBACL,YAAK;gBACL,YAAK;gBACL,KAAK,EAAE,6BAAS,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC3B,aAAa,EAAE,CAAC,CAAC,IAAI;gBACrB,sBAAU;aACX,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAO,GAAP,UAAQ,IAAI;QACV,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAjDD;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IAER;QAAC,aAAM,EAAE;;2DAAA;IACT;QAAC,aAAM,EAAE;;6DAAA;IACT;QAAC,aAAM,EAAE;;+DAAA;IArDX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,4BAA4B;YACtC,QAAQ,EAAE,6zCAwCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;+BAAA;IAsDF,8BAAC;AAAD,CAAC;AArDY,+BAAuB,0BAqDnC;;;;;;;;;;;;;AC9GD,6BAAc,yCAAoB,CAAC;AACnC,6BAAc,+CAA0B,CAAC;AACzC,6BAAc,+CAA0B,CAAC;AACzC,6BAAc,kDAA6B,CAAC;;;;;;;;;;;;;;;;;;;ACH5C,iCAOQ,CAAe,CAAC;AAsBxB;IAAA;QAKW,aAAQ,GAAY,KAAK,CAAC;QAEzB,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAC/C,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACnD,WAAM,GAAsB,IAAI,mBAAY,EAAE,CAAC;IAgB3D,CAAC;IAdC,sBAAI,8CAAY;aAAhB;YACE,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC;QAC1C,CAAC;;;OAAA;IAGD,2CAAY,GAAZ;QACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;IACzC,CAAC;IAGD,2CAAY,GAAZ;QACE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAC,CAAC,CAAC;IAC3C,CAAC;IAtBD;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IAER;QAAC,aAAM,EAAE;;wDAAA;IACT;QAAC,aAAM,EAAE;;0DAAA;IACT;QAAC,aAAM,EAAE;;4DAAA;IACT;QAAC,aAAM,EAAE;;wDAAA;IAMT;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;4DAAA;IAK3B;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;4DAAA;IAzC7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,QAAQ,EAAE,8ZAeT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;4BAAA;IA2BF,2BAAC;AAAD,CAAC;AA1BY,4BAAoB,uBA0BhC;;;;;;;;;;;;;;;;;;;ACvDD,iCAUQ,CAAe,CAAC;AACvB,yCAA4B,8BAAiB,CAAC;AAgC/C;IAeE,yBAAoB,EAAqB,EAAU,IAAY;QAA3C,OAAE,GAAF,EAAE,CAAmB;QAAU,SAAI,GAAJ,IAAI,CAAQ;QANrD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACnD,kBAAa,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACtD,oBAAe,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAElE,kBAAa,GAAU,EAAE,CAAC;IAEyC,CAAC;IAEpE,qCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,gCAAM,GAAN;QAAA,iBAKC;QAJC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACvB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0CAAgB,GAAhB;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf;YACE,IAAM,cAAc,GAAG,0BAAW,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,UAAC,CAAC;gBAC1B,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,CAAC;YACpC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACf,KAAK,CAAC,IAAI,CAAC;oBACT,YAAK;oBACL,8BAAc;oBACd,KAAK,EAAE,MAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;iBACnC,CAAC,CAAC;YACL,CAAC;;;QAbH,GAAG,EAAgB,UAAS,EAAT,SAAI,CAAC,IAAI,EAAT,cAAS,EAAT,IAAS,CAAC;YAAzB,IAAM,KAAK;;SAcd;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,kCAAQ,GAAR,UAAS,KAAK;QACZ,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED,kCAAQ,GAAR,UAAS,IAAI;QAAb,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAU,GAAV,UAAW,IAAI;QAAf,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iCAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAtED;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IAER;QAAC,aAAM,EAAE;;uDAAA;IACT;QAAC,aAAM,EAAE;;0DAAA;IACT;QAAC,aAAM,EAAE;;4DAAA;IAzCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,mBAAmB;YAC7B,QAAQ,EAAE,65BAyBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;uBAAA;IA2EF,sBAAC;AAAD,CAAC;AA1EY,uBAAe,kBA0E3B;;;;;;;;;;;;;;;;;;;ACrHD,iCAEO,CAAe,CAAC;AACvB,6CAA6B,CAA2B,CAAC;AAuBzD;IASE,8BAAoB,SAAuB;QAAvB,cAAS,GAAT,SAAS,CAAc;IAAI,CAAC;IAEhD,0CAAW,GAAX,UAAY,OAAsB;QAChC,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,gCAA8B,cAAc,MAAG,CAAC,CAAC;IAC3G,CAAC;IAED;;;;;OAKG;IACH,6CAAc,GAAd,UAAe,MAAM,EAAE,MAAM;QAC3B,eAAe;QACf,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACf,IAAI,KAAK,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,UAAC,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAI,CAAC,SAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,MAAG,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IA7BD;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IA1BV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,QAAQ,EAAE,idAgBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;4BAAA;IAkCF,2BAAC;AAAD,CAAC;AAjCY,4BAAoB,uBAiChC;;;;;;;;;;;;;;;;;;;AC3DD,iCAMO,CAAe,CAAC;AAoBvB;IAAA;QAEW,gBAAW,GAAG,UAAU,CAAC;IAuBpC,CAAC;IAbC,gDAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACf,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QAEf,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QACnB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC;YAC3C,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QACnB,CAAC;IAEH,CAAC;IAtBD;QAAC,YAAK,EAAE;;mEAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IAvBV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,mCAAmC;YAC7C,QAAQ,EAAE,oXAaT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;kCAAA;IA0BF,iCAAC;AAAD,CAAC;AAzBY,kCAA0B,6BAyBtC;;;;;;;;;;;;;;;;;;;ACnDD,iCAEO,CAAe,CAAC;AAyBvB;IAAA;QAKW,eAAU,GAAG,CAAC,CAAC;QACf,OAAE,GAAW,CAAC,CAAC;QACf,OAAE,GAAW,CAAC,CAAC;IAQ1B,CAAC;IAJC,gDAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;IACjB,CAAC;IAXD;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IACR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IA9BV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,mCAAmC;YAC7C,QAAQ,EAAE,4cAkBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;kCAAA;IAgBF,iCAAC;AAAD,CAAC;AAfY,kCAA0B,6BAetC;;;;;;;;;;AC1CD,IAAY,MAAM,uBAAM,CAAQ,CAAC;AAEjC,oBAA2B,SAAS,EAAE,WAAW;IAC/C,MAAM,CAAC,UAAS,KAAa;QAC3B,EAAE,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC;QACf,CAAC;QACD,EAAE,CAAC,CAAC,SAAS,KAAK,MAAM,IAAI,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC,CAAC;AACJ,CAAC;AAXe,kBAAU,aAWzB;;;;;;;;;;;;;;;;;;;ACbD,iCAIO,CAAe,CAAC;AACvB,IAAY,MAAM,uBAAM,CAAQ,CAAC;AACjC,+BAAe,aAAO,CAAC;AACvB,+BAAmB,mBAAa,CAAC;AA2BjC;IA0BE,kBAAY,OAAmB,EAAU,IAAY,EAAU,EAAqB;QAA3C,SAAI,GAAJ,IAAI,CAAQ;QAAU,OAAE,GAAF,EAAE,CAAmB;QAf3E,WAAM,GAAW,EAAE,CAAC;QAEnB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,mBAAc,GAAG,IAAI,mBAAY,EAAE,CAAC;QAQ9C,gBAAW,GAAY,KAAK,CAAC;QAK3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,8BAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,yBAAM,GAAN;QAAA,iBAqBC;QApBC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,EAAE,CAAC;YAC3B,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B,IAAI,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC;YAEzC,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,EAAE,CAAC,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACf,KAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YAED,KAAI,CAAC,SAAS,GAAG,mBAAkB,OAAO,MAAI,CAAC;YAE/C,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,KAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3C,KAAI,CAAC,MAAM,GAAG,SAAO,OAAO,SAAI,KAAI,CAAC,QAAQ,MAAG,CAAC;YAEjD,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6BAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAgB,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA5B,IAAI,OAAO;YACd,GAAG,CAAC,CAAU,UAAc,EAAd,YAAO,CAAC,MAAM,EAAd,cAAc,EAAd,IAAc,CAAC;gBAAxB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAlB,CAAkB,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,EAAT,CAAS,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,4BAAS,GAAT;QACE,IAAI,KAAK,CAAC;QAEV,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,KAAK,GAAG,YAAE,CAAC,SAAS,EAAE;iBACnB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,KAAK,GAAG,YAAE,CAAC,WAAW,EAAE;iBACrB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACxC,KAAK,GAAG,YAAE,CAAC,UAAU,EAAE;iBACpB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBAC3B,OAAO,CAAC,GAAG,CAAC;iBACZ,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,2BAAQ,GAAR;QAAA,iBAqBC;QApBC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAAC,MAAM,CAAC;QAEvB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,CAAC,KAAK,GAAG,YAAE,CAAC,MAAM,EAAE;aACrB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;aACjC,EAAE,CAAC,WAAW,EAAE;YACf,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC;gBACZ,IAAM,SAAS,GAAG,YAAE,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,IAAI,KAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACtE,IAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEpD,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACpC,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;aACpB,MAAM,CAAC,QAAQ,CAAC;aAChB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,8BAAW,GAAX;QAAA,iBAoBC;QAnBC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAAC,MAAM,CAAC;QAExB,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;YAC7C,YAAE,CAAC,MAAM,CAAC,KAAI,CAAC,OAAO,CAAC;iBACpB,MAAM,CAAC,QAAQ,CAAC;iBAChB,IAAI,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;YAEpB,2DAA2D;YAC3D,YAAE,CAAC,MAAM,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;iBACzC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;iBACvB,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;iBACzB,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAEnC,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,0BAAO,GAAP;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEzB,IAAI,IAAI,GAAG;YACT,YAAK;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IApKD;QAAC,YAAK,EAAE;;0CAAA;IACR;QAAC,YAAK,EAAE;;2CAAA;IACR;QAAC,YAAK,EAAE;;6CAAA;IACR;QAAC,YAAK,EAAE;;4CAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;4CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;4CAAA;IAER;QAAC,aAAM,EAAE;;4CAAA;IACT;QAAC,aAAM,EAAE;;oDAAA;IAvCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,6nBAoBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;gBAAA;IAyKF,eAAC;AAAD,CAAC;AAxKY,gBAAQ,WAwKpB;;;;;;;;;;AC1MD,WAAY,cAAc;IACxB,wCAAO,MAAa;IACpB,0CAAS,QAAe;IACxB,yCAAQ,OAAc;AACxB,CAAC,EAJW,sBAAc,KAAd,sBAAc,QAIzB;AAJD,IAAY,cAAc,GAAd,sBAIX;;;;;;;;;;;;;ACJD,6BAAc,wCAAkB,CAAC;AACjC,6BAAc,yCAAmB,CAAC;AAClC,6BAAc,2CAAqB,CAAC;AACpC,6BAAc,2CAAqB,CAAC;AAEpC,6BAAc,oCAAc,CAAC;AAC7B,6BAAc,wCAAkB,CAAC;AACjC,6BAAc,mCAAa,CAAC;;;;;;;;;;;;;ACP5B,6BAAc,iDAAkB,CAAC;AACjC,6BAAc,2CAAY,CAAC;;;;;;;;;;ACD3B,WAAY,cAAc;IACxB,uCAAM,KAAY;IAClB,0CAAS,QAAe;IACxB,wCAAO,MAAa;IACpB,yCAAQ,OAAc;AACxB,CAAC,EALW,sBAAc,KAAd,sBAAc,QAKzB;AALD,IAAY,cAAc,GAAd,sBAKX;;;;;;;;;;ACLD,2CAA+B,iDAAkB,CAAC;AAElD,IAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,0BAA0B,YAAY,EAAE,iBAAiB,EAAE,SAAS;IAClE,IAAI,MAAM,CAAC;IAEX,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;QACxB,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,WAAW,CAAC;IAC1C,CAAC;IAED,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC3B,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,WAAW,CAAC;IAC3F,CAAC;IAED,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC3B,MAAM,GAAG,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,CAAC,MAAM,CAAC;AAChB,CAAC;AAED,4BAA4B,YAAY,EAAE,iBAAiB,EAAE,SAAS;IACpE,IAAI,MAAM,CAAC;IAEX,EAAE,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;QACzB,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,WAAW,CAAC;IACzC,CAAC;IAED,EAAE,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;QAC1B,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,GAAG,WAAW,CAAC;IACxF,CAAC;IAED,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,YAAY,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC;IAClF,CAAC;IAED,MAAM,CAAC,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH;IAAA;IAgRA,CAAC;IA9QC;;;;;;;;;;OAUG;IACI,yCAA0B,GAAjC,UAAkC,YAAY,EAAE,iBAAiB,EAAE,SAAS;QAC1E,IAAI,MAAM,GAAG,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAE1E,EAAE,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YAC3D,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC;QACzD,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,qCAAsB,GAA7B,UAA8B,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS;QACvF,IAAI,MAAM,CAAC;QAEX,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;YACxB,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC;QAC9E,CAAC;QAED,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC;QACzG,CAAC;QAED,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,eAAe,GAAG,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACnF,EAAE,CAAC,CAAC,eAAe,GAAG,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACI,2CAA4B,GAAnC,UAAoC,YAAY,EAAE,iBAAiB,EAAE,SAAS;QAC5E,IAAI,MAAM,GAAG,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QAE5E,EAAE,CAAC,CAAC,MAAM,GAAG,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACzD,MAAM,GAAG,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACvD,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACI,uCAAwB,GAA/B,UAAgC,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,SAAS;QACzF,IAAI,MAAM,CAAC;QAEX,EAAE,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YACzB,MAAM,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC;QAC5E,CAAC;QAED,EAAE,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;YAC1B,MAAM,GAAG,iBAAiB,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,GAAG,CAAC,GAAG,WAAW,CAAC;QACtG,CAAC;QAED,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC3B,MAAM,GAAG,iBAAiB,CAAC,KAAK,GAAG,CAAC,GAAG,eAAe,CAAC,KAAK,GAAG,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,eAAe,GAAG,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACrF,EAAE,CAAC,CAAC,eAAe,GAAG,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,eAAe,GAAG,iBAAiB,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,yBAAU,GAAjB,UAAkB,YAAY,EAAE,iBAAiB,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO;QAC9E,IAAI,IAAI,GAAG,KAAK,CAAC;QAEjB,EAAE,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC;YAC1B,IAAI,eAAe,GAAG,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YACrF,EAAE,CAAC,CAAC,eAAe,GAAG,iBAAiB,CAAC,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBAC5E,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,EAAE,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YACzB,IAAI,eAAe,GAAG,kBAAkB,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YACrF,EAAE,CAAC,CAAC,eAAe,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;YACxB,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,GAAG,iBAAiB,CAAC,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9D,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,EAAE,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC3B,IAAI,eAAe,GAAG,gBAAgB,CAAC,YAAY,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;YACnF,EAAE,CAAC,CAAC,eAAe,GAAG,iBAAiB,CAAC,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC9E,IAAI,GAAG,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,4BAAa,GAApB,UAAqB,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,SAAS;QACzE,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,CAAC,CAAC,CAAC;YACV,GAAG,GAAG,cAAc,CAAC,sBAAsB,CACzC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;YACpB,GAAG,GAAG,cAAc,CAAC,sBAAsB,CACzC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;YACpB,IAAI,GAAG,cAAc,CAAC,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,GAAG,GAAG,CAAC,CAAC,CAAC;YACT,IAAI,GAAG,cAAc,CAAC,wBAAwB,CAC5C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,CAAC,EAAE,QAAG,EAAE,UAAI,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,8BAAe,GAAtB,UAAuB,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;QACnE,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC;YAC9C,GAAG,GAAG,cAAc,CAAC,0BAA0B,CAC7C,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAChC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7C,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;YAC7C,GAAG,GAAG,cAAc,CAAC,0BAA0B,CAC7C,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAChC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC;YAC5C,IAAI,GAAG,cAAc,CAAC,4BAA4B,CAChD,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAChC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,GAAG,GAAG,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YAC7C,IAAI,GAAG,cAAc,CAAC,4BAA4B,CAChD,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,CAAC,EAAE,QAAG,EAAE,UAAI,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,iCAAkB,GAAzB,UAA0B,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS;QACtE,IAAM,UAAU,GAAG,cAAc,CAAC,UAAU,CAC1C,OAAO,EACP,MAAM,EACN,SAAS,EACT,SAAS,EACT,OAAO,CAAC,CAAC;QAEX,EAAE,EAAC,UAAU,CAAC,CAAC,CAAC;YACd,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,+BAAc,CAAC,IAAI,CAAC;YAC7B,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7C,MAAM,CAAC,+BAAc,CAAC,KAAK,CAAC;YAC9B,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5C,MAAM,CAAC,+BAAc,CAAC,MAAM,CAAC;YAC/B,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,+BAAc,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/C,MAAM,CAAC,+BAAc,CAAC,GAAG,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAEH,qBAAC;AAAD,CAAC;AAhRY,sBAAc,iBAgR1B;;;;;;;;;;AC9TD,WAAY,SAAS;IACnB,6BAAM,KAAY;IAClB,+BAAQ,OAAc;IACtB,mCAAY,WAAkB;AAChC,CAAC,EAJW,iBAAS,KAAT,iBAAS,QAIpB;AAJD,IAAY,SAAS,GAAT,iBAIX;;;;;;;;;;ACJD,WAAY,UAAU;IACpB,mCAAU,SAAgB;IAC1B,mCAAU,SAAgB;AAC5B,CAAC,EAHW,kBAAU,KAAV,kBAAU,QAGrB;AAHD,IAAY,UAAU,GAAV,kBAGX;;;;;;;;;;;;;;;;;;;ACHD,iCAGO,CAAe,CAAC;AAEvB,qCAA6B,yBAAsB,CAAC;AACpD,qCAA+C,wCAAY,CAAC;AAE5D,uCAA2B,oCAAc,CAAC;AAC1C,2CAA+B,wCAAkB,CAAC;AA0BlD;IAsBE,iCACS,OAAmB,EAClB,QAAkB;QADnB,YAAO,GAAP,OAAO,CAAY;QAClB,aAAQ,GAAR,QAAQ,CAAU;IAC5B,CAAC;IAXD,sBAAI,+CAAU;aAAd;YACE,IAAI,GAAG,GAAG,qBAAqB,CAAC;YAChC,GAAG,IAAI,eAAa,IAAI,CAAC,SAAW,CAAC;YACrC,GAAG,IAAI,WAAS,IAAI,CAAC,IAAM,CAAC;YAC5B,GAAG,IAAI,MAAI,IAAI,CAAC,QAAU,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC;QACb,CAAC;;;OAAA;IAOD,iDAAe,GAAf;QACE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,0CAAQ,GAAR;QAAA,iBAiBC;QAhBC,IAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAC7C,IAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,qBAAqB,EAAE,CAAC;QAEhE,oCAAoC;QACpC,EAAE,EAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAAC,MAAM,CAAC;QAE7C,IAAM,MAAM,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACjD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjD,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACtC,CAAC;QAED,oBAAoB;QACpB,UAAU,CAAC,cAAM,YAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,EAAzD,CAAyD,EAAE,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,iDAAe,GAAf,UAAgB,SAAS,EAAE,OAAO,EAAE,MAAM;QACxC,iHACgE,EADxD,YAAG,EAAE,cAAI,CACgD;QAEjE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,EAAK,GAAG,OAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAK,IAAI,OAAI,CAAC,CAAC;IAChE,CAAC;IAED,+CAAa,GAAb,UAAc,OAAO,EAAE,MAAM;QAC3B,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC7C,IAAM,eAAe,GAAG,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QACzD,kHACmE,EAD3D,YAAG,EAAE,cAAI,CACmD;QAEpE,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAK,GAAG,OAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAK,IAAI,OAAI,CAAC,CAAC;IAC/D,CAAC;IAED,2CAAS,GAAT,UAAU,OAAO,EAAE,MAAM;QACvB,IAAI,CAAC,SAAS,GAAG,yBAAc,CAAC,kBAAkB,CAChD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAID,gDAAc,GAAd;QACE,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;IA3ED;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IAER;QAAC,gBAAS,CAAC,UAAU,CAAC;;6DAAA;IAEtB;QAAC,kBAAW,CAAC,OAAO,CAAC;;6DAAA;IA4DrB;QAAC,mBAAY,CAAC,eAAe,CAAC;QAC7B,uBAAY,CAAC,GAAG,CAAC;;;;iEAAA;IAlGpB;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,+fAoBT;SACF,CAAC;;+BAAA;IAgFF,8BAAC;AAAD,CAAC;AA/EY,+BAAuB,0BA+EnC;;;;;;;;;;;;;;;;;;;AClHD,iCAIO,CAAe,CAAC;AAEvB,qCAA+B,wCAAY,CAAC;AAC5C,uCAA2B,oCAAc,CAAC;AAC1C,2CAA+B,wCAAkB,CAAC;AAClD,sCAA0B,mCAAa,CAAC;AAExC,4CAA+B,yCAAmB,CAAC;AAGnD;IAsCE,0BACU,cAA8B,EAC9B,gBAAkC,EAClC,QAAkB,EAClB,OAAmB,EACnB,IAAY;QAJZ,mBAAc,GAAd,cAAc,CAAgB;QAC9B,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,aAAQ,GAAR,QAAQ,CAAU;QAClB,YAAO,GAAP,OAAO,CAAY;QACnB,SAAI,GAAJ,IAAI,CAAQ;QAzCb,oBAAe,GAAW,EAAE,CAAC;QAC7B,iBAAY,GAAW,EAAE,CAAC;QAC1B,wBAAmB,GAAY,IAAI,CAAC;QACpC,mBAAc,GAAW,EAAE,CAAC;QAC5B,oBAAe,GAAY,KAAK,CAAC;QACjC,qBAAgB,GAAY,IAAI,CAAC;QACjC,qBAAgB,GAAmB,yBAAc,CAAC,GAAG,CAAC;QACtD,qBAAgB,GAAmB,+BAAc,CAAC,MAAM,CAAC;QACzD,gBAAW,GAAe,uBAAU,CAAC,OAAO,CAAC;QAC7C,+BAA0B,GAAY,IAAI,CAAC;QAC3C,6BAAwB,GAAY,IAAI,CAAC;QACzC,uBAAkB,GAAW,GAAG,CAAC;QACjC,uBAAkB,GAAW,GAAG,CAAC;QAEjC,qBAAgB,GAAc,qBAAS,CAAC,GAAG,CAAC;QAG3C,SAAI,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC1B,SAAI,GAAG,IAAI,mBAAY,EAAE,CAAC;IAwBpC,CAAC;IAtBD,sBAAY,6CAAe;aAA3B;YACE,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,qBAAS,CAAC,GAAG;gBACvC,IAAI,CAAC,gBAAgB,KAAK,qBAAS,CAAC,KAAK,CAAC;QACnD,CAAC;;;OAAA;IAED,sBAAY,6CAAe;aAA3B;YACE,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,qBAAS,CAAC,GAAG;gBACvC,IAAI,CAAC,gBAAgB,KAAK,qBAAS,CAAC,SAAS,CAAC;QACvD,CAAC;;;OAAA;IAgBD,sCAAW,GAAX;QACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAGD,kCAAO,GAAP;QACE,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACJ,CAAC;IAGD,iCAAM,GAAN;QACE,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAGD,uCAAY,GAAZ;QACE,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACJ,CAAC;IAGD,uCAAY,GAAZ,UAAa,MAAM;QACjB,EAAE,EAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACzD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE3B,EAAE,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAClB,IAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC;gBACjE,IAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC7C,EAAE,EAAC,QAAQ,CAAC;oBAAC,MAAM,CAAC;YACtB,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAGD,uCAAY,GAAZ;QACE,EAAE,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,sCAAW,GAAX,UAAY,SAAmB;QAA/B,iBAqBC;QApBC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,IAAI,KAAI,CAAC,eAAe,CAAC;gBAAC,MAAM,CAAC;YAEnD,IAAM,IAAI,GAAG,SAAS,GAAG,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC;YAErD,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,KAAI,CAAC,OAAO,GAAG,UAAU,CAAC;gBACxB,KAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;gBAEjC,IAAM,OAAO,GAAG,KAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1C,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAErD,gDAAgD;gBAChD,UAAU,CAAC;oBACT,KAAI,CAAC,gBAAgB,CAAC,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBACvE,CAAC,EAAE,EAAE,CAAC,CAAC;gBAEP,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC,EAAE,IAAI,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAgB,GAAhB,UAAiB,OAAO;QAAxB,iBAoBC;QAnBC,yDAAyD;QACzD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE;YACxE,YAAY,CAAC,KAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,+BAA+B;QAC/B,EAAE,EAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE;gBACxE,KAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,iCAAiC;QACjC,EAAE,EAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAC,KAAK;gBACtE,IAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChD,EAAE,EAAC,CAAC,QAAQ,CAAC;oBAAC,KAAI,CAAC,WAAW,EAAE,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sCAAW,GAAX,UAAY,SAAmB;QAA/B,iBAuBC;QAtBC,EAAE,EAAC,CAAC,IAAI,CAAC,SAAS,CAAC;YAAC,MAAM,CAAC;QAE3B,IAAM,SAAS,GAAG;YAChB,gBAAgB;YAChB,EAAE,EAAC,KAAI,CAAC,sBAAsB,CAAC;gBAAC,KAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9D,EAAE,EAAC,KAAI,CAAC,sBAAsB,CAAC;gBAAC,KAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9D,EAAE,EAAC,KAAI,CAAC,kBAAkB,CAAC;gBAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC;YAEtD,cAAc;YACd,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAErB,oBAAoB;YACpB,KAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;YAC5C,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC,CAAC;QAEF,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,EAAE,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACd,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,SAAS,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAEO,6CAAkB,GAA1B;QACE,MAAM,CAAC;YACL,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO;YACnC,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,IAAI,EAAE,IAAI,CAAC,WAAW;YACtB,SAAS,EAAE,IAAI,CAAC,gBAAgB;YAChC,QAAQ,EAAE,IAAI,CAAC,eAAe;YAC9B,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EAAE,IAAI,CAAC,cAAc;SAC7B,CAAC;IACJ,CAAC;IA9KD;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;iEAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;wEAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;gEAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IAER;QAAC,aAAM,EAAE;;kDAAA;IACT;QAAC,aAAM,EAAE;;kDAAA;IA8BT;QAAC,mBAAY,CAAC,SAAS,CAAC;;;;mDAAA;IAOxB;QAAC,mBAAY,CAAC,MAAM,CAAC;;;;kDAAA;IAOrB;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;wDAAA;IAO3B;QAAC,mBAAY,CAAC,YAAY,EAAE,CAAC,eAAe,CAAC,CAAC;;;;wDAAA;IAe9C;QAAC,mBAAY,CAAC,OAAO,CAAC;;;;wDAAA;IAvFxB;QAAC,gBAAS,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;;wBAAA;IAmLzC,uBAAC;AAAD,CAAC;AAlLY,wBAAgB,mBAkL5B;;;;;;;;;;;;;;;;;;;AChMD,iCAAyB,CAAe,CAAC;AACzC,mCAA6B,CAAiB,CAAC;AAE/C,8CAAiC,2CAAqB,CAAC;AACvD,8CAAwC,2CAAqB,CAAC;AAC9D,4CAA+B,yCAAmB,CAAC;AAEnD,qCAAiC,yBAAgB,CAAC;AASlD;IAAA;IAA6B,CAAC;IAP9B;QAAC,eAAQ,CAAC;YACR,YAAY,EAAE,CAAC,2CAAuB,EAAE,oCAAgB,CAAC;YACzD,SAAS,EAAE,CAAC,2BAAgB,EAAE,gCAAc,CAAC;YAC7C,OAAO,EAAE,CAAC,2CAAuB,EAAE,oCAAgB,CAAC;YACpD,OAAO,EAAE,CAAC,qBAAY,CAAC;YACvB,eAAe,EAAE,CAAC,2CAAuB,CAAC;SAC3C,CAAC;;qBAAA;IAC2B,oBAAC;AAAD,CAAC;AAAjB,qBAAa,gBAAI;;;;;;;;;;;;;;;;;;;;;;;;AChB9B,iCAA2B,CAAe,CAAC;AAC3C,qCAAqD,yBAAgB,CAAC;AACtE,6BAAwC,+BAAG,CAAC;AAG5C;IAAoC,kCAAkB;IAIpD,wBAAmB,gBAAkC;QACnD,kBAAM,gBAAgB,CAAC,CAAC;QADP,qBAAgB,GAAhB,gBAAgB,CAAkB;QAFrD,SAAI,GAAQ,0BAAuB,CAAC;IAIpC,CAAC;IAPH;QAAC,iBAAU,EAAE;;sBAAA;IASb,qBAAC;AAAD,CAAC,CARmC,6BAAkB,GAQrD;AARY,sBAAc,iBAQ1B;;;;;;;;;;ACbD,mBAA0B,CAAC,EAAE,GAAQ;IAAR,mBAAQ,GAAR,QAAQ;IACnC,EAAE,EAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;QACzB,EAAE,EAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;YACzB,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED,EAAE,EAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QACnB,MAAM,CAAC,CAAC,CAAC;IACX,CAAC;IAAC,IAAI,CAAC,CAAC;QACN,MAAM,CAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,QAAK,CAAC;IACxC,CAAC;AACH,CAAC;AAde,iBAAS,YAcxB;;;;;;;;;;ACRD,iCAAwC,EAGvC;QAFC,gBAAK,EAAE,kBAAM,EAAE,oBAAO,EAAE,iBAAiB,EAAjB,sCAAiB,EAAE,iBAAiB,EAAjB,sCAAiB,EAAE,mBAAe,EAAf,oCAAe,EAC7E,kBAAc,EAAd,mCAAc,EAAE,kBAAkB,EAAlB,uCAAkB,EAAE,kBAAkB,EAAlB,uCAAkB,EAAE,kBAAkB,EAAlB,uCAAkB,EAAE,kBAAsB,EAAtB,2CAAsB,EAAE,eAAY,EAAZ,iCAAY;IAEhH,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnD,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACf,EAAE,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,OAAO,IAAI,CAAC,CAAC;QACf,CAAC;IACH,CAAC;IAED,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,EAAE,CAAC;IAEvC,UAAU,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAElD,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACd,WAAW,IAAI,CAAC,CAAC;QACjB,WAAW,IAAI,WAAW,CAAC;QAE3B,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,2DAA2D;YAC3D,IAAI,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;YACpB,WAAW,IAAI,MAAM,CAAC;QACxB,CAAC;IACH,CAAC;IAED,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACd,UAAU,IAAI,CAAC,CAAC;QAChB,UAAU,IAAI,UAAU,CAAC;QACzB,OAAO,IAAI,UAAU,CAAC;QACtB,OAAO,IAAI,EAAE,CAAC;QAEd,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACf,2DAA2D;YAC3D,IAAI,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC;YACpB,UAAU,IAAI,MAAM,CAAC;YACrB,OAAO,IAAI,MAAM,CAAC;QACpB,CAAC;IACH,CAAC;IAED,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACrC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAEvC,MAAM,CAAC;QACL,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,WAAW;QACnB,gBAAO;KACR,CAAC;AACJ,CAAC;AArDe,+BAAuB,0BAqDtC;;;;;;;;;AC3DD,mFAAmF;;AAEnF,IAAI,KAAK,GAAG,mBAAO,CAAC,CAAU,CAAC,CAAC;AAChC,IAAI,KAAK,GAAG,mBAAO,CAAC,CAAU,CAAC,CAAC;AAChC,IAAI,KAAK,GAAG,mBAAO,CAAC,CAAU,CAAC,CAAC;AAChC,IAAI,KAAK,GAAG,mBAAO,CAAC,CAAU,CAAC,CAAC;AAChC,IAAI,MAAM,GAAG,mBAAO,CAAC,CAAW,CAAC,CAAC;AAClC,IAAI,WAAW,GAAG,mBAAO,CAAC,EAAgB,CAAC,CAAC;AAC5C,IAAI,MAAM,GAAG,mBAAO,CAAC,EAAU,CAAC,CAAC;AACjC,IAAI,SAAS,GAAG,mBAAO,CAAC,EAAc,CAAC,CAAC;AACxC,IAAI,KAAK,GAAG,mBAAO,CAAC,EAAU,CAAC,CAAC;AAChC,IAAI,SAAS,GAAG,mBAAO,CAAC,CAAc,CAAC,CAAC;AAExC;kBAAe;IACb,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,KAAK,EAAE,SAAS,CAAC,KAAK;IACtB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,YAAY,EAAE,KAAK,CAAC,YAAY;IAChC,SAAS,EAAE,KAAK,CAAC,SAAS;IAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;IAClC,eAAe,EAAE,KAAK,CAAC,eAAe;IACtC,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,MAAM,EAAE,KAAK,CAAC,MAAM;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,WAAW,EAAE,WAAW,CAAC,WAAW;IACpC,IAAI,EAAE,KAAK,CAAC,IAAI;IAChB,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,KAAK,EAAE,SAAS,CAAC,KAAK;IACtB,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,KAAK,EAAE,KAAK,CAAC,KAAK;IAClB,GAAG,EAAE,KAAK,CAAC,GAAG;IACd,oBAAS;IACT,MAAM,EAAE,SAAS,CAAC,MAAM;IACxB,SAAS,EAAE,SAAS,CAAC,SAAS;IAC9B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;IACjC,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,aAAa,EAAE,MAAM,CAAC,aAAa;IACnC,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,YAAK;IACL,OAAO,EAAE,SAAS,CAAC,OAAO;IAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;CAC7B,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AChDF,iCAWO,CAAe,CAAC;AAEvB,4CAA+B,wCAAkC,CAAC;AAClE,iDAAmC,sCAAgC,CAAC;AACpE,mDAAwD,wCAAkC,CAAC;AAC3F,+BAAe,aAAO,CAAC;AACvB,yCAA4B,8BAAwB,CAAC;AAmDrD;IAAiD,+CAAkB;IAAnE;QAAiD,8BAAkB;QAExD,UAAK,GAAG,YAAE,CAAC,eAAe,EAAE;aAClC,KAAK,CAAC,QAAQ,EAAE,YAAE,CAAC,aAAa,EAAE,CAAC;aACnC,KAAK,CAAC,SAAS,EAAE,YAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aACpC,KAAK,CAAC,GAAG,EAAE,YAAE,CAAC,MAAM,EAAE,CAAC;aACvB,KAAK,CAAC,GAAG,EAAE,YAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QAElB,cAAS,GAAG,YAAE,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,cAAI,IAAI,WAAI,CAAC,KAAK,EAAV,CAAU,CAAC,CAAC;QAElD,UAAK,GAAU,EAAE,CAAC;QAClB,UAAK,GAAwC,EAAE,CAAC;QAChD,kBAAa,GAAU,EAAE,CAAC;QAEzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAU7D,WAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtB,YAAO,GAAG,EAAE,CAAC;QAKJ,mBAAc,GAA0B,cAAI,IAAI,WAAI,CAAC,KAAK,EAAV,CAAU,CAAC;IAoGtE,CAAC;IAlGC,4CAAM,GAAN;QAAA,iBAyBC;QAxBC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,eAAe;YACf,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAI,CAAC,MAAM;aACxB,CAAC,CAAC;YAEH,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,0BACF,KAAI,CAAC,IAAI,CAAC,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,YAAO,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,eACjG,CAAC;YACF,EAAE,EAAC,KAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACd,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAI,CAAC,KAAK,CAAC;qBACzB,KAAK,CAAC,MAAM,EAAE,KAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAI,CAAC,KAAK,CAAC,CAAC;qBAC/C,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAO,GAAP,UAAQ,IAAI,EAAE,IAAI;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,gDAAU,GAAV,UAAW,KAAK;QACd,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,CAAE,KAAK,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,kDAAY,GAAZ,UAAa,KAAK;QAChB,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,qDAAe,GAAf;QAAA,iBAIC;QAHC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAC,IAAI,YAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAC;aAC/C,MAAM,CAAC,UAAC,KAAY,EAAE,IAAI,IAAY,YAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAnD,CAAmD,EAAE,EAAE,CAAC;aAC9F,IAAI,EAAE,CAAC;IACZ,CAAC;IAED,iDAAW,GAAX,UAAY,KAAK,EAAE,IAAI;QACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,iDAAW,GAAX,UAAY,KAAK,EAAE,IAAI;QACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,+CAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9F,CAAC;IAED,sDAAgB,GAAhB;QACE,MAAM,CAAC;YACL,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,iDAAW,GAAX,UAAY,IAAI,EAAE,MAAkB;QAClC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,CAAC;IAGD,4CAAM,GAAN,UAAO,MAAkB;QACvB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YAAC,MAAM,CAAC;QAE/B,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,CAAC;IAGD,+CAAS,GAAT,UAAU,IAAI,EAAE,MAAkB;QAChC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;YAAC,MAAM,CAAC;QAE/B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,EAAE,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;IAChC,CAAC;IAhID;QAAC,YAAK,EAAE;;8DAAA;IAMR;QAAC,YAAK,EAAE;;kEAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;sEAAA;IAER;QAAC,aAAM,EAAE;;iEAAA;IACT;QAAC,aAAM,EAAE;;mEAAA;IAET;QAAC,mBAAY,CAAC,cAAc,CAAC;;qEAAA;IAC7B;QAAC,mBAAY,CAAC,cAAc,CAAC;;qEAAA;IAC7B;QAAC,gBAAS,CAAC,gCAAc,EAAE,EAAE,IAAI,EAAE,iBAAU,EAAE,CAAC;;8DAAA;IAYhD;QAAC,YAAK,EAAE;;uEAAA;IAmFR;QAAC,mBAAY,CAAC,oBAAoB,EAAE,CAAC,QAAQ,CAAC,CAAC;;;;6DAAA;IAQ/C;QAAC,mBAAY,CAAC,kBAAkB,CAAC;;;;gEAAA;IA3KnC;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,iCAAiC;YAC3C,QAAQ,EAAE,60DA4CT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;mCAAA;IAoIF,kCAAC;AAAD,CAAC,CAnIgD,yCAAkB,GAmIlE;AAnIY,mCAA2B,8BAmIvC;;;;;;;;;;;;;;;;;;;ACvMD,iCAAyB,CAAe,CAAC;AACzC,2DAA4C,8DAAkC,CAAC;AAGtE,mCAA2B;AAFpC,gDAAkC,qCAA+B,CAAC;AAalE;IAAA;IAAuC,CAAC;IATxC;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,CAAC;YAC5B,YAAY,EAAE;gBACZ,4DAA2B;aAC5B;YACD,OAAO,EAAE;gBACP,4DAA2B;aAC5B;SACF,CAAC;;gCAAA;IACqC,+BAAC;AAAD,CAAC;AAA3B,gCAAwB,2BAAG;;;;;;;;;;;;;ACfxC,6BAAc,2DAA+B,CAAC;AAC9C,6BAAc,8DAAkC,CAAC;;;;;;;;;;;;;;;;;;;ACDjD,iCAMO,CAAe,CAAC;AAEvB,yCAA4B,8BAAwB,CAAC;AA8BrD;IAAA;QAOY,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IACxC,CAAC;IANC;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IAER;QAAC,aAAM,EAAE;;qDAAA;IAnCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,QAAQ,EAAE,yzBAuBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;yBAAA;IASF,wBAAC;AAAD,CAAC;AARY,yBAAiB,oBAQ7B;;;;;;;;;;;;;;;;;;;AC9CD,iCAKO,CAAe,CAAC;AAEvB,+BAAe,aAAO,CAAC;AA2BvB;IAAA;QAYE,WAAM,GAAW,EAAE,CAAC;IAmFtB,CAAC;IAjFC,wCAAW,GAAX;QACE,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,mCAAM,GAAN;QACE,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,YAAW,IAAI,CAAC,aAAa,MAAI,CAAC;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,qCAAQ,GAAR;QACE,IAAI,cAAc,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;QACvD,IAAI,gBAAgB,GAAG,cAAc,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC7D,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,KAAK,GAAG;YACV,GAAG,EAAE,EAAE;YACP,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,IAAI,aAAa,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACrC,IAAI,QAAQ,GAAG,aAAa,GAAG,UAAU,GAAG,EAAE,CAAC;QAE/C,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,IAAI,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC;YAClC,IAAI,KAAK,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;YAErC,IAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE9C,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC;gBACxD,sBAAU;gBACV,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,cAAc,EAAE;gBACnF,aAAa,EAAE,2BACD,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAK,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAa,CAAC,IAAI,CAAC,aAAa,gBACtG;aACF,CAAC,CAAC;YAEH,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC3B,QAAQ,CAAC;YACX,CAAC;YAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7C,IAAI,aAAa,GAAG,QAAQ,GAAG,CAAC,GAAG,gBAAgB,CAAC;gBACpD,IAAI,UAAU,GAAG,aAAa,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC;gBAE/C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,UAAU,GAAG,CAAC,EAAE,UAAU,CAAC;iBAClE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,0CAAa,GAAb,UAAc,KAAK;QACjB,sBAAsB;QACtB,uBAAuB;QACvB,yBAAyB;QACzB,sBAAsB;QAEtB,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC;QACxC,IAAI,UAAU,GAAG,QAAQ,CAAC;QAC1B,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;YAC/B,UAAU,GAAG,OAAO,CAAC;QACvB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC;YACvC,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;QACD,MAAM,CAAC,UAAU,CAAC;IACpB,CAAC;IAED,wCAAW,GAAX,UAAY,aAAa,EAAE,UAAU,EAAE,KAAK;QAC1C,IAAI,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,EAAE,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,EAAE,GAAG,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAExD,IAAI,MAAM,GAAG,CAAC,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAC,EAAE,EAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAC,CAAC,CAAC;QAC9C,IAAI,IAAI,GAAG,YAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC,CAAC,CAAC,WAAC,IAAI,QAAC,CAAC,CAAC,EAAH,CAAG,CAAC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IA5FD;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IAjCV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;YACpC,QAAQ,EAAE,uvBAoBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;0BAAA;IAgGF,yBAAC;AAAD,CAAC;AA/FY,0BAAkB,qBA+F9B;;;;;;;;;;;;;;;;;;;;;;;;ACjID,iCAOO,CAAe,CAAC;AAEvB,+BAAe,aAAO,CAAC;AACvB,iDAAmC,sCAAgC,CAAC;AACpE,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AA4CrD;IAAoC,kCAAkB;IAAtD;QAAoC,8BAAkB;QAE3C,QAAG,GAAW,CAAC,CAAC;QAChB,QAAG,GAAW,GAAG,CAAC;QAElB,gBAAW,GAAW,EAAE,CAAC;QACzB,kBAAa,GAAW,CAAC,CAAC;QAE1B,aAAQ,GAAY,IAAI,CAAC;QACzB,eAAU,GAAW,CAAC,GAAG,CAAC;QAC1B,cAAS,GAAW,GAAG,CAAC;QACxB,eAAU,GAAW,SAAS,CAAC;QAexC,gBAAW,GAAW,CAAC,CAAC;QACxB,aAAQ,GAAW,EAAE,CAAC;QACtB,kBAAa,GAAW,EAAE,CAAC;QAC3B,iBAAY,GAAW,EAAE,CAAC;IA0J5B,CAAC;IAtJC,wCAAe,GAAf;QAAA,iBAGC;QAFC,gBAAK,CAAC,eAAe,WAAE,CAAC;QACxB,UAAU,CAAC,cAAM,YAAI,CAAC,SAAS,EAAE,EAAhB,CAAgB,CAAC,CAAC;IACrC,CAAC;IAED,+BAAM,GAAN;QAAA,iBAuCC;QAtCC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnB,KAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC;YAED,mCAAmC;YACnC,EAAE,CAAC,CAAC,KAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;gBACxB,KAAI,CAAC,UAAU,GAAG,CAAC,KAAI,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;YAClD,CAAC;YAED,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;aACrB,CAAC,CAAC;YAEH,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;YAE3C,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEnE,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,EAAE,CAAC;YAE3B,KAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,IAAI,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACnD,IAAI,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAEpD,KAAI,CAAC,SAAS,GAAG,eAAc,OAAO,UAAO,OAAO,MAAI,CAAC;YACzD,KAAI,CAAC,QAAQ,GAAG,YAAW,KAAI,CAAC,UAAU,MAAI,CAAC;YAC/C,KAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gCAAO,GAAP;QACE,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QAE7C,IAAI,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvE,IAAI,QAAQ,GAAG,YAAY,GAAG,GAAG,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;QACxE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,GAAG,CAAC,CAAU,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAAtB,IAAI,CAAC;YACR,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC;YACxD,IAAI,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;YAEzC,IAAI,aAAa,GAAG;gBAClB,QAAQ,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG;gBACxC,wBAAW;gBACX,wBAAW;gBACX,IAAI,EAAE;oBACJ,KAAK,EAAE,IAAI,CAAC,GAAG;oBACf,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb;aACF,CAAC;YAEF,IAAI,QAAQ,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,GAAG;gBAC5E,wBAAW;gBACX,wBAAW;gBACX,IAAI,EAAE;oBACJ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,IAAI,EAAE,CAAC,CAAC,IAAI;iBACb;aACF,CAAC;YAEF,IAAI,GAAG,GAAG;gBACR,4BAAa;gBACb,kBAAQ;aACT,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC,EAAE,CAAC;SACL;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,kCAAS,GAAT;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,uCAAc,GAAd;QACE,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAElC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACrB,CAAC;QAED,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC;QACrB,CAAC;QAED,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,sCAAa,GAAb;QACE,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,wCAAe,GAAf;QACE,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAO,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;IAChC,CAAC;IAED,kCAAS,GAAT;QAAA,iBAaC;QAZS,mEAAK,CAAuD;QACpE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC;QAExB,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC;QAClC,IAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAEzF,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,WAAS,IAAI,CAAC,WAAW,UAAK,IAAI,CAAC,WAAW,MAAG,CAAC;YACvE,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACvB,UAAU,CAAC,cAAQ,KAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,gCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,kCAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IApLD;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IAER;QAAC,gBAAS,CAAC,QAAQ,CAAC;;kDAAA;IAvDtB;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,kBAAkB;YAC5B,QAAQ,EAAE,kuCAqCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;sBAAA;IAwLF,qBAAC;AAAD,CAAC,CAvLmC,yCAAkB,GAuLrD;AAvLY,sBAAc,iBAuL1B;;;;;;;;;;;;;;;;;;;AC/OD,iCAAyB,CAAe,CAAC;AACzC,gDAAkC,qCAA+B,CAAC;AAClE,mDAAqC,uCAA0B,CAAC;AAOA,4BAAoB;AANpF,4CAA+B,gCAAmB,CAAC;AAM1C,sBAAc;AALvB,gDAAkC,oCAAuB,CAAC;AAKjC,yBAAiB;AAJ1C,iDAAmC,qCAAwB,CAAC;AAIhB,0BAAkB;AAH9D,6CAA+B,qCAA+B,CAAC;AAC/D,6CAA+B,qCAA+B,CAAC;AAmB/D;IAAA;IAA0B,CAAC;IAf3B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,EAAE,iCAAc,EAAE,iCAAc,CAAC;YAC5D,YAAY,EAAE;gBACZ,6CAAoB;gBACpB,gCAAc;gBACd,uCAAiB;gBACjB,yCAAkB;aACnB;YACD,OAAO,EAAE;gBACP,6CAAoB;gBACpB,gCAAc;gBACd,uCAAiB;gBACjB,yCAAkB;aACnB;SACF,CAAC;;mBAAA;IACwB,kBAAC;AAAD,CAAC;AAAd,mBAAW,cAAG;;;;;;;;;;;;;AC1B3B,6BAAc,6BAAgB,CAAC;AAC/B,6BAAc,gCAAmB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACDlC,iCAOO,CAAe,CAAC;AAEvB,+BAAe,aAAO,CAAC;AACvB,iDAAmC,sCAAgC,CAAC;AACpE,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AA6ErD;IAA0C,wCAAkB;IAA5D;QAA0C,8BAAkB;QAEjD,QAAG,GAAW,CAAC,CAAC;QAChB,QAAG,GAAW,GAAG,CAAC;QAClB,UAAK,GAAW,CAAC,CAAC;QAa3B,WAAM,GAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAGjC,qBAAgB,GAAW,CAAC,CAAC;QAC7B,qBAAgB,GAAW,CAAC,CAAC;QAC7B,uBAAkB,GAAW,EAAE,CAAC;QAChC,mBAAc,GAAU,EAAE,CAAC;QAC3B,uBAAkB,GAAW,EAAE,CAAC;QAChC,mBAAc,GAAW,EAAE,CAAC;IA0G9B,CAAC;IAtGC,8CAAe,GAAf;QAAA,iBAMC;QALC,gBAAK,CAAC,eAAe,WAAE,CAAC;QACxB,UAAU,CAAC;YACT,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAM,GAAN;QAAA,iBAkCC;QAjCC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,gBAAgB,GAAG,KAAI,CAAC,aAAa,KAAK,SAAS,CAAC;YACzD,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,GAAG,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,GAAG,EAAE,KAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,EAAE,CAAC,CAAC,KAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC1B,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,GAAG,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;gBAClD,KAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,GAAG,EAAE,KAAI,CAAC,aAAa,CAAC,CAAC;YACpD,CAAC;YAED,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;aACrB,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YACzC,KAAI,CAAC,UAAU,GAAG,KAAI,CAAC,aAAa,EAAE,CAAC;YACvC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;YAE3C,KAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,IAAI,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACnD,IAAI,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAEpD,KAAI,CAAC,SAAS,GAAG,eAAc,OAAO,UAAO,OAAO,MAAI,CAAC;YACzD,KAAI,CAAC,aAAa,GAAG,gBAAc,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,UAAU,CAAC,KAAI,CAAC,aAAa,CAAC,WAAO,OAAO,MAAI,CAAC;YAC1G,KAAI,CAAC,cAAc,GAAG,mBAAmB,CAAC;YAC1C,KAAI,CAAC,cAAc,GAAG,kBAAkB,CAAC;YACzC,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACxB,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAc,GAAd;QACE,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,4CAAa,GAAb;QACE,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAC3B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9B,CAAC;IAED,8CAAe,GAAf;QACE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAED,wCAAS,GAAT,UAAU,OAAO;QAAjB,iBAgCC;QA/BC,IAAI,EAAE,CAAC;QACP,IAAI,WAAW,CAAC;QAChB,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC;YACxB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YACtB,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YACtB,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACtC,CAAC;QAED,iDAAkE,EAA1D,gBAAK,EAAE,kBAAM,CAA8C;QACnE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC;QACxC,IAAM,QAAQ,GAAG,WAAW,CAAC;QAC7B,IAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACvC,IAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,IAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QACxF,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;QAC3F,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QAE5D,EAAE,CAAC,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC;YAC7B,EAAE,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;gBACpC,IAAI,CAAC,kBAAkB,GAAG,WAAU,WAAW,UAAO,WAAW,MAAI,CAAC;YACxE,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;gBACpC,IAAI,CAAC,kBAAkB,GAAG,WAAU,WAAW,UAAO,WAAW,MAAI,CAAC;YACxE,CAAC;YAED,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;YACvB,UAAU,CAAC,cAAQ,KAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,sCAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAED,wCAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAhID;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IAER;QAAC,gBAAS,CAAC,aAAa,CAAC;;6DAAA;IACzB;QAAC,gBAAS,CAAC,aAAa,CAAC;;6DAAA;IApF3B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,QAAQ,EAAE,wrEAsET;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;4BAAA;IAoIF,2BAAC;AAAD,CAAC,CAnIyC,yCAAkB,GAmI3D;AAnIY,4BAAoB,uBAmIhC;;;;;;;;;;;;;;;;;;;AC5ND,iCAQO,CAAe,CAAC;AAwBvB;IAAA;QAQY,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IA4DxC,CAAC;IAxDC,6CAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,wCAAM,GAAN;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,0CAAQ,GAAR;QAAA,iBA2BC;QA1BC,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,IAAI;gBAClB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBAEvB,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;gBACtB,IAAI,YAAY,GAAG,KAAK,CAAC;gBACzB,EAAE,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;oBAC7C,YAAY,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC;gBACnD,CAAC;gBAED,KAAK,CAAC,IAAI,CAAC;oBACT,CAAC,EAAE,KAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBACxB,CAAC,EAAE,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;oBACzB,KAAK,EAAE,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC9B,MAAM,EAAE,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC/B,IAAI,EAAE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBACjC,IAAI,EAAE,KAAK;oBACX,YAAK;oBACL,MAAM,EAAE,GAAG,CAAC,IAAI;iBACjB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,gDAAc,GAAd,UAAe,EAAuB;YAArB,gBAAK,EAAE,cAAI,EAAE,kBAAM;QAClC,MAAM,CAAC,2CACyB,MAAM,gBAAM,KAAK,mDACnB,IAAI,CAAC,cAAc,EAAE,kBAClD,CAAC;IACJ,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,yCAAO,GAAP,UAAQ,KAAK,EAAE,KAAK,EAAE,MAAM;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,KAAK;YACX,YAAK;YACL,cAAM;SACP,CAAC,CAAC;IACL,CAAC;IAhED;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IAER;QAAC,aAAM,EAAE;;2DAAA;IA9BX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oCAAoC;YAC9C,QAAQ,EAAE,wdAiBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;+BAAA;IAqEF,8BAAC;AAAD,CAAC;AApEY,+BAAuB,0BAoEnC;;;;;;;;;;;;;;;;;;;ACpGD,iCASO,CAAe,CAAC;AACvB,+BAAmB,mBAAa,CAAC;AACjC,+BAAe,aAAO,CAAC;AA2BvB;IAqBE,8BAAY,OAAmB;QAZtB,aAAQ,GAAY,KAAK,CAAC;QAEzB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAWpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,0CAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,SAAS,GAAG,eAAa,IAAI,CAAC,CAAC,WAAM,IAAI,CAAC,CAAC,MAAG,CAAC;QACpD,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,GAAG,SAAO,OAAO,SAAI,IAAI,CAAC,UAAU,MAAG,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAE7C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,+CAAgB,GAAhB;QACE,MAAM,CAAC;YACL;gBACE,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B;YACD;gBACE,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,IAAI,CAAC,IAAI;gBAChB,OAAO,EAAE,CAAC;aACb,CAAC,CAAC;IACL,CAAC;IAED,4CAAa,GAAb;QACE,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,mDAAoB,GAApB;QACE,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;aAC5B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,sCAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IA/DD;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IAER;QAAC,aAAM,EAAE;;wDAAA;IApCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,6BAA6B;YACvC,QAAQ,EAAE,ukBAoBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;4BAAA;IAoEF,2BAAC;AAAD,CAAC;AAnEY,4BAAoB,uBAmEhC;;;;;;;;;;;;;;;;;;;;;;;;ACzGD,iCAIO,CAAe,CAAC;AACvB,+BAAe,aAAO,CAAC;AACvB,iDAAmC,sCAAgC,CAAC;AACpE,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AAkDrD;IAAsC,oCAAkB;IAAxD;QAAsC,8BAAkB;QAsBtD,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;IA2IzB,CAAC;IAxIC,iCAAM,GAAN;QAAA,iBAiCC;QAhCC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,QAAQ;aACrB,CAAC,CAAC;YAEH,KAAI,CAAC,WAAW,EAAE,CAAC;YAEnB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,cAAc,EAAE,CAAC;YAEzC,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;YAC3E,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,qCAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,yCAAc,GAAd;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAc,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA1B,IAAI,KAAK;YACZ,GAAG,CAAC,CAAU,UAAY,EAAZ,UAAK,CAAC,MAAM,EAAZ,cAAY,EAAZ,IAAY,CAAC;gBAAtB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;aACF;SACF;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,GAAK,CAAC,SAAK,MAAM,EAAC,CAAC;QACjC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAE9B,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,oCAAS,GAAT;QACE,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC,YAAY,CAAC,GAAG,CAAC;aACjB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,oCAAS,GAAT;QACE,MAAM,CAAC,YAAE,CAAC,SAAS,EAAE;aAClB,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aACjC,YAAY,CAAC,GAAG,CAAC;aACjB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED,mCAAQ,GAAR;QAAA,iBAiBC;QAhBC,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI;YACpB,KAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,IAAI;gBACpB,KAAK,CAAC,IAAI,CAAC;oBACT,CAAC,EAAE,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACpB,CAAC,EAAE,KAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBACpB,EAAE,EAAE,CAAC;oBACL,KAAK,EAAE,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC9B,MAAM,EAAE,KAAI,CAAC,MAAM,CAAC,SAAS,EAAE;oBAC/B,IAAI,EAAE,wBAAwB;iBAC/B,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,kCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,oCAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzE,CAAC;IAED,2CAAgB,GAAhB;QACE,MAAM,CAAC;YACL,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,IAAI,CAAC,WAAW;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;SAC1B,CAAC;IACJ,CAAC;IAED,2CAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,4CAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IA/JD;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IAzDV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,i9CA2CT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;wBAAA;IAoKF,uBAAC;AAAD,CAAC,CAnKqC,yCAAkB,GAmKvD;AAnKY,wBAAgB,mBAmK5B;;;;;;;;;;;;;;;;;;;AC7ND,iCAAyB,CAAe,CAAC;AACzC,gDAAkC,qCAA+B,CAAC;AAClE,oDAAqC,2CAA2B,CAAC;AAIxD,4BAAoB;AAH7B,2DAAwC,kDAAkC,CAAC;AAG5C,+BAAuB;AAFtD,+CAAiC,sCAAsB,CAAC;AAEA,wBAAgB;AAexE;IAAA;IAA4B,CAAC;IAb7B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,CAAC;YAC5B,YAAY,EAAE;gBACZ,8CAAoB;gBACpB,wDAAuB;gBACvB,qCAAgB;aACjB;YACD,OAAO,EAAE;gBACP,8CAAoB;gBACpB,wDAAuB;gBACvB,qCAAgB;aACjB;SACF,CAAC;;qBAAA;IAC0B,oBAAC;AAAD,CAAC;AAAhB,qBAAa,gBAAG;;;;;;;;;;;;;ACrB7B,6BAAc,mCAAmB,CAAC;AAClC,6BAAc,sCAAsB,CAAC;AACrC,6BAAc,2CAA2B,CAAC;AAC1C,6BAAc,kDAAkC,CAAC;;;;;;;;;;;;;ACHjD,6BAAc,4BAAqB,CAAC;AACpC,6BAAc,uBAAU,CAAC;AACzB,6BAAc,2BAAc,CAAC;AAC7B,6BAAc,0BAAa,CAAC;AAC5B,6BAAc,qCAAwB,CAAC;AACvC,6BAAc,yBAAY,CAAC;AAC3B,6BAAc,2BAAc,CAAC;AAC7B,6BAAc,4BAAe,CAAC;AAC9B,6BAAc,0BAAa,CAAC;AAC5B,6BAAc,yBAAY,CAAC;AAC3B,6BAAc,sBAAS,CAAC;;;;;;;;;;;;;ACVxB,6BAAc,uCAAqB,CAAC;AACpC,6BAAc,0CAAwB,CAAC;AACvC,6BAAc,oCAAkB,CAAC;AACjC,6BAAc,2CAAyB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACHxC,iCAOO,CAAe,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,+BAAmB,mBAAa,CAAC;AACjC,+BAAe,aAAO,CAAC;AACvB,IAAY,MAAM,uBAAM,CAAQ,CAAC;AAuGjC;IAAwC,sCAAkB;IAA1D;QAAwC,8BAAkB;QAY/C,kBAAa,GAAY,IAAI,CAAC;QAC9B,UAAK,GAAG,YAAE,CAAC,KAAK,CAAC,WAAW,CAAC;QAC7B,kBAAa,GAAU,EAAE,CAAC;QAGzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAgB7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE1B,gBAAW,GAAW,CAAC,CAAC;QACxB,eAAU,GAAW,CAAC,CAAC;QAKvB,mBAAc,GAAW,EAAE,CAAC;QAK5B,oBAAe,GAAW,EAAE,CAAC;IAiQ/B,CAAC;IA/PC,mCAAM,GAAN;QAAA,iBA2CC;QA1CC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,SAAS,EAAE,KAAI,CAAC,KAAK;gBACrB,WAAW,EAAE,KAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,KAAI,CAAC,UAAU;gBAC3B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,cAAc;gBAC/B,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,UAAU,EAAE,KAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YAEH,EAAE,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClB,KAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAI,CAAC,cAAc,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,eAAe,CAAC,CAAC;YACpF,CAAC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,EAAE,CAAC,CAAC,KAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBACxB,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,cAAc,CAAC;YACrC,CAAC;YAED,KAAI,CAAC,OAAO,GAAG,KAAI,CAAC,UAAU,EAAE,CAAC;YACjC,KAAI,CAAC,YAAY,GAAG,KAAI,CAAC,eAAe,EAAE,CAAC;YAE3C,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5D,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,OAAO,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE7D,KAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAE7C,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;YAC3E,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,KAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3C,KAAI,CAAC,QAAQ,GAAG,SAAO,OAAO,SAAI,KAAI,CAAC,UAAU,MAAG,CAAC;QACvD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,2CAAc,GAAd;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC;YAEhC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YACxE,IAAI,CAAC,iBAAiB,GAAG,eAAc,IAAI,CAAC,IAAI,CAAC,OAAO,UAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QACrF,CAAC;IACH,CAAC;IAED,uCAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAgB,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA5B,IAAI,OAAO;YACd,GAAG,CAAC,CAAU,UAAc,EAAd,YAAO,CAAC,MAAM,EAAd,cAAc,EAAd,IAAc,CAAC;gBAAxB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,CAAC;aACF;SACF;QAED,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAlB,CAAkB,CAAC,CAAC;YAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,aAAM,CAAC,CAAC,CAAC,EAAT,CAAS,CAAC,CAAC;YACpC,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC;IAED,uCAAU,GAAV;QACE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,GAAG,CAAC,CAAgB,UAAY,EAAZ,SAAI,CAAC,OAAO,EAAZ,cAAY,EAAZ,IAAY,CAAC;YAA5B,IAAI,OAAO;YACd,GAAG,CAAC,CAAU,UAAc,EAAd,YAAO,CAAC,MAAM,EAAd,cAAc,EAAd,IAAc,CAAC;gBAAxB,IAAI,CAAC;gBACR,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC9B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;aACF;SACF;QAED,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;QAC9B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACpB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,4CAAe,GAAf;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,sCAAS,GAAT,UAAU,MAAM,EAAE,KAAK;QACrB,IAAI,KAAK,CAAC;QAEV,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YAC9B,KAAK,GAAG,YAAE,CAAC,SAAS,EAAE;iBACnB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,KAAK,GAAG,YAAE,CAAC,WAAW,EAAE;iBACrB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACxC,KAAK,GAAG,YAAE,CAAC,UAAU,EAAE;iBACpB,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;iBACjB,OAAO,CAAC,GAAG,CAAC;iBACZ,MAAM,CAAC,MAAM,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,sCAAS,GAAT,UAAU,MAAM,EAAE,MAAM;QACtB,MAAM,CAAC,YAAE,CAAC,WAAW,EAAE;aACpB,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAClB,MAAM,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,yCAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,GAAG,GAAG,IAAI,CAAC;QAEf,GAAG,CAAC,CAAc,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,CAAC;YAApB,IAAI,KAAK;YACZ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,KAAK,CAAC;YACf,CAAC;YAED,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC;gBAC9B,GAAG,GAAG,KAAK,CAAC;YACd,CAAC;SACF;QAED,EAAE,CAAC,CAAC,IAAI,CAAC;YAAC,MAAM,CAAC,MAAM,CAAC;QACxB,EAAE,CAAC,CAAC,GAAG,CAAC;YAAC,MAAM,CAAC,QAAQ,CAAC;QACzB,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAED,mCAAM,GAAN,UAAO,KAAK;QACV,EAAE,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC;QACd,CAAC;QAED,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,yCAAY,GAAZ,UAAa,MAAM;QACjB,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,kDAAqB,GAArB,UAAsB,IAAI;QACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC;IACpC,CAAC;IAGD,wCAAW,GAAX;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,oCAAO,GAAP,UAAQ,IAAI,EAAE,MAAM;QAClB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,oCAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,sCAAS,GAAT;QACE,IAAI,MAAM,CAAC;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;YAClC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACzF,CAAC;IAED,6CAAgB,GAAhB;QACE,IAAI,IAAI,GAAG;YACT,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAClC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,6CAAgB,GAAhB,UAAiB,EAAS;YAAP,gBAAK;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,8CAAiB,GAAjB,UAAkB,EAAU;YAAR,kBAAM;QACxB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,uCAAU,GAAV,UAAW,IAAI;QACb,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,yCAAY,GAAZ,UAAa,IAAI;QACf,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IA7SD;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IAER;QAAC,aAAM,EAAE;;wDAAA;IACT;QAAC,aAAM,EAAE;;0DAAA;IAmNT;QAAC,mBAAY,CAAC,YAAY,CAAC;;;;yDAAA;IA1U7B;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,y8GAgGT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;0BAAA;IAiTF,yBAAC;AAAD,CAAC,CAhTuC,yCAAkB,GAgTzD;AAhTY,0BAAkB,qBAgT9B;;;;;;;;;;;;;;;;;;;ACpaD,iCAAyB,CAAe,CAAC;AACzC,gDAAkC,qCAA+B,CAAC;AAClE,2CAA8B,oCAAkB,CAAC;AAIxC,qBAAa;AAHtB,iDAAmC,0CAAwB,CAAC;AAGpC,0BAAkB;AAF1C,kDAAoC,2CAAyB,CAAC;AAElB,2BAAmB;AAe/D;IAAA;IAA8B,CAAC;IAb/B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,CAAC;YAC5B,YAAY,EAAE;gBACZ,8BAAa;gBACb,yCAAkB;gBAClB,2CAAmB;aACpB;YACD,OAAO,EAAE;gBACP,8BAAa;gBACb,yCAAkB;gBAClB,2CAAmB;aACpB;SACF,CAAC;;uBAAA;IAC4B,sBAAC;AAAD,CAAC;AAAlB,uBAAe,kBAAG;;;;;;;;;;;;;;;;;;;ACrB/B,iCAMO,CAAe,CAAC;AACvB,+BAAe,aAAO,CAAC;AACvB,IAAY,MAAM,uBAAM,CAAQ,CAAC;AACjC,+BAAmB,mBAAa,CAAC;AACjC,iCAAqD,qBAAe,CAAC;AAsCrE;IAAA;IA+GA,CAAC;IA7FC,yCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN;QACE,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEnC,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,8CAAgB,GAAhB;QAAA,iBAgBC;QAfC,MAAM,CAAC,YAAE,CAAC,IAAI,EAAE;aACb,CAAC,CAAC,WAAC;YACF,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,IAAI,KAAK,CAAC;YACV,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;gBAC9B,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YAC9C,CAAC;YAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACvC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC;YACD,MAAM,CAAC,KAAK,CAAC;QACf,CAAC,CAAC;aACD,CAAC,CAAC,WAAC,IAAI,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC;aAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,8CAAgB,GAAhB;QAAA,iBAWC;QAVC,IAAI,SAAS,GAAG,UAAC,CAAC;YAChB,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YACrB,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,MAAM,CAAC,YAAE,CAAC,IAAI,EAAE;aACb,CAAC,CAAC,SAAS,CAAC;aACZ,EAAE,CAAC,cAAM,YAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAtB,CAAsB,CAAC;aAChC,EAAE,CAAC,WAAC,IAAI,YAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAApB,CAAoB,CAAC;aAC7B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,sCAAQ,GAAR,UAAS,IAAI;QACX,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YAChC,IAAI,GAAG,iBAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,iBAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,GAAG,mBAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;IACd,CAAC;IAED,6CAAe,GAAf;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACnC,IAAI,CAAC,UAAU,GAAG,MAAM,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,WAAW,GAAG,SAAO,OAAO,SAAI,IAAI,CAAC,UAAU,MAAG,CAAC;YACxD,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;YAChD,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,EAAQ,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QACnE,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QACrC,CAAC;IACH,CAAC;IAED,sCAAQ,GAAR,UAAS,KAAK;QACZ,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED,wCAAU,GAAV,UAAW,KAAK;QACd,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACxE,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IA3GD;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IA5CV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,k/BA+BT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;2BAAA;IAgHF,0BAAC;AAAD,CAAC;AA/GY,2BAAmB,sBA+G/B;;;;;;;;;;;;;;;;;;;AC/JD,iCAWO,CAAe,CAAC;AA6BvB;IAUE,uBAAY,OAAmB;QAJrB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAKpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAVD;QAAC,YAAK,EAAE;;+CAAA;IACR;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IAER;QAAC,aAAM,EAAE;;iDAAA;IAjCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,QAAQ,EAAE,qMAST;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE;gBACV,cAAO,CAAC,gBAAgB,EAAE;oBACxB,iBAAU,CAAC,WAAW,EAAE;wBACtB,YAAK,CAAC;4BACJ,eAAe,EAAE,IAAI;4BACrB,gBAAgB,EAAE,IAAI;yBACvB,CAAC;wBACF,cAAO,CAAC,IAAI,EAAE,YAAK,CAAC;4BAClB,gBAAgB,EAAE,CAAC;yBACpB,CAAC,CAAC;qBACJ,CAAC;iBACH,CAAC;aACH;SACF,CAAC;;qBAAA;IAeF,oBAAC;AAAD,CAAC;AAdY,qBAAa,gBAczB;;;;;;;;;;;;;;;;;;;ACtDD,iCAAyB,CAAe,CAAC;AACzC,gDAAkC,qCAA8B,CAAC;AACjE,8CAAgC,uCAAgC,CAAC;AACjE,6CAA+B,qCAA8B,CAAC;AAC9D,wDAAyC,2DAAoD,CAAC;AAC9F,4CAA8B,mCAA4B,CAAC;AAC3D,8CAAgC,uCAAgC,CAAC;AACjE,+CAAiC,yCAAkC,CAAC;AACpE,6CAA+B,qCAA8B,CAAC;AAC9D,4CAA8B,mCAA4B,CAAC;AAC3D,yCAA4B,6BAAsB,CAAC;AAgBnD;IAAA;IAA8B,CAAC;IAd/B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE;gBACP,uCAAiB;gBACjB,mCAAe;gBACf,iCAAc;gBACd,sDAAwB;gBACxB,+BAAa;gBACb,mCAAe;gBACf,qCAAgB;gBAChB,iCAAc;gBACd,+BAAa;gBACb,0BAAW;aACZ;SACF,CAAC;;uBAAA;IAC4B,sBAAC;AAAD,CAAC;AAAlB,uBAAe,kBAAG;;;;;;;;;;;;;;;;;;;AC1B/B,iCASO,CAAe,CAAC;AA4BvB;IAUE,6BAAoB,IAAY;QAAZ,SAAI,GAAJ,IAAI,CAAQ;QAJtB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IAIF,CAAC;IAErC,yCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,oCAAM,GAAN;QAAA,iBAIC;QAHC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAQ,GAAR;QAAA,iBAuBC;QAtBC,MAAM,CAAC,IAAI,CAAC,IAAI;aACb,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK;YACZ,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACxB,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;gBACtC,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACrC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;YACjC,CAAC;YACD,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAEpB,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,MAAM,CAAC;gBACL,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,CAAC,EAAE,CAAC,CAAC,CAAC;gBACN,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAClC,YAAK;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAK,KAAK,UAAK,KAAO;aAClC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,qCAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,qCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAnDD;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IAER;QAAC,aAAM,EAAE;;uDAAA;IArBX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,2BAA2B;YACrC,QAAQ,EAAE,2QAUT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;2BAAA;IAwDF,0BAAC;AAAD,CAAC;AAvDY,2BAAmB,sBAuD/B;;;;;;;;;;;;;;;;;;;AC5FD,iCAIO,CAAe,CAAC;AACvB,8CAA0B,mCAA6B,CAAC;AACxD,wCAA4B,4BAAsB,CAAC;AACnD,kCAAsC,6BAAiB,CAAC;AAsDxD;IA+BE,uBAAY,OAAmB,EAAU,EAAqB,EAAU,IAAY;QAA3C,OAAE,GAAF,EAAE,CAAmB;QAAU,SAAI,GAAJ,IAAI,CAAQ;QArB1E,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAKtC,UAAK,GAAW,EAAE,CAAC;QAMnB,gBAAW,GAAW,CAAC,CAAC;QACxB,iBAAY,GAAW,EAAE,CAAC;QAC1B,kBAAa,GAAW,EAAE,CAAC;QAK3B,gBAAW,GAAY,KAAK,CAAC;QAI3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,mCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,mCAAW,GAAX;QACE,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;IAED,8BAAM,GAAN;QAAA,iBAeC;QAdC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,SAAS,GAAG,eAAa,KAAI,CAAC,CAAC,WAAM,KAAI,CAAC,CAAC,MAAG,CAAC;YAEpD,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YAC9C,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7C,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE/C,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5B,KAAI,CAAC,YAAY,GAAG,6BAAS,CAAC,KAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC9C,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YAE9C,UAAU,CAAC,cAAM,YAAI,CAAC,SAAS,EAAE,EAAhB,CAAgB,CAAC,CAAC;YACnC,UAAU,CAAC,cAAM,YAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,EAAE,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAY,GAAZ,UAAa,KAAK;QAChB,MAAM,CAAC,yBAAW,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,kCAAU,GAAV;QAAA,iBAiBC;QAhBC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACtB,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAExC,IAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC5B,IAAM,IAAI,GAAG,sBAAc,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAM,QAAQ,GAAG,UAAC,EAAS;oBAAP,gBAAK;gBACvB,KAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACZ,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;oBACpC,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;gBACzB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,IAAI,CAAC,YAAY,GAAG,aAAK,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,iCAAS,GAAT;QAAA,iBA4BC;QA3BC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,2DAAyE,EAAnE,gBAAK,EAAE,kBAAM,CAAuD;YAC1E,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,CAAC;YACT,CAAC;YAED,IAAI,cAAc,GAAG,KAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YAC3C,IAAI,eAAe,GAAG,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAE7C,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAC7B,KAAI,CAAC,kBAAkB,GAAG,cAAc,GAAG,KAAK,CAAC;gBACjD,KAAI,CAAC,aAAa,GAAG,cAAc,CAAC;YACtC,CAAC;YAED,EAAE,CAAC,CAAC,CAAC,KAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;gBAC9B,KAAI,CAAC,mBAAmB,GAAG,eAAe,GAAG,MAAM,CAAC;gBACpD,KAAI,CAAC,cAAc,GAAG,eAAe,CAAC;YACxC,CAAC;YAED,IAAI,aAAa,GAAG,CAAC,cAAc,GAAG,KAAI,CAAC,aAAa,CAAC,GAAG,KAAI,CAAC,kBAAkB,CAAC;YACpF,IAAI,cAAc,GAAG,CAAC,eAAe,GAAG,KAAI,CAAC,cAAc,CAAC,GAAG,KAAI,CAAC,mBAAmB,CAAC;YAExF,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;YAE3D,KAAI,CAAC,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,KAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACxE,KAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+BAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACvB,CAAC,CAAC;IACL,CAAC;IApHD;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;4CAAA;IACR;QAAC,YAAK,EAAE;;4CAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;+CAAA;IAER;QAAC,aAAM,EAAE;;iDAAA;IAET;QAAC,gBAAS,CAAC,QAAQ,CAAC;;iDAAA;IAhEtB;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oBAAoB;YAC9B,QAAQ,EAAE,i4CA+CT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;qBAAA;IAyHF,oBAAC;AAAD,CAAC;AAxHY,qBAAa,gBAwHzB;;;;;;;;;;;;;ACrLD,6BAAc,yCAAsB,CAAC;AACrC,6BAAc,4CAAyB,CAAC;AACxC,6BAAc,qCAAkB,CAAC;AACjC,6BAAc,4CAAyB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;ACHxC,iCAGO,CAAe,CAAC;AACvB,iDAAmC,sCAAgC,CAAC;AACpE,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,+CAA2B,oCAA8B,CAAC;AAoB1D;IAAyC,uCAAkB;IAA3D;QAAyC,8BAAkB;QAOzD,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAiC5B,CAAC;IA/BC,oCAAM,GAAN;QAAA,iBAiBC;QAhBC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;aACrB,CAAC,CAAC;YAEH,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,IAAI,GAAG,+BAAU,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAErD,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uCAAS,GAAT;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,qCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,uCAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IAxDH;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,wBAAwB;YAClC,QAAQ,EAAE,iYAaT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;2BAAA;IAyCF,0BAAC;AAAD,CAAC,CAxCwC,yCAAkB,GAwC1D;AAxCY,2BAAmB,sBAwC/B;;;;;;;;;;;;;;;;;;;ACnED,iCAAyB,CAAe,CAAC;AACzC,gDAAkC,qCAA+B,CAAC;AAClE,2CAA8B,qCAAkB,CAAC;AAIxC,qBAAa;AAHtB,kDAAoC,4CAAyB,CAAC;AAGtC,2BAAmB;AAF3C,kDAAoC,4CAAyB,CAAC;AAEjB,2BAAmB;AAehE;IAAA;IAA+B,CAAC;IAbhC;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,CAAC;YAC5B,YAAY,EAAE;gBACZ,8BAAa;gBACb,2CAAmB;gBACnB,2CAAmB;aACpB;YACD,OAAO,EAAE;gBACP,8BAAa;gBACb,2CAAmB;gBACnB,2CAAmB;aACpB;SACF,CAAC;;wBAAA;IAC6B,uBAAC;AAAD,CAAC;AAAnB,wBAAgB,mBAAG;;;;;;;;;;;;;;;;;;;;;;;;ACrBhC,iCAMO,CAAe,CAAC;AAEvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AA8CpE;IAA+C,6CAAkB;IAAjE;QAA+C,8BAAkB;QAGtD,kBAAa,GAAU,EAAE,CAAC;QAEzB,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAU7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAqD5B,CAAC;IAnDC,0CAAM,GAAN;QAAA,iBAsBC;QArBC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI;gBAC5B,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;aACrB,CAAC,CAAC;YAEH,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,IAAI,OAAO,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YAClC,IAAI,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,KAAK,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEjE,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;YACrE,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAE3C,KAAI,CAAC,SAAS,GAAG,eAAa,OAAO,WAAM,OAAO,MAAG,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6CAAS,GAAT;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,2CAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,6CAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IAED,8CAAU,GAAV,UAAW,KAAK;QACd,EAAE,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAAC,MAAM,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,CAAE,KAAK,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACtD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,gDAAY,GAAZ,UAAa,KAAK;QAChB,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAE9C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAjED;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;oEAAA;IAER;QAAC,aAAM,EAAE;;+DAAA;IACT;QAAC,aAAM,EAAE;;iEAAA;IAlDX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;YACzC,QAAQ,EAAE,mzCAuCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;iCAAA;IAsEF,gCAAC;AAAD,CAAC,CArE8C,yCAAkB,GAqEhE;AArEY,iCAAyB,4BAqErC;;;;;;;;;;;;;AC7HD,6BAAc,qCAAoB,CAAC;AACnC,6BAAc,wCAAuB,CAAC;AACtC,6BAAc,sCAAqB,CAAC;AACpC,6BAAc,uCAAsB,CAAC;AACrC,6BAAc,yCAAwB,CAAC;AACvC,6BAAc,wCAAuB,CAAC;AACtC,6BAAc,yCAAwB,CAAC;;;;;;;;;;;;;;;;;;;ACNvC,iCASO,CAAe,CAAC;AACvB,+BAAe,aAAO,CAAC;AACvB,+BAAmB,mBAAa,CAAC;AA4BjC;IA6BE,yBAAY,OAAmB;QA1BtB,eAAU,GAAW,CAAC,CAAC;QACvB,aAAQ,GAAW,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QAG/B,iBAAY,GAAW,CAAC,CAAC;QAIzB,kBAAa,GAAY,KAAK,CAAC;QAC/B,aAAQ,GAAY,KAAK,CAAC;QAC1B,YAAO,GAAY,IAAI,CAAC;QACxB,kBAAa,GAAY,IAAI,CAAC;QAC9B,aAAQ,GAAY,KAAK,CAAC;QAEzB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,aAAQ,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,mBAAY,EAAE,CAAC;QAQ1C,gBAAW,GAAY,KAAK,CAAC;QAG3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,qCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,gCAAM,GAAN;QACE,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtE,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QAExB,IAAI,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,YAAY,GAAG,OAAE,EAAE,CAAC,QAAQ,EAAE,CAAC;QAEvD,IAAI,CAAC,YAAY,GAAG,SAAO,OAAO,SAAI,IAAI,CAAC,gBAAgB,MAAG,CAAC;QAE/D,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;YACjB,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC;IAEH,CAAC;IAED,sCAAY,GAAZ;QACE,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACnC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC;YACjD,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;QACzD,CAAC;QAED,MAAM,CAAC,YAAE,CAAC,GAAG,EAAE;aACZ,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC;aAC7B,WAAW,CAAC,WAAW,CAAC;aACxB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IAED,uCAAa,GAAb;QACE,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;QACpH,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE9B,IAAI;aACD,UAAU,EAAE;aACZ,SAAS,CAAC,GAAG,EAAE,UAAS,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnC,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACnC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;YACtC,IAAI,WAAW,GAAG,YAAE,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,UAAS,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC;QACJ,CAAC,CAAC;aACD,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;aAC1B,SAAS,CAAC,GAAG,EAAE,UAAS,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,YAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,UAAS,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,yCAAe,GAAf;QACE,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;QACpH,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAE9B,IAAI;aACD,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;aAC1B,SAAS,CAAC,GAAG,EAAE,UAAS,CAAC;YACxB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;YACnC,IAAI,WAAW,GAAG,YAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,UAAS,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,iCAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAjHD;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;yDAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;gDAAA;IACR;QAAC,YAAK,EAAE;;iDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IAER;QAAC,aAAM,EAAE;;mDAAA;IACT;QAAC,aAAM,EAAE;;qDAAA;IACT;QAAC,aAAM,EAAE;;uDAAA;IA7CX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,qqBAqBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;uBAAA;IAsHF,sBAAC;AAAD,CAAC;AArHY,uBAAe,kBAqH3B;;;;;;;;;;;;;;;;;;;;;;;;AC5JD,iCAMO,CAAe,CAAC;AACvB,mDAAwC,wCAAkC,CAAC;AAC3E,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AAgCpE;IAAuC,qCAAkB;IAAzD;QAAuC,8BAAkB;QAE9C,WAAM,GAAG,KAAK,CAAC;QACf,WAAM,GAAG,KAAK,CAAC;QACf,kBAAa,GAAG,KAAK,CAAC;QACtB,aAAQ,GAAG,KAAK,CAAC;QAEjB,kBAAa,GAAU,EAAE,CAAC;QAEzB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,aAAQ,GAAsB,IAAI,mBAAY,EAAE,CAAC;QACjD,eAAU,GAAsB,IAAI,mBAAY,EAAE,CAAC;QAS7D,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAwG5B,CAAC;IArGC,kCAAM,GAAN;QAAA,iBAyCC;QAxCC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,EAAE,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,KAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YACjC,CAAC;YAED,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;gBACpB,UAAU,EAAE,KAAI,CAAC,MAAM;gBACvB,OAAO,EAAE,EAAE;aACZ,CAAC,CAAC;YAEH,IAAI,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;YACnD,IAAI,OAAO,GAAG,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACpD,KAAI,CAAC,WAAW,GAAG,eAAa,OAAO,UAAK,OAAO,MAAG,CAAC;YACvD,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,EAAE,CAAC,CAAC,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChB,uBAAuB;gBACvB,KAAI,CAAC,WAAW,IAAI,CAAC,CAAC;YACxB,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAI,CAAC,WAAW,IAAI,CAAC,CAAC;YACxB,CAAC;YACD,KAAI,CAAC,WAAW,GAAG,CAAC,CAAC;YACrB,EAAE,CAAC,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClB,KAAI,CAAC,WAAW,GAAG,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YAC7C,CAAC;YAED,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,gCAAgC;YAChC,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;YAEH,KAAI,CAAC,SAAS,EAAE,CAAC;YACjB,KAAI,CAAC,aAAa,GAAG,KAAI,CAAC,gBAAgB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,qCAAS,GAAT;QACE,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC;YAChB,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;gBACtC,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;YACrC,CAAC;YAAC,IAAI,CAAC,CAAC;gBACN,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;YACjC,CAAC;YAED,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,mCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,qCAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IAED,4CAAgB,GAAhB;QACE,MAAM,CAAC;YACL,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,sCAAU,GAAV,UAAW,IAAI;QACb,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACb,MAAM,CAAC;QACT,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,CAAE,IAAI,SAAK,IAAI,CAAC,aAAa,CAAE,CAAC;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,wCAAY,GAAZ,UAAa,IAAI;QACf,IAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAC;YACxC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,GAAO,IAAI,CAAC,aAAa,QAAC,CAAC;QAE7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;IACtE,CAAC;IAxHD;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IAER;QAAC,aAAM,EAAE;;qDAAA;IACT;QAAC,aAAM,EAAE;;uDAAA;IACT;QAAC,aAAM,EAAE;;yDAAA;IAzCX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,sBAAsB;YAChC,QAAQ,EAAE,o6BAyBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;yBAAA;IA6HF,wBAAC;AAAD,CAAC,CA5HsC,yCAAkB,GA4HxD;AA5HY,yBAAiB,oBA4H7B;;;;;;;;;;;;;;;;;;;ACrKD,iCAAyB,CAAe,CAAC;AACzC,gDAAkC,qCAA+B,CAAC;AAClE,yDAA0C,iDAAgC,CAAC;AASzE,iCAAyB;AAR3B,gDAAkC,wCAAuB,CAAC;AAQ7B,yBAAiB;AAP9C,8CAAgC,sCAAqB,CAAC;AAON,uBAAe;AAN/D,gDAAkC,wCAAuB,CAAC;AAOxD,yBAAiB;AANnB,+CAAiC,uCAAsB,CAAC;AAMnC,wBAAgB;AALrC,sDAAuC,8CAA6B,CAAC;AAK9B,8BAAsB;AAJ7D,iDAAmC,yCAAwB,CAAC;AAK1D,0BAAkB;AAwBpB;IAAA;IAA6B,CAAC;IArB9B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,CAAC;YAC5B,YAAY,EAAE;gBACZ,wDAAyB;gBACzB,uCAAiB;gBACjB,mCAAe;gBACf,uCAAiB;gBACjB,qCAAgB;gBAChB,kDAAsB;gBACtB,yCAAkB;aACnB;YACD,OAAO,EAAE;gBACP,wDAAyB;gBACzB,uCAAiB;gBACjB,mCAAe;gBACf,uCAAiB;gBACjB,qCAAgB;gBAChB,kDAAsB;gBACtB,yCAAkB;aACnB;SACF,CAAC;;sBAAA;IAC2B,qBAAC;AAAD,CAAC;AAAjB,sBAAc,iBAAG;;;;;;;;;;;;;;;;;;;ACrC9B,iCASO,CAAe,CAAC;AACvB,+BAAe,aAAO,CAAC;AA0BvB;IAaE,gCAAY,OAAmB;QATtB,gBAAW,GAAG,EAAE,CAAC;QACjB,gBAAW,GAAG,EAAE,CAAC;QAEhB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAOpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,4CAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,uCAAM,GAAN;QACE,IAAI,CAAC,MAAM,GAAG,YAAE,CAAC,GAAG,EAAE;aACnB,KAAK,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAZ,CAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,wCAAO,GAAP;QAAA,iBAoBC;QAnBC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;YAC3C,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAEhC,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC;YACrB,CAAC;YAED,IAAI,KAAK,GAAG,KAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,MAAM,CAAC;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI;gBACnB,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK;gBAC7B,IAAI,EAAE,KAAK;gBACX,UAAU,EAAE,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,UAAU;gBACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ;gBACtB,OAAO,EAAE,CAAC,KAAK;gBACf,aAAa,EAAE,CAAC,KAAK;aACtB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YAC5B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,wCAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,sCAAK,GAAL,UAAM,GAAG;QACP,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;IACvB,CAAC;IAED,sCAAK,GAAL,UAAM,GAAG;QACP,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAjED;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IACR;QAAC,YAAK,EAAE;;+DAAA;IAER;QAAC,aAAM,EAAE;;0DAAA;IA/BX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,+BAA+B;YACzC,QAAQ,EAAE,omBAkBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;8BAAA;IAuEF,6BAAC;AAAD,CAAC;AArEY,8BAAsB,yBAqElC;;;;;;;;;;;;;;;;;;;;;;;;ACzGD,iCAGO,CAAe,CAAC;AAEvB,+BAAe,aAAO,CAAC;AACvB,mDAAwD,wCAAkC,CAAC;AAC3F,yCAA4B,8BAAwB,CAAC;AACrD,iDAAmC,sCAAgC,CAAC;AACpE,8CAA0B,mCAA6B,CAAC;AACxD,+CAA2B,oCAA8B,CAAC;AAC1D,yCAA4B,8BAAwB,CAAC;AA0DrD;IAAsC,oCAAkB;IAAxD;QAAsC,8BAAkB;QAQtD,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IA2F5B,CAAC;IAzFC,iCAAM,GAAN;QAAA,iBAkBC;QAjBC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;aACrB,CAAC,CAAC;YAEH,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,IAAI,GAAG,+BAAU,CAAC,KAAI,CAAC,IAAI,EAAE,KAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YACrD,KAAI,CAAC,SAAS,GAAG,eAAa,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAM,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAG,CAAC;YAEpE,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,KAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,yCAAc,GAAd,UAAe,KAAK,EAAE,GAAG;QACvB,MAAM,CAAC,2CACyB,KAAK,mDACP,GAAG,kBAChC,CAAC;IACJ,CAAC;IAED,oCAAS,GAAT;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,oCAAS,GAAT;QAAA,iBA0CC;QAzCC,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC;YACrB,IAAM,mBAAmB,GAAG,EAAE,CAAC;YAC/B,IAAM,OAAO,GAAG,EAAE,CAAC;YACnB,IAAM,KAAK,GAAG,0BAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,IAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3B,IAAM,MAAM,GAAG,CAAC,YAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACrF,IAAM,WAAW,GAAG,MAAM,GAAG,GAAG,CAAC;YAEjC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAM,MAAM,GAAG;gBACb,KAAK,IAAI,CAAC,CAAC;gBACX,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChB,MAAM,CAAC,uBAAuB,CAAC;gBACjC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,MAAM,CAAC,KAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;YACH,CAAC,CAAC;YAEF,IAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAM,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAExD,MAAM,CAAC;gBACL,SAAS,EAAE,eAAa,IAAI,UAAK,IAAI,MAAG;gBACxC,cAAM;gBACN,wBAAW;gBACX,WAAW,EAAE,MAAM;gBACnB,KAAK,EAAE,6BAAS,CAAC,KAAK,CAAC;gBACvB,KAAK,EAAE,KAAK;gBACZ,YAAK;gBACL,OAAO,EAAE,YAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBACzC,IAAI,EAAE,CAAC,CAAC,EAAE;wBACR,IAAI,EAAE;4BACJ,KAAK,EAAE,IAAI;4BACX,KAAK,EAAE,KAAK,GAAG,KAAK;4BACpB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;yBAClB;qBACF,CAAC;aACH,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mCAAQ,GAAR;QACE,MAAM,CAAC,IAAI,CAAC,OAAO;aAChB,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC;aACjB,MAAM,CAAC,UAAC,GAAG,EAAE,CAAC,IAAO,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,kCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,oCAAS,GAAT;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5F,CAAC;IAzJH;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,2oDAmDT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;wBAAA;IAoGF,uBAAC;AAAD,CAAC,CAnGqC,yCAAkB,GAmGvD;AAnGY,wBAAgB,mBAmG5B;;;;;;;;;;;;;;;;;;;ACxKD,iCAOO,CAAe,CAAC;AACvB,8CAA0B,mCAA6B,CAAC;AACxD,+BAAe,aAAO,CAAC;AA0BvB;IAgBE,2BAAY,OAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,6BAAS,CAAC;IAC7B,CAAC;IAED,uCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,kCAAM,GAAN;QACE,IAAM,MAAM,GAAG,GAAG,CAAC;QAEnB,IAAI,QAAQ,GAAG,YAAE,CAAC,GAAG,EAAE;aACpB,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;aACjC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAErC,IAAI,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;YACvB,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;QACpD,CAAC;QAED,IAAI,QAAQ,GAAG,YAAE,CAAC,GAAG,EAAE;aACpB,WAAW,CAAC,WAAW,CAAC;aACxB,WAAW,CAAC,WAAW,CAAC,CAAC;QAE5B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,IAAI,GAAG,MAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAI,IAAI,CAAC,OAAS,CAAC;QAC/F,IAAI,CAAC,SAAS,GAAG,eAAa,IAAI,CAAC,OAAO,MAAG,CAAC;QAE9C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,sCAAU,GAAV;QACE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC;IAC9D,CAAC;IAED,oCAAQ,GAAR,UAAS,CAAC;QACR,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,yCAAa,GAAb;QACE,IAAI,KAAK,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,KAAK;aACF,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aAClB,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;aACrC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEtB,IAAI;aACD,KAAK,CAAC,mBAAmB,EAAE,IAAI,CAAC;aAChC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC;aACrC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC;aAC/B,UAAU,EAAE;aACZ,KAAK,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAxED;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;qDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;kDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IAhCV;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,yBAAyB;YACnC,QAAQ,EAAE,mhBAmBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;yBAAA;IA6EF,wBAAC;AAAD,CAAC;AA5EY,yBAAiB,oBA4E7B;;;;;;;;;;;;;;;;;;;AC/GD,iCAQO,CAAe,CAAC;AACvB,+BAAe,aAAO,CAAC;AACvB,yCAA4B,8BAAwB,CAAC;AAyCrD;IAAA;QAGW,WAAM,GAAQ,EAAE,CAAC;QAEjB,gBAAW,GAAG,EAAE,CAAC;QACjB,gBAAW,GAAG,EAAE,CAAC;QAMhB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC5B,aAAQ,GAAG,IAAI,mBAAY,EAAE,CAAC;QAC9B,eAAU,GAAG,IAAI,mBAAY,EAAE,CAAC;IAsG5C,CAAC;IAjGC,wCAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,mCAAM,GAAN;QACE,IAAI,GAAG,GAAQ,YAAE,CAAC,GAAG,EAAE;aACpB,KAAK,CAAC,UAAC,CAAC,IAAK,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC;aACrB,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEjC,IAAI,CAAC,GAAG,GAAG,YAAE,CAAC,GAAG,CAAC,OAAO,EAAE,UAAC,CAAC;YAC3B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,qCAAQ,GAAR,UAAS,CAAC;QACR,MAAM,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,qCAAQ,GAAR;QACE,IAAM,MAAM,GAAG,GAAG,CAAC;QAEnB,MAAM,CAAC,YAAE,CAAC,GAAG,EAAE;aACZ,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;aACtC,WAAW,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,oDAAuB,GAAvB,UAAwB,OAAO;QAA/B,iBA2BC;QA1BC,IAAM,WAAW,GAAG,EAAE,CAAC;QACvB,IAAI,cAAc,GAAG,OAAO,CAAC;QAE7B,cAAc,CAAC,OAAO,CAAC,UAAC,CAAC;YACvB,CAAC,CAAC,GAAG,GAAG,KAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACpC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAI,CAAC,WAAW,GAAG,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAE1B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC1B,8BAA8B;gBAC9B,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC5B,yBAAyB;oBACzB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC;wBACjD,2BAA2B;wBAC3B,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;wBAClD,CAAC,EAAE,CAAC;oBACN,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,cAAc,CAAC;IACxB,CAAC;IAED,yCAAY,GAAZ,UAAa,GAAG;QACd,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,kCAAK,GAAL,UAAM,GAAG;QACP,MAAM,CAAC,0BAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,wCAAW,GAAX,UAAY,GAAG;QACb,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAM,GAAG,GAAG,0BAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExC,MAAM,CAAC,2CACyB,KAAK,mDACP,GAAG,kBAChC,CAAC;IACJ,CAAC;IAED,kCAAK,GAAL,UAAM,GAAG;QACP,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,oCAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,oCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,qCAAQ,GAAR,UAAS,KAAK;QACZ,EAAE,EAAC,CAAC,IAAI,CAAC,aAAa,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAC;YAClC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAhHD;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;oDAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IACR;QAAC,YAAK,EAAE;;0DAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;6DAAA;IAER;QAAC,aAAM,EAAE;;sDAAA;IACT;QAAC,aAAM,EAAE;;wDAAA;IACT;QAAC,aAAM,EAAE;;0DAAA;IArDX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,0BAA0B;YACpC,QAAQ,EAAE,mmCAkCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;0BAAA;IAqHF,yBAAC;AAAD,CAAC;AApHY,0BAAkB,qBAoH9B;;;;;;;;;;;;;ACvKD,6BAAc,qCAAqB,CAAC;AACpC,6BAAc,+CAA+B,CAAC;;;;;;;;;;ACE9C;IAOE,4BAAmB,gBAAkC;QAAlC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAH3C,aAAQ,GAAQ,EAAE,CAAC;QACnB,eAAU,GAAkB,IAAI,GAAG,EAAE,CAAC;IAES,CAAC;IAE1D,sCAAS,GAAT,UAAU,IAAqB;QAArB,oBAAqB,GAArB,OAAY,IAAI,CAAC,IAAI;QAC7B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,mCAAM,GAAN,UAAO,QAAa;QAClB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,yCAAY,GAAZ,UAAa,IAAS,EAAE,QAAa;QACnC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEzC,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE/B,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAED,oCAAO,GAAP,UAAQ,QAAQ;QACd,IAAI,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAE9D,EAAE,EAAC,WAAW,CAAC,CAAC,CAAC;YACf,IAAM,GAAG,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE1C,EAAE,EAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACZ,IAAI,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBACjC,SAAS,CAAC,OAAO,EAAE,CAAC;gBACpB,WAAW,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,uCAAU,GAAV;QACE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,0CAAa,GAAb,UAAc,IAAI;QAChB,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEtC,EAAE,EAAC,KAAK,CAAC,CAAC,CAAC;YACT,GAAG,EAAa,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,CAAC;gBAAlB,IAAI,IAAI;gBACV,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aACpB;QACH,CAAC;IACH,CAAC;IAES,2CAAc,GAAxB,UAAyB,QAAQ;QAC/B,sBAAyC,EAAjC,kBAAM,EAAE,oBAAO,CAAmB;QAE1C,EAAE,EAAC,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;YACzC,QAAQ,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QAClC,CAAC;QAED,EAAE,EAAC,MAAM,CAAC,CAAC,CAAC;YACV,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QAED,EAAE,EAAC,OAAO,CAAC,CAAC,CAAC;YACX,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,CAAC,QAAQ,CAAC;IAClB,CAAC;IAES,4CAAe,GAAzB,UAA0B,IAAI,EAAE,QAAQ;QACtC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAES,qCAAQ,GAAlB,UAAmB,IAAI,EAAE,SAAS;QAChC,EAAE,EAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAEH,yBAAC;AAAD,CAAC;AArFqB,0BAAkB,qBAqFvC;;;;;;;;;;;;;;;;;;;ACxFD,iCAGO,CAAe,CAAC;AAEvB;;;;;;;GAOG;AAEH;IAIE,0BACU,cAA8B,EAC9B,wBAAkD,EAClD,QAAkB;QAFlB,mBAAc,GAAd,cAAc,CAAgB;QAC9B,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,aAAQ,GAAR,QAAQ,CAAU;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,+CAAoB,GAApB;QACE,IAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAC9D,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;YAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAEpD,EAAE,EAAC,IAAI,CAAC,UAAU,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;QAE3C,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;IAC9G,CAAC;IAED;;;;;;;OAOG;IACH,+CAAoB,GAApB,UAAqB,SAAS;QAC5B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,+CAAoB,GAApB,UAAqB,YAAiB;QACpC,qDAAqD;QACrD,EAAE,EAAC,CAAC,YAAY,CAAC,QAAQ,CAAC;YAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,aAAa,CAAC;QAErE,MAAM,CAAE,YAAY,CAAC,QAAiC,CAAC,SAAS,CAAC,CAAC,CAAgB,CAAC;IACrF,CAAC;IAED;;;;;;OAMG;IACH,mDAAwB,GAAxB;QACE,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACH,mDAAwB,GAAxB,UAAyB,SAA4B,EAAE,QAAa;QAClE,EAAE,EAAC,QAAQ,CAAC,CAAC,CAAC;YACZ,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC;gBAClC,IAAI,WAAW,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC9D,GAAG,CAAC,CAAoB,UAAW,EAAX,2BAAW,EAAX,yBAAW,EAAX,IAAW,CAAC;oBAA/B,IAAI,WAAW;oBAClB,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;iBAChE;YACH,CAAC;YAED,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC;gBACnC,IAAI,SAAS,GAAG,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7D,GAAG,CAAC,CAAkB,UAAS,EAAT,uBAAS,EAAT,uBAAS,EAAT,IAAS,CAAC;oBAA3B,IAAI,SAAS;oBAChB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;iBAC7D;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;;;OAUG;IACH,0CAAe,GAAf,UACE,cAAuB,EACvB,QAAkB,EAClB,QAAmD;QADnD,wBAAkB,GAAlB,aAAkB;QAClB,wBAAmD,GAAnD,WAAoB,IAAI,CAAC,wBAAwB,EAAE;QAEnD,IAAI,gBAAgB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;QAC7F,IAAI,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,MAAM,GAAQ,IAAI,CAAC,cAAc,CAAC;QACtC,IAAI,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;QAEhE,uDAAuD;QACvD,IAAI,CAAC,wBAAwB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEtD,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEzC,YAAY,CAAC,SAAS,CAAC;YACrB,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QAExC,MAAM,CAAC,YAAY,CAAC;IACtB,CAAC;IA/HH;QAAC,iBAAU,EAAE;;wBAAA;IAiIb,uBAAC;AAAD,CAAC;AAhIY,wBAAgB,mBAgI5B;;;;;;;;;;;;;AC9ID,6BAAc,mCAAmB,CAAC;AAClC,6BAAc,sCAAsB,CAAC;AACrC,6BAAc,2CAA2B,CAAC;AAC1C,6BAAc,kDAAkC,CAAC;;;;;;;;;;;;;;;;;;;ACHjD,iCAQO,CAAe,CAAC;AAuBvB;IAAA;QAMY,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;IA2CxC,CAAC;IAvCC,gDAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,6CAAQ,GAAR;QAAA,iBAmBC;QAlBC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;aACtB,MAAM,CAAC,UAAC,CAAC;YACR,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC;aACD,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK;YACZ,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YAEjB,MAAM,CAAC;gBACL,CAAC,EAAE,CAAC,CAAC,EAAE;gBACP,CAAC,EAAE,CAAC,CAAC,EAAE;gBACP,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBAClB,MAAM,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;gBACnB,IAAI,EAAE,KAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACjC,YAAK;gBACL,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC;QACJ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,mDAAc,GAAd,UAAe,EAAgB;YAAd,gBAAK,EAAE,gBAAK;QAC3B,MAAM,CAAC,2CACyB,KAAK,mDACP,KAAK,CAAC,cAAc,EAAE,kBACnD,CAAC;IACJ,CAAC;IAED,4CAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,4CAAO,GAAP,UAAQ,KAAK,EAAE,IAAI;QACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IA9CD;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;4DAAA;IACR;QAAC,YAAK,EAAE;;8DAAA;IAER;QAAC,aAAM,EAAE;;8DAAA;IA3BX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,oCAAoC;YAC9C,QAAQ,EAAE,wdAgBT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;kCAAA;IAkDF,iCAAC;AAAD,CAAC;AAjDY,kCAA0B,6BAiDtC;;;;;;;;;;;;;;;;;;;AChFD,iCAGO,CAAe,CAAC;AACvB,+BAAe,aAAO,CAAC;AACvB,wCAA4B,4BAAsB,CAAC;AAyCnD;IAkBE,8BAAY,OAAmB;QAPrB,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAKtC,gBAAW,GAAY,KAAK,CAAC;QAG3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IACvC,CAAC;IAED,0CAAW,GAAX,UAAY,OAAsB;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,qCAAM,GAAN;QACE,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,4CAAa,GAAb;QACE,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI;aACD,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aAClB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAED,2CAAY,GAAZ;QACE,MAAM,CAAC,yBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,mDAAoB,GAApB;QACE,IAAI,IAAI,GAAG,YAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;aAC5B,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;aAClB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;aACjB,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC;aACzB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,sCAAO,GAAP;QACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,IAAI,CAAC,KAAK;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;IAhED;QAAC,YAAK,EAAE;;sDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;mDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;wDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;uDAAA;IACR;QAAC,YAAK,EAAE;;2DAAA;IAER;QAAC,aAAM,EAAE;;wDAAA;IAlDX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,6BAA6B;YACvC,QAAQ,EAAE,+8BAkCT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;4BAAA;IAqEF,2BAAC;AAAD,CAAC;AApEY,4BAAoB,uBAoEhC;;;;;;;;;;;;;;;;;;;;;;;;AClHD,iCAMO,CAAe,CAAC;AACvB,+BAAe,aAAO,CAAC;AACvB,iDAAmC,sCAAgC,CAAC;AACpE,mDAAwC,wCAAkC,CAAC;AAC3E,yCAA4B,8BAAwB,CAAC;AAoBrD;IAAsC,oCAAkB;IAAxD;QAAsC,8BAAkB;QAI5C,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;QAQtC,WAAM,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IA0D5B,CAAC;IAxDC,iCAAM,GAAN;QAAA,iBA0CC;QAzCC,gBAAK,CAAC,MAAM,WAAE,CAAC;QAEf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACZ,KAAI,CAAC,IAAI,GAAG,gDAAuB,CAAC;gBAClC,KAAK,EAAE,KAAI,CAAC,KAAK;gBACjB,MAAM,EAAE,KAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,KAAI,CAAC,MAAM;aACrB,CAAC,CAAC;YAEH,KAAI,CAAC,MAAM,GAAG,KAAI,CAAC,SAAS,EAAE,CAAC;YAE/B,KAAI,CAAC,OAAO,GAAG,YAAE,CAAC,OAAO,EAAE;iBACxB,IAAI,CAAC,CAAC,KAAI,CAAC,IAAI,CAAC,KAAK,EAAE,KAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YAE7C,IAAI,QAAQ,GAAG;gBACb,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,IAAI;aACb,CAAC;YAEF,IAAI,IAAI,GAAG,YAAE,CAAC,QAAQ,EAAE;iBACrB,EAAE,CAAC,WAAC;gBACH,IAAI,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC;gBAEnB,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC;oBACtC,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;gBACrC,CAAC;gBAAC,IAAI,CAAC,CAAC;oBACN,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;gBACjC,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC;YACf,CAAC,CAAC;iBACD,QAAQ,CAAC,WAAC,IAAM,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC,QAAQ,SAAK,KAAI,CAAC,OAAO,CAAC,CAAC;iBAC5B,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,KAAK,EAAP,CAAO,CAAC,CAAC;YAErB,KAAI,CAAC,IAAI,GAAG,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAE/B,KAAI,CAAC,SAAS,EAAE,CAAC;YAEjB,KAAI,CAAC,SAAS,GAAG,eAAc,KAAI,CAAC,IAAI,CAAC,OAAO,WAAQ,KAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAI,CAAC;QAC7E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oCAAS,GAAT;QACE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,CAAC,IAAI,EAAN,CAAM,CAAC,CAAC;IACvC,CAAC;IAED,kCAAO,GAAP,UAAQ,IAAI;QACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,oCAAS,GAAT;QACE,IAAI,CAAC,MAAM,GAAG,IAAI,0BAAW,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxF,CAAC;IAlED;QAAC,YAAK,EAAE;;qDAAA;IAER;QAAC,aAAM,EAAE;;oDAAA;IAtBX;QAAC,gBAAS,CAAC;YACT,QAAQ,EAAE,qBAAqB;YAC/B,QAAQ,EAAE,uYAaT;YACD,eAAe,EAAE,8BAAuB,CAAC,MAAM;SAChD,CAAC;;wBAAA;IAuEF,uBAAC;AAAD,CAAC,CAtEqC,yCAAkB,GAsEvD;AAtEY,wBAAgB,mBAsE5B;;;;;;;;;;;;;;;;;;;ACpGD,iCAAyB,CAAe,CAAC;AACzC,gDAAkC,qCAA+B,CAAC;AAClE,oDAAqC,2CAA2B,CAAC;AAIxD,4BAAoB;AAH7B,2DAA2C,kDAAkC,CAAC;AAG/C,kCAA0B;AAFzD,+CAAiC,sCAAsB,CAAC;AAEG,wBAAgB;AAe3E;IAAA;IAA4B,CAAC;IAb7B;QAAC,eAAQ,CAAC;YACR,OAAO,EAAE,CAAC,uCAAiB,CAAC;YAC5B,YAAY,EAAE;gBACZ,8CAAoB;gBACpB,2DAA0B;gBAC1B,qCAAgB;aACjB;YACD,OAAO,EAAE;gBACP,8CAAoB;gBACpB,2DAA0B;gBAC1B,qCAAgB;aACjB;SACF,CAAC;;qBAAA;IAC0B,oBAAC;AAAD,CAAC;AAAhB,qBAAa,gBAAG;;;;;;;;;;ACrBlB,iBAAS,GAAG;IACrB;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SACvF;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAC7G;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;YAC3E,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SACvF;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,KAAK;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;YAChE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;SAClG;KACF;CACF,CAAC;;;;;;;;;;AC3HF;;;;;;;GAOG;AACH,kBAAyB,GAAW;IAClC,IAAM,MAAM,GACV,GAAG,CAAC,OAAO,CAAC,kCAAkC,EAC1C,UAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAK,UAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAA3B,CAA2B,CAAC;SAC/C,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;SAC3B,GAAG,CAAC,WAAC,IAAI,eAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,EAAf,CAAe,CAAC,CAAC;IAE7B,MAAM,CAAC;QACL,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QACZ,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;KACb,CAAC;AACJ,CAAC;AAZe,gBAAQ,WAYvB;AAED;;;;;;;GAOG;AACH,qBAA4B,GAAG;IAC7B,sBAAiC,EAAzB,QAAC,EAAE,QAAC,EAAE,QAAC,CAAmB;IAClC,IAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACvD,IAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;IAC5B,IAAM,KAAK,GAAG,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IAEhC,MAAM,CAAC,aAAa,CAAC,EAAE,IAAC,EAAE,IAAC,EAAE,IAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC3C,CAAC;AAPe,mBAAW,cAO1B;AAED;;;;;;;;GAQG;AACH,uBAA8B,EAAW,EAAE,OAAO;QAAlB,QAAC,EAAE,QAAC,EAAE,QAAC;IACrC,IAAM,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAChC,IAAM,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;IAE/C,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAElC,MAAM,CAAC,SAAO,CAAC,UAAK,CAAC,UAAK,CAAC,MAAG,CAAC;AACjC,CAAC;AATe,qBAAa,gBAS5B;;;;;;;;;;ACzDD,IAAI,KAAK,GAAG,EAAE,CAAC;AAEf;;;;;;;;;GASG;AACH;IACE,IAAI,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAErF,oCAAoC;IACpC,KAAK,GAAG,MAAI,KAAO,CAAC;IAEpB,0BAA0B;IAC1B,EAAE,EAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACpB,MAAM,CAAC,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,EAAE,EAAE,CAAC;AACd,CAAC;AAbe,UAAE,KAajB;;;;;;;;;;ACzBD,IAAY,MAAM,uBAAM,CAAQ,CAAC;AACjC,oBAA2B,IAAI,EAAE,QAAQ,EAAE,SAAiB;IAAjB,yBAAiB,GAAjB,iBAAiB;IAC1D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QACpB,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AARe,kBAAU,aAQzB;AAED,sBAA6B,IAAI,EAAE,QAAQ,EAAE,SAAiB,EAAE,MAAM;IAAzB,yBAAiB,GAAjB,iBAAiB;IAC5D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QACpB,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QACvB,IAAI,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvB,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEhC,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAde,oBAAY,eAc3B;AAED,oBAA2B,IAAI,EAAE,QAAQ,EAAE,SAAiB;IAAjB,yBAAiB,GAAjB,iBAAiB;IAC1D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC;QACpB,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEhC,EAAE,CAAC,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC;YACxB,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YACnC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,CAAC,CAAC;QACX,CAAC;QAAC,IAAI,CAAC,CAAC;YACN,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACpC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,CAAC;QACX,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAfe,kBAAU,aAezB;;;;;;;;;;ACzCD;;;;;;;;GAQG;AACH,kBAAyB,IAAS,EAAE,IAAY,EAAE,OAAa;IAC7D,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,IAAI,OAAO,CAAC;IACZ,IAAI,IAAI,CAAC;IACT,IAAI,MAAM,CAAC;IACX,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB;QACE,QAAQ,GAAG,OAAO,CAAC,OAAO,KAAK,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QACvD,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC;QACL,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;QAEtB,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC;YAC3C,QAAQ,GAAG,GAAG,CAAC;QACjB,CAAC;QAED,IAAI,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;QACxC,OAAO,GAAG,IAAI,CAAC;QACf,IAAI,GAAG,SAAS,CAAC;QAEjB,EAAE,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,YAAY,CAAC,OAAO,CAAC,CAAC;YACtB,OAAO,GAAG,IAAI,CAAC;YACf,QAAQ,GAAG,GAAG,CAAC;YACf,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC;YAClD,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,CAAC,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AApCe,gBAAQ,WAoCvB;AAED;;;;;;;;;;;;GAYG;AACH,sBAA6B,QAAgB,EAAE,OAAa;IAC1D,MAAM,CAAC,wBAAyB,MAAM,EAAE,GAAG,EAAE,UAAU;QACrD,MAAM,CAAC;YACL,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,GAAG,EAAE;gBACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC/B,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;iBACrD,CAAC,CAAC;gBAEH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;SACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAhBe,oBAAY,eAgB3B;;;;;;;;AC7ED,+C;;;;;;;ACAA,+C;;;;;;;ACAA,gD;;;;;;;ACAA,gD;;;;;;;ACAA,gD;;;;;;;ACAA,gD;;;;;;;ACAA,gD;;;;;;;ACAA,+C;;;;;;;ACAA,+C;;;;;;;ACAA,+C;;;;;;;ACAA,+C;;;;;;;ACAA,+C;;;;;;;ACAA,+C;;;;;;;ACAA,+C;;;;;;;ACAA,+C","file":"index.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"@angular/common\"), require(\"@angular/core\"), require(\"@angular/platform-browser\"), require(\"d3-array\"), require(\"d3-brush\"), require(\"d3-color\"), require(\"d3-force\"), require(\"d3-format\"), require(\"d3-hierarchy\"), require(\"d3-interpolate\"), require(\"d3-scale\"), require(\"d3-selection\"), require(\"d3-shape\"), require(\"moment\"), require(\"rxjs/Rx\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"ngx-charts\", [\"@angular/common\", \"@angular/core\", \"@angular/platform-browser\", \"d3-array\", \"d3-brush\", \"d3-color\", \"d3-force\", \"d3-format\", \"d3-hierarchy\", \"d3-interpolate\", \"d3-scale\", \"d3-selection\", \"d3-shape\", \"moment\", \"rxjs/Rx\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"ngx-charts\"] = factory(require(\"@angular/common\"), require(\"@angular/core\"), require(\"@angular/platform-browser\"), require(\"d3-array\"), require(\"d3-brush\"), require(\"d3-color\"), require(\"d3-force\"), require(\"d3-format\"), require(\"d3-hierarchy\"), require(\"d3-interpolate\"), require(\"d3-scale\"), require(\"d3-selection\"), require(\"d3-shape\"), require(\"moment\"), require(\"rxjs/Rx\"));\n\telse\n\t\troot[\"ngx-charts\"] = factory(root[\"@angular/common\"], root[\"@angular/core\"], root[\"@angular/platform-browser\"], root[\"d3-array\"], root[\"d3-brush\"], root[\"d3-color\"], root[\"d3-force\"], root[\"d3-format\"], root[\"d3-hierarchy\"], root[\"d3-interpolate\"], root[\"d3-scale\"], root[\"d3-selection\"], root[\"d3-shape\"], root[\"moment\"], root[\"rxjs/Rx\"]);\n})(this, function(__WEBPACK_EXTERNAL_MODULE_2__, __WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_3__, __WEBPACK_EXTERNAL_MODULE_4__, __WEBPACK_EXTERNAL_MODULE_5__, __WEBPACK_EXTERNAL_MODULE_6__, __WEBPACK_EXTERNAL_MODULE_7__, __WEBPACK_EXTERNAL_MODULE_8__, __WEBPACK_EXTERNAL_MODULE_9__, __WEBPACK_EXTERNAL_MODULE_10__, __WEBPACK_EXTERNAL_MODULE_11__, __WEBPACK_EXTERNAL_MODULE_12__, __WEBPACK_EXTERNAL_MODULE_13__, __WEBPACK_EXTERNAL_MODULE_1__, __WEBPACK_EXTERNAL_MODULE_14__) {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmory imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmory exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tObject.defineProperty(exports, name, {\n \t\t\tconfigurable: false,\n \t\t\tenumerable: true,\n \t\t\tget: getter\n \t\t});\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./src/index.ts\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap ca34cb0717f2ada77667","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  HostListener,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport d3 from '../d3';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport * as moment from 'moment';\nimport { id } from '../utils/id';\n\n@Component({\n  selector: 'ngx-charts-area-chart-normalized',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelClick)=\"onClick($event)\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\">\n      <svg:defs>\n        <svg:clipPath [attr.id]=\"clipPathId\">\n          <svg:rect\n            [attr.width]=\"dims.width + 10\"\n            [attr.height]=\"dims.height + 10\"\n            [attr.transform]=\"'translate(-5, -5)'\"/>\n        </svg:clipPath>\n      </svg:defs>\n      <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g [attr.clip-path]=\"clipPath\">\n          <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n            <svg:g ngx-charts-area-series\n              [xScale]=\"xScale\"\n              [yScale]=\"yScale\"\n              [colors]=\"colors\"\n              [data]=\"series\"\n              [scaleType]=\"scaleType\"\n              [activeEntries]=\"activeEntries\"\n              [gradient]=\"gradient\"\n              normalized=\"true\"\n              [curve]=\"curve\"\n            />\n          </svg:g>\n          <svg:g ngx-charts-area-tooltip\n            [xSet]=\"xSet\"\n            [xScale]=\"xScale\"\n            [yScale]=\"yScale\"\n            [results]=\"results\"\n            [height]=\"dims.height\"\n            [colors]=\"colors\"\n            [showPercentage]=\"true\"\n            (hover)=\"updateHoveredVertical($event)\"\n          />\n          <svg:g *ngFor=\"let series of results\">\n            <svg:g ngx-charts-circle-ceries\n              type=\"stacked\"\n              [xScale]=\"xScale\"\n              [yScale]=\"yScale\"\n              [colors]=\"colors\"\n              [activeEntries]=\"activeEntries\"\n              [data]=\"series\"\n              [scaleType]=\"scaleType\"\n              [visibleValue]=\"hoveredVertical\"\n              (select)=\"onClick($event, series)\"\n              (activate)=\"onActivate($event)\"\n              (deactivate)=\"onDeactivate($event)\"\n            />\n          </svg:g>\n        </svg:g>\n      </svg:g>\n      <svg:g ngx-charts-timeline\n        *ngIf=\"timeline && scaleType === 'time'\"\n        [attr.transform]=\"timelineTransform\"\n        [results]=\"results\"\n        [view]=\"[timelineWidth, height]\"\n        [height]=\"timelineHeight\"\n        [scheme]=\"scheme\"\n        [customColors]=\"customColors\"\n        [legend]=\"legend\"\n        [scaleType]=\"scaleType\"\n        (onDomainChange)=\"updateDomain($event)\">\n        <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n          <svg:g ngx-charts-area-series\n            [xScale]=\"timelineXScale\"\n            [yScale]=\"timelineYScale\"\n            [colors]=\"colors\"\n            [data]=\"series\"\n            [scaleType]=\"scaleType\"\n            [gradient]=\"gradient\"\n            normalized=\"true\"\n            [curve]=\"curve\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AreaChartNormalizedComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() timeline;\n  @Input() gradient;\n  @Input() showGridLines: boolean = true;\n  @Input() curve = d3.shape.curveLinear;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  scaleType: string;\n  xDomain: any[];\n  xSet: any[]; // the set of all values on the X Axis\n  yDomain: any[];\n  seriesDomain: any;\n  xScale: any;\n  yScale: any;\n  transform: string;\n  clipPathId: string;\n  clipPath: string;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  tooltipAreas: any[];\n  hoveredVertical: any; // the value of the x axis that is hovered over\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  filteredDomain: any;\n  legendOptions: any;\n\n  timelineWidth: any;\n  timelineHeight: number = 50;\n  timelineXScale: any;\n  timelineYScale: any;\n  timelineXDomain: any;\n  timelineTransform: any;\n  timelinePadding: number = 10;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      if (this.timeline) {\n        this.dims.height -= (this.timelineHeight + this.margin[2] + this.timelinePadding);\n      }\n\n      this.xDomain = this.getXDomain();\n      if (this.filteredDomain) {\n        this.xDomain = this.filteredDomain;\n      }\n\n      this.yDomain = this.getYDomain();\n      this.seriesDomain = this.getSeriesDomain();\n\n      this.xScale = this.getXScale(this.xDomain, this.dims.width);\n      this.yScale = this.getYScale(this.yDomain, this.dims.height);\n\n      for (let i = 0; i < this.xSet.length; i++) {\n        let val = this.xSet[i];\n        let d0 = 0;\n\n        let total = 0;\n        for (let group of this.results){\n          let d = group.series.find(item => {\n            let a = item.name;\n            let b = val;\n            if (this.scaleType === 'time') {\n              a = a.valueOf();\n              b = b.valueOf();\n            }\n            return a === b;\n          });\n          if (d) {\n            total += d.value;\n          }\n        }\n\n        for (let group of this.results){\n          let d = group.series.find(item => {\n            let a = item.name;\n            let b = val;\n            if (this.scaleType === 'time') {\n              a = a.valueOf();\n              b = b.valueOf();\n            }\n            return a === b;\n          });\n\n          if (d) {\n            d.d0 = d0;\n            d.d1 = d0 + d.value;\n            d0 += d.value;\n          } else {\n            d = {\n              name: val,\n              value: 0,\n              d0,\n              d1: d0\n            };\n            group.series.push(d);\n          }\n\n          if (total > 0) {\n            d.d0 = (d.d0 * 100) / total;\n            d.d1 = (d.d1 * 100) / total;\n          } else {\n            d.d0 = 0;\n            d.d1 = 0;\n          }\n        }\n      }\n\n      this.updateTimeline();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n      let pageUrl = window.location.href;\n      this.clipPathId = 'clip' + id().toString();\n      this.clipPath = `url(${pageUrl}#${this.clipPathId})`;\n    });\n  }\n\n  updateTimeline(): void {\n    if (this.timeline) {\n      this.timelineWidth = this.width;\n\n      if (this.legend) {\n        this.timelineWidth = this.dims.width;\n      }\n\n      this.timelineXDomain = this.getXDomain();\n      this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n      this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n      this.timelineTransform = `translate(${ this.dims.xOffset }, ${ -this.margin[2] })`;\n    }\n  }\n\n  getXDomain(): any[] {\n    let values = [];\n\n    for (let results of this.results) {\n      for (let d of results.series) {\n        if (!values.includes(d.name)) {\n          values.push(d.name);\n        }\n      }\n    }\n\n    this.scaleType = this.getScaleType(values);\n    let domain = [];\n\n    if (this.scaleType === 'time') {\n      values = values.map(v => moment(v).toDate());\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [new Date(min), new Date(max)];\n    } else if (this.scaleType === 'linear') {\n      values = values.map(v => Number(v));\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [min, max];\n    } else {\n      domain = values;\n    }\n\n    this.xSet = values;\n\n    return domain;\n  }\n\n  getYDomain(): any[] {\n    return [0, 100];\n  }\n\n  getSeriesDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  getXScale(domain, width) {\n    let scale;\n\n    if (this.scaleType === 'time') {\n      scale = d3.scaleTime()\n        .range([0, width])\n        .domain(domain);\n    } else if (this.scaleType === 'linear') {\n      scale = d3.scaleLinear()\n        .range([0, width])\n        .domain(domain);\n    } else if (this.scaleType === 'ordinal') {\n      scale = d3.scalePoint()\n        .range([0, width])\n        .padding(0.1)\n        .domain(domain);\n    }\n\n    return scale;\n  }\n\n  getYScale(domain, height) {\n    return d3.scaleLinear()\n      .range([height, 0])\n      .domain(domain);\n  }\n\n  getScaleType(values): string {\n    let date = true;\n    let num = true;\n\n    for (let value of values) {\n      if (!this.isDate(value)) {\n        date = false;\n      }\n      if (typeof value !== 'number') {\n        num = false;\n      }\n    }\n\n    if (date) {\n      return 'time';\n    }\n\n    if (num) {\n      return 'linear';\n    }\n\n    return 'ordinal';\n  }\n\n  isDate(value): boolean {\n    if (value instanceof Date) {\n      return true;\n    }\n\n    return false;\n  }\n\n  updateDomain(domain): void {\n    this.filteredDomain = domain;\n    this.xDomain = this.filteredDomain;\n    this.xScale = this.getXScale(this.xDomain, this.dims.width);\n  }\n\n  updateHoveredVertical(item): void {\n    this.hoveredVertical = item.value;\n  }\n\n  @HostListener('mouseleave')\n  hideCircles(): void {\n    this.hoveredVertical = null;\n  }\n\n  onClick(data, series): void {\n    if (series) {\n      data.series = series.name;\n    }\n\n    this.select.emit(data);\n  }\n\n  trackBy(index, item): string {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.seriesDomain;\n    } else {\n      domain = this.yDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.seriesDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.yDomain;\n      opts.colors = this.colors.scale;\n    }\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n    if (idx > -1) {\n      return;\n    }\n\n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/area-chart/area-chart-normalized.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  HostListener,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport * as moment from 'moment';\nimport { id } from '../utils/id';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-area-chart-stacked',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelClick)=\"onClick($event)\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\">\n      <svg:defs>\n        <svg:clipPath [attr.id]=\"clipPathId\">\n          <svg:rect\n            [attr.width]=\"dims.width + 10\"\n            [attr.height]=\"dims.height + 10\"\n            [attr.transform]=\"'translate(-5, -5)'\"/>\n        </svg:clipPath>\n      </svg:defs>\n      <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g [attr.clip-path]=\"clipPath\">\n          <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n            <svg:g ngx-charts-area-series\n              [xScale]=\"xScale\"\n              [yScale]=\"yScale\"\n              [colors]=\"colors\"\n              [data]=\"series\"\n              [scaleType]=\"scaleType\"\n              [gradient]=\"gradient\"\n              [activeEntries]=\"activeEntries\"\n              stacked=\"true\"\n              [curve]=\"curve\"\n            />\n          </svg:g>\n          <svg:g ngx-charts-area-tooltip\n            [xSet]=\"xSet\"\n            [xScale]=\"xScale\"\n            [yScale]=\"yScale\"\n            [results]=\"results\"\n            [height]=\"dims.height\"\n            [colors]=\"colors\"\n            (hover)=\"updateHoveredVertical($event)\"\n          />\n          <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n            <svg:g ngx-charts-circle-ceries\n              type=\"stacked\"\n              [xScale]=\"xScale\"\n              [yScale]=\"yScale\"\n              [colors]=\"colors\"\n              [activeEntries]=\"activeEntries\"\n              [data]=\"series\"\n              [scaleType]=\"scaleType\"\n              [visibleValue]=\"hoveredVertical\"\n              (select)=\"onClick($event, series)\"\n              (activate)=\"onActivate($event)\"\n              (deactivate)=\"onDeactivate($event)\"\n            />\n          </svg:g>\n        </svg:g>\n      </svg:g>\n      <svg:g ngx-charts-timeline\n        *ngIf=\"timeline && scaleType === 'time'\"\n        [attr.transform]=\"timelineTransform\"\n        [results]=\"results\"\n        [view]=\"[timelineWidth, height]\"\n        [height]=\"timelineHeight\"\n        [scheme]=\"scheme\"\n        [customColors]=\"customColors\"\n        [legend]=\"legend\"\n        [scaleType]=\"scaleType\"\n        (onDomainChange)=\"updateDomain($event)\">\n        <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n          <svg:g ngx-charts-area-series\n            [xScale]=\"timelineXScale\"\n            [yScale]=\"timelineYScale\"\n            [colors]=\"colors\"\n            [data]=\"series\"\n            [scaleType]=\"scaleType\"\n            [gradient]=\"gradient\"\n            stacked=\"true\"\n            [curve]=\"curve\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AreaChartStackedComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() timeline;\n  @Input() gradient;\n  @Input() showGridLines: boolean = true;\n  @Input() curve = d3.shape.curveLinear;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  scaleType: string;\n  xDomain: any[];\n  xSet: any[]; // the set of all values on the X Axis\n  yDomain: any[];\n  seriesDomain: any;\n  xScale: any;\n  yScale: any;\n  transform: string;\n  clipPathId: string;\n  clipPath: string;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  hoveredVertical: any; // the value of the x axis that is hovered over\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  filteredDomain: any;\n  legendOptions: any;\n\n  timelineWidth: any;\n  timelineHeight: number = 50;\n  timelineXScale: any;\n  timelineYScale: any;\n  timelineXDomain: any;\n  timelineTransform: any;\n  timelinePadding: number = 10;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      if (this.timeline) {\n        this.dims.height -= (this.timelineHeight + this.margin[2] + this.timelinePadding);\n      }\n\n      this.xDomain = this.getXDomain();\n      if (this.filteredDomain) {\n        this.xDomain = this.filteredDomain;\n      }\n\n      this.yDomain = this.getYDomain();\n      this.seriesDomain = this.getSeriesDomain();\n\n      this.xScale = this.getXScale(this.xDomain, this.dims.width);\n      this.yScale = this.getYScale(this.yDomain, this.dims.height);\n\n      for (let i = 0; i < this.xSet.length; i++) {\n        let val = this.xSet[i];\n        let d0 = 0;\n        for (let group of this.results) {\n\n          let d = group.series.find(item => {\n            let a = item.name;\n            let b = val;\n            if (this.scaleType === 'time') {\n              a = a.valueOf();\n              b = b.valueOf();\n            }\n            return a === b;\n          });\n\n          if (d) {\n            d.d0 = d0;\n            d.d1 = d0 + d.value;\n            d0 += d.value;\n          } else {\n            d = {\n              name: val,\n              value: 0,\n              d0,\n              d1: d0\n            };\n            group.series.push(d);\n          }\n        }\n      }\n\n      this.updateTimeline();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n      let pageUrl = window.location.href;\n      this.clipPathId = 'clip' + id().toString();\n      this.clipPath = `url(${pageUrl}#${this.clipPathId})`;\n    });\n  }\n\n  updateTimeline(): void {\n    if (this.timeline) {\n      this.timelineWidth = this.width;\n\n      if (this.legend) {\n        this.timelineWidth = this.dims.width;\n      }\n\n      this.timelineXDomain = this.getXDomain();\n      this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n      this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n      this.timelineTransform = `translate(${ this.dims.xOffset }, ${ -this.margin[2] })`;\n    }\n  }\n\n  getXDomain(): any[] {\n    let values = [];\n\n    for (let results of this.results) {\n      for (let d of results.series) {\n        if (!values.includes(d.name)) {\n          values.push(d.name);\n        }\n      }\n    }\n\n    this.scaleType = this.getScaleType(values);\n    let domain = [];\n\n    if (this.scaleType === 'time') {\n      values = values.map(v => moment(v).toDate());\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [new Date(min), new Date(max)];\n    } else if (this.scaleType === 'linear') {\n      values = values.map(v => Number(v));\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [min, max];\n    } else {\n      domain = values;\n    }\n\n    this.xSet = values;\n    return domain;\n  }\n\n  getYDomain(): any[] {\n    let domain = [];\n\n    for (let i = 0; i < this.xSet.length; i++) {\n      let val = this.xSet[i];\n      let sum = 0;\n      for (let group of this.results) {\n        let d = group.series.find(item => {\n          let a = item.name;\n          let b = val;\n          if (this.scaleType === 'time') {\n            a = a.valueOf();\n            b = b.valueOf();\n          }\n          return a === b;\n        });\n\n        if (d) {\n          sum += d.value;\n        }\n      }\n\n      domain.push(sum);\n    }\n\n    let min = Math.min(0, ...domain);\n    let max = Math.max(...domain);\n    return [min, max];\n  }\n\n  getSeriesDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  getXScale(domain, width) {\n    let scale;\n\n    if (this.scaleType === 'time') {\n      scale = d3.scaleTime()\n        .range([0, width])\n        .domain(domain);\n    } else if (this.scaleType === 'linear') {\n      scale = d3.scaleLinear()\n        .range([0, width])\n        .domain(domain);\n    } else if (this.scaleType === 'ordinal') {\n      scale = d3.scalePoint()\n        .range([0, width])\n        .padding(0.1)\n        .domain(domain);\n    }\n\n    return scale;\n  }\n\n  getYScale(domain, height) {\n    return d3.scaleLinear()\n      .range([height, 0])\n      .domain(domain);\n  }\n\n  getScaleType(values): string {\n    let date = true;\n    let num = true;\n\n    for (let value of values) {\n      if (!this.isDate(value)) {\n        date = false;\n      }\n      if (typeof value !== 'number') {\n        num = false;\n      }\n    }\n\n    if (date) {\n      return 'time';\n    }\n\n    if (num) {\n      return 'linear';\n    }\n\n    return 'ordinal';\n  }\n\n  isDate(value): boolean {\n    if (value instanceof Date) {\n      return true;\n    }\n\n    return false;\n  }\n\n  updateDomain(domain): void {\n    this.filteredDomain = domain;\n    this.xDomain = this.filteredDomain;\n    this.xScale = this.getXScale(this.xDomain, this.dims.width);\n  }\n\n  updateHoveredVertical(item) {\n    this.hoveredVertical = item.value;\n  }\n\n  @HostListener('mouseleave')\n  hideCircles(): void {\n    this.hoveredVertical = null;\n  }\n\n  onClick(data, series): void {\n    if (series) {\n      data.series = series.name;\n    }\n\n    this.select.emit(data);\n  }\n\n  trackBy(index, item): string {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.seriesDomain;\n    } else {\n      domain = this.yDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.seriesDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.yDomain;\n      opts.colors = this.colors.scale;\n    }\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n    if (idx > -1) {\n      return;\n    }\n\n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/area-chart/area-chart-stacked.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  HostListener,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport * as moment from 'moment';\nimport { id } from '../utils/id';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-area-chart',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelClick)=\"onClick($event)\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\">\n      <svg:defs>\n        <svg:clipPath [attr.id]=\"clipPathId\">\n          <svg:rect\n            [attr.width]=\"dims.width + 10\"\n            [attr.height]=\"dims.height + 10\"\n            [attr.transform]=\"'translate(-5, -5)'\"/>\n        </svg:clipPath>\n      </svg:defs>\n      <svg:g [attr.transform]=\"transform\" class=\"area-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g [attr.clip-path]=\"clipPath\">\n          <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n            <svg:g ngx-charts-area-series\n              [xScale]=\"xScale\"\n              [yScale]=\"yScale\"\n              [colors]=\"colors\"\n              [data]=\"series\"\n              [activeEntries]=\"activeEntries\"\n              [scaleType]=\"scaleType\"\n              [gradient]=\"gradient\"\n              [curve]=\"curve\"\n            />\n          </svg:g>\n          <svg:g ngx-charts-area-tooltip\n            [xSet]=\"xSet\"\n            [xScale]=\"xScale\"\n            [yScale]=\"yScale\"\n            [results]=\"results\"\n            [height]=\"dims.height\"\n            [colors]=\"colors\"\n            (hover)=\"updateHoveredVertical($event)\"\n          />\n          <svg:g *ngFor=\"let series of results\">\n            <svg:g ngx-charts-circle-ceries\n              [xScale]=\"xScale\"\n              [yScale]=\"yScale\"\n              [colors]=\"colors\"\n              [activeEntries]=\"activeEntries\"\n              [data]=\"series\"\n              [scaleType]=\"scaleType\"\n              [visibleValue]=\"hoveredVertical\"\n              (select)=\"onClick($event, series)\"\n              (activate)=\"onActivate($event)\"\n              (deactivate)=\"onDeactivate($event)\"\n            />\n          </svg:g>\n        </svg:g>\n      </svg:g>\n      <svg:g ngx-charts-timeline\n        *ngIf=\"timeline && scaleType === 'time'\"\n        [attr.transform]=\"timelineTransform\"\n        [results]=\"results\"\n        [view]=\"[timelineWidth, height]\"\n        [height]=\"timelineHeight\"\n        [scheme]=\"scheme\"\n        [customColors]=\"customColors\"\n        [legend]=\"legend\"\n        [scaleType]=\"scaleType\"\n        (onDomainChange)=\"updateDomain($event)\">\n        <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n          <svg:g ngx-charts-area-series\n            [xScale]=\"timelineXScale\"\n            [yScale]=\"timelineYScale\"\n            [colors]=\"colors\"\n            [data]=\"series\"\n            [scaleType]=\"scaleType\"\n            [gradient]=\"gradient\"\n            [curve]=\"curve\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AreaChartComponent extends BaseChartComponent {\n\n  @Input() legend;\n  @Input() state;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() autoScale;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() timeline;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() curve = d3.shape.curveLinear;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  xSet: any;\n  xDomain: any;\n  yDomain: any;\n  seriesDomain: any;\n  xScale: any;\n  yScale: any;\n  transform: string;\n  colors: ColorHelper;\n  clipPathId: string;\n  clipPath: string;\n  scaleType: string;\n  series: any;\n  margin = [10, 20, 10, 20];\n  hoveredVertical: any; // the value of the x axis that is hovered over\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  filteredDomain: any;\n  legendOptions: any;\n\n  timelineWidth: any;\n  timelineHeight: number = 50;\n  timelineXScale: any;\n  timelineYScale: any;\n  timelineXDomain: any;\n  timelineTransform: any;\n  timelinePadding: number = 10;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      if (this.timeline) {\n        this.dims.height -= (this.timelineHeight + this.margin[2] + this.timelinePadding);\n      }\n\n      this.xDomain = this.getXDomain();\n      if (this.filteredDomain) {\n        this.xDomain = this.filteredDomain;\n      }\n\n      this.yDomain = this.getYDomain();\n      this.seriesDomain = this.getSeriesDomain();\n\n      this.xScale = this.getXScale(this.xDomain, this.dims.width);\n      this.yScale = this.getYScale(this.yDomain, this.dims.height);\n\n      this.updateTimeline();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset }, ${ this.margin[0] })`;\n      let pageUrl = window.location.href;\n      this.clipPathId = 'clip' + id().toString();\n      this.clipPath = `url(${pageUrl}#${this.clipPathId})`;\n    });\n  }\n\n  updateTimeline(): void {\n    if (this.timeline) {\n      this.timelineWidth = this.width;\n\n      if (this.legend) {\n        this.timelineWidth = this.dims.width;\n      }\n\n      this.timelineXDomain = this.getXDomain();\n      this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n      this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n      this.timelineTransform = `translate(${ this.dims.xOffset }, ${ -this.margin[2] })`;\n    }\n  }\n\n  getXDomain(): any[] {\n    let values = [];\n\n    for (let results of this.results) {\n      for (let d of results.series){\n        if (!values.includes(d.name)) {\n          values.push(d.name);\n        }\n      }\n    }\n\n    this.scaleType = this.getScaleType(values);\n    let domain = [];\n\n    if (this.scaleType === 'time') {\n      values = values.map(v => moment(v).toDate());\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [min, max];\n    } else if (this.scaleType === 'linear') {\n      values = values.map(v => Number(v));\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [min, max];\n    } else {\n      domain = values;\n    }\n\n    this.xSet = values;\n\n    return domain;\n  }\n\n  getYDomain(): any[] {\n    let domain = [];\n\n    for (let results of this.results) {\n      for (let d of results.series){\n        if (!domain.includes(d.value)) {\n          domain.push(d.value);\n        }\n      }\n    }\n\n    let min = Math.min(...domain);\n    let max = Math.max(...domain);\n    if (!this.autoScale) {\n      min = Math.min(0, min);\n    }\n\n    return [min, max];\n  }\n\n  getSeriesDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  getXScale(domain, width) {\n    let scale;\n\n    if (this.scaleType === 'time') {\n      scale = d3.scaleTime()\n        .range([0, width])\n        .domain(domain);\n    } else if (this.scaleType === 'linear') {\n      scale = d3.scaleLinear()\n        .range([0, width])\n        .domain(domain);\n    } else if (this.scaleType === 'ordinal') {\n      scale = d3.scalePoint()\n        .range([0, width])\n        .padding(0.1)\n        .domain(domain);\n    }\n\n    return scale;\n  }\n\n  getYScale(domain, height) {\n    return d3.scaleLinear()\n      .range([height, 0])\n      .domain(domain);\n  }\n\n  getScaleType(values): string {\n    let date = true;\n    let num = true;\n    for (let value of values) {\n      if (!this.isDate(value)) {\n        date = false;\n      }\n      if (typeof value !== 'number') {\n        num = false;\n      }\n    }\n\n    if (date) {\n      return 'time';\n    }\n\n    if (num) {\n      return 'linear';\n    }\n\n    return 'ordinal';\n  }\n\n  isDate(value): boolean {\n    if (value instanceof Date) {\n      return true;\n    }\n\n    return false;\n  }\n\n  updateDomain(domain): void {\n    this.filteredDomain = domain;\n    this.xDomain = this.filteredDomain;\n    this.xScale = this.getXScale(this.xDomain, this.dims.width);\n  }\n\n  updateHoveredVertical(item): void {\n    this.hoveredVertical = item.value;\n  }\n\n  @HostListener('mouseleave')\n  hideCircles(): void {\n    this.hoveredVertical = null;\n  }\n\n  onClick(data, series): void {\n    if (series) {\n      data.series = series.name;\n    }\n    this.select.emit(data);\n  }\n\n  trackBy(index, item): string {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.seriesDomain;\n    } else {\n      domain = this.yDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.seriesDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.yDomain;\n      opts.colors = this.colors.scale;\n    }\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n    if (idx > -1) {\n      return;\n    }\n\n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/area-chart/area-chart.component.ts","import { NgModule } from '@angular/core';\nimport { AreaChartComponent } from './area-chart.component';\nimport { AreaChartNormalizedComponent } from './area-chart-normalized.component';\nimport { AreaChartStackedComponent } from './area-chart-stacked.component';\nimport { AreaSeriesComponent } from './area-series.component';\nimport { ChartCommonModule } from '../common/chart-common.module';\n\nexport { AreaChartComponent, AreaChartNormalizedComponent, AreaChartStackedComponent, AreaSeriesComponent }\n\n@NgModule({\n  imports: [ChartCommonModule],\n  declarations: [\n    AreaChartComponent,\n    AreaChartNormalizedComponent,\n    AreaChartStackedComponent,\n    AreaSeriesComponent\n  ],\n  exports: [\n    AreaChartComponent,\n    AreaChartNormalizedComponent,\n    AreaChartStackedComponent,\n    AreaSeriesComponent\n  ]\n})\nexport class AreaChartModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/area-chart/area-chart.module.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport d3 from '../d3';\nimport { sortLinear, sortByTime, sortByDomain } from '../utils/sort';\n\n@Component({\n  selector: 'g[ngx-charts-area-series]',\n  template: `\n    <svg:g ngx-charts-area\n      class=\"area-series\"\n      [data]=\"data\"\n      [path]=\"path\"\n      [fill]=\"colors.getColor(data.name)\"\n      [stops]=\"gradientStops\"\n      [startingPath]=\"startingPath\"\n      [opacity]=\"opacity\"\n      [gradient]=\"gradient || hasGradient\"\n      [class.active]=\"isActive(data)\"\n      [class.inactive]=\"isInactive(data)\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AreaSeriesComponent implements OnChanges {\n\n  @Input() data;\n  @Input() xScale;\n  @Input() yScale;\n  @Input() colors;\n  @Input() scaleType;\n  @Input() stacked: boolean = false;\n  @Input() normalized: boolean = false;\n  @Input() gradient;\n  @Input() curve;\n  @Input() activeEntries: any[];\n\n  @Output() select = new EventEmitter();\n\n  opacity: number;\n  path: string;\n  startingPath: string;\n\n  hasGradient: boolean;\n  gradientStops: any[];\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.updateGradient();\n\n    let area;\n    let startingArea;\n\n    let xProperty = (d) => {\n      const label = d.name;\n      return this.xScale(label);\n    };\n\n    if (this.stacked || this.normalized) {\n      area = d3.area()\n        .x(xProperty)\n        .y0((d, i) => this.yScale(d.d0))\n        .y1((d, i) => this.yScale(d.d1));\n\n      startingArea = d3.area()\n        .x(xProperty)\n        .y0(d => this.yScale.range()[0])\n        .y1(d => this.yScale.range()[0]);\n    } else {\n      area = d3.area()\n        .x(xProperty)\n        .y0(() => this.yScale.range()[0])\n        .y1(d => this.yScale(d.value));\n\n      startingArea = d3.area()\n        .x(xProperty)\n        .y0(d => this.yScale.range()[0])\n        .y1(d => this.yScale.range()[0]);\n    }\n\n    area.curve(this.curve);\n    startingArea.curve(this.curve);\n\n    this.opacity = .8;\n\n    let data = this.data.series;\n    if (this.scaleType === 'linear') {\n      data = sortLinear(data, 'name');\n    } else if (this.scaleType === 'time') {\n      data = sortByTime(data, 'name');\n    } else {\n      data = sortByDomain(data, 'name', 'asc', this.xScale.domain());\n    }\n\n    this.path = area(data);\n    this.startingPath = startingArea(data);\n  }\n\n  updateGradient() {\n    if (this.colors.scaleType === 'linear') {\n      this.hasGradient = true;\n      if (this.stacked || this.normalized) {        \n        let d0values = this.data.series.map(d => d.d0);\n        let d1values = this.data.series.map(d => d.d1);\n        let max = Math.max(...d1values);\n        let min = Math.min(...d0values);\n        this.gradientStops = this.colors.getLinearGradientStops(max, min);\n      } else {\n        let values = this.data.series.map(d => d.value);\n        let max = Math.max(...values);\n        this.gradientStops = this.colors.getLinearGradientStops(max);\n      }\n    } else {\n      this.hasGradient = false;\n      this.gradientStops = undefined;\n    }\n  }\n\n  isActive(entry): boolean {\n    if(!this.activeEntries) return false;\n    let item = this.activeEntries.find(d => {\n      return entry.name === d.name;\n    });\n    return item !== undefined;\n  }\n\n  isInactive(entry): boolean {\n    if(!this.activeEntries || this.activeEntries.length === 0) return false;\n    let item = this.activeEntries.find(d => {\n      return entry.name === d.name;\n    });\n    return item === undefined;\n  }\n  \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/area-chart/area-series.component.ts","export * from './area-chart.module';\nexport * from './area-chart.component';\nexport * from './area-chart-normalized.component';\nexport * from './area-chart-stacked.component';\nexport * from './area-series.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/area-chart/index.ts","import { NgModule } from '@angular/core';\nimport { ChartCommonModule } from '../common/chart-common.module';\nimport { BarComponent } from './bar.component';\nimport { BarHorizontalComponent } from './bar-horizontal.component';\nimport { BarHorizontal2DComponent } from './bar-horizontal-2d.component';\nimport { BarHorizontalNormalizedComponent } from './bar-horizontal-normalized.component';\nimport { BarHorizontalStackedComponent } from './bar-horizontal-stacked.component';\nimport { BarVerticalComponent } from './bar-vertical.component';\nimport { BarVertical2DComponent } from './bar-vertical-2d.component';\nimport { BarVerticalNormalizedComponent } from './bar-vertical-normalized.component';\nimport { BarVerticalStackedComponent } from './bar-vertical-stacked.component';\nimport { SeriesHorizontal } from './series-horizontal.component';\nimport { SeriesVerticalComponent } from './series-vertical.component';\n\nexport {\n  BarComponent, BarHorizontalComponent, BarHorizontal2DComponent,\n  BarHorizontalNormalizedComponent, BarHorizontalStackedComponent,\n  BarVerticalComponent, BarVertical2DComponent,\n  BarVerticalNormalizedComponent, BarVerticalStackedComponent, SeriesHorizontal,\n  SeriesVerticalComponent\n};\n\n@NgModule({\n  imports: [ChartCommonModule],\n  declarations: [\n    BarComponent,\n    BarHorizontalComponent,\n    BarHorizontal2DComponent,\n    BarHorizontalNormalizedComponent,\n    BarHorizontalStackedComponent,\n    BarVerticalComponent,\n    BarVertical2DComponent,\n    BarVerticalNormalizedComponent,\n    BarVerticalStackedComponent,\n    SeriesHorizontal,\n    SeriesVerticalComponent\n  ],\n  exports: [\n    BarComponent,\n    BarHorizontalComponent,\n    BarHorizontal2DComponent,\n    BarHorizontalNormalizedComponent,\n    BarHorizontalStackedComponent,\n    BarVerticalComponent,\n    BarVertical2DComponent,\n    BarVerticalNormalizedComponent,\n    BarVerticalStackedComponent,\n    SeriesHorizontal,\n    SeriesVerticalComponent\n  ]\n})\nexport class BarChartModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-chart.module.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  trigger,\n  style,\n  transition,\n  animate,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-bar-horizontal-2d',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\"\n      (legendLabelClick)=\"onClick($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n        <svg:g ngx-charts-grid-panel-series\n          [xScale]=\"valueScale\"\n          [yScale]=\"groupScale\"\n          [data]=\"results\"\n          [dims]=\"dims\"\n          orient=\"horizontal\">\n        </svg:g>\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"valueScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"groupScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g\n          *ngFor=\"let group of results; trackBy:trackBy\"\n          [@animationState]=\"'active'\"\n          [attr.transform]=\"groupTransform(group)\">\n          <svg:g ngx-charts-series-horizontal\n            [xScale]=\"valueScale\"\n            [activeEntries]=\"activeEntries\"\n            [yScale]=\"innerScale\"\n            [colors]=\"colors\"\n            [series]=\"group.series\"\n            [dims]=\"dims\"\n            [gradient]=\"gradient\"\n            (select)=\"onClick($event, group)\"\n            (activate)=\"onActivate($event, group)\"\n            (deactivate)=\"onDeactivate($event, group)\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('* => void', [\n        style({\n          opacity: 1,\n          transform: '*',\n        }),\n        animate(500, style({opacity: 0, transform: 'scale(0)'}))\n      ])\n    ])\n  ]\n})\nexport class BarHorizontal2DComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n  \n  dims: ViewDimensions;\n  groupDomain: any[];\n  innerDomain: any[];\n  valuesDomain: any[];\n  groupScale: any;\n  innerScale: any;\n  valueScale: any;\n  transform: string;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      this.formatDates();\n\n      this.groupDomain = this.getGroupDomain();\n      this.innerDomain = this.getInnerDomain();\n      this.valuesDomain = this.getValueDomain();\n\n      this.groupScale = this.getGroupScale();\n      this.innerScale = this.getInnerScale();\n      this.valueScale = this.getValueScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getGroupScale() {\n    const spacing = 0.2;\n\n    return d3.scaleBand()\n      .rangeRound([this.dims.height, 0])\n      .paddingInner(spacing)\n      .paddingOuter(spacing / 2)\n      .domain(this.groupDomain);\n  }\n\n  getInnerScale() {\n    const spacing = 0.2;\n\n    return d3.scaleBand()\n      .rangeRound([0, this.groupScale.bandwidth()])\n      .paddingInner(spacing)\n      .domain(this.innerDomain);\n  }\n\n  getValueScale() {\n    return d3.scaleLinear()\n      .range([0, this.dims.width])\n      .domain(this.valuesDomain);\n  }\n\n  getGroupDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      if (!domain.includes(group.name)) {\n        domain.push(group.name);\n      }\n    }\n\n    return domain;\n  }\n\n  getInnerDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.name)) {\n          domain.push(d.name);\n        }\n      }\n    }\n\n    return domain;\n  }\n\n  getValueDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.value)) {\n          domain.push(d.value);\n        }\n      }\n    }\n\n    let min = Math.min(0, ...domain);\n    let max = Math.max(...domain);\n\n    return [ min, max ];\n  }\n\n  groupTransform(group) {\n    return `translate(0, ${this.groupScale(group.name)})`;\n  }\n\n  onClick(data, group): void {\n    if (group) {\n      data.series = group.name;\n    }\n\n    this.select.emit(data);\n  }\n\n  trackBy(index, item): string {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.innerDomain; \n    } else {\n      domain = this.valuesDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.innerDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.valuesDomain;\n      opts.colors = this.colors.scale;\n    }\n\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n    if (idx > -1) {\n      return;\n    }\n    \n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-horizontal-2d.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  trigger,\n  style,\n  transition,\n  animate,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-bar-horizontal-normalized',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\"\n      (legendLabelClick)=\"onClick($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g\n          *ngFor=\"let group of results; trackBy:trackBy\"\n          [@animationState]=\"'active'\"\n          [attr.transform]=\"groupTransform(group)\">\n          <svg:g ngx-charts-series-horizontal\n            type=\"normalized\"\n            [xScale]=\"xScale\"\n            [yScale]=\"yScale\"\n            [activeEntries]=\"activeEntries\"\n            [colors]=\"colors\"\n            [series]=\"group.series\"\n            [dims]=\"dims\"\n            [gradient]=\"gradient\"\n            (select)=\"onClick($event, group)\"\n            (activate)=\"onActivate($event, group)\"\n            (deactivate)=\"onDeactivate($event, group)\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('* => void', [\n        style({\n          opacity: 1,\n          transform: '*',\n        }),\n        animate(500, style({opacity: 0, transform: 'scale(0)'}))\n      ])\n    ])\n  ]\n})\nexport class BarHorizontalNormalizedComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n  \n  dims: ViewDimensions;\n  groupDomain: any[];\n  innerDomain: any[];\n  valueDomain: any[];\n  xScale: any;\n  yScale: any;\n  transform: string;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      this.formatDates();\n\n      this.groupDomain = this.getGroupDomain();\n      this.innerDomain = this.getInnerDomain();\n      this.valueDomain = this.getValueDomain();\n\n      this.xScale = this.getXScale();\n      this.yScale = this.getYScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getGroupDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      if (!domain.includes(group.name)) {\n        domain.push(group.name);\n      }\n    }\n\n    return domain;\n  }\n\n  getInnerDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.name)) {\n          domain.push(d.name);\n        }\n      }\n    }\n\n    return domain;\n  }\n\n  getValueDomain(): any[] {\n    return [0, 100];\n  }\n\n  getYScale() {\n    const spacing = 0.1;\n\n    return d3.scaleBand()\n      .rangeRound([this.dims.height, 0])\n      .paddingInner(spacing)\n      .domain(this.groupDomain);\n  }\n\n  getXScale() {\n    return d3.scaleLinear()\n      .range([0, this.dims.width])\n      .domain(this.valueDomain);\n  }\n\n  groupTransform(group): string {\n    return `translate(0, ${this.yScale(group.name)})`;\n  }\n\n  onClick(data, group): void {\n    if (group) {\n      data.series = group.name;\n    }\n\n    this.select.emit(data);\n  }\n\n  trackBy(index, item): string {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.innerDomain; \n    } else {\n      domain = this.valueDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.innerDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.valueDomain;\n      opts.colors = this.colors.scale;\n    }\n\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n    if (idx > -1) {\n      return;\n    }\n    \n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-horizontal-normalized.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  trigger,\n  style,\n  transition,\n  animate,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-bar-horizontal-stacked',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\"\n      (legendLabelClick)=\"onClick($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g\n          *ngFor=\"let group of results; trackBy:trackBy\"\n          [@animationState]=\"'active'\"\n          [attr.transform]=\"groupTransform(group)\">\n          <svg:g ngx-charts-series-horizontal\n            type=\"stacked\"\n            [xScale]=\"xScale\"\n            [yScale]=\"yScale\"\n            [colors]=\"colors\"\n            [series]=\"group.series\"\n            [activeEntries]=\"activeEntries\"\n            [dims]=\"dims\"\n            [gradient]=\"gradient\"\n            (select)=\"onClick($event, group)\"\n            (activate)=\"onActivate($event, group)\"\n            (deactivate)=\"onDeactivate($event, group)\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('* => void', [\n        style({\n          opacity: 1,\n          transform: '*',\n        }),\n        animate(500, style({opacity: 0, transform: 'scale(0)'}))\n      ])\n    ])\n  ]\n})\nexport class BarHorizontalStackedComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n  \n  dims: ViewDimensions;\n  groupDomain: any[];\n  innerDomain: any[];\n  valueDomain: any[];\n  xScale: any;\n  yScale: any;\n  transform: string;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      this.formatDates();\n\n      this.groupDomain = this.getGroupDomain();\n      this.innerDomain = this.getInnerDomain();\n      this.valueDomain = this.getValueDomain();\n\n      this.xScale = this.getXScale();\n      this.yScale = this.getYScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getGroupDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      if (!domain.includes(group.name)) {\n        domain.push(group.name);\n      }\n    }\n\n    return domain;\n  }\n\n  getInnerDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.name)) {\n          domain.push(d.name);\n        }\n      }\n    }\n\n    return domain;\n  }\n\n  getValueDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      let sum = 0;\n      for (let d of group.series) {\n        sum += d.value;\n      }\n\n      domain.push(sum);\n    }\n\n    const min = Math.min(0, ...domain);\n    const max = Math.max(...domain);\n\n    return [ min, max ];\n  }\n\n  getYScale() {\n    const spacing = 0.1;\n\n    return d3.scaleBand()\n      .rangeRound([this.dims.height, 0])\n      .paddingInner(spacing)\n      .domain(this.groupDomain);\n  }\n\n  getXScale() {\n    return d3.scaleLinear()\n      .range([0, this.dims.width])\n      .domain(this.valueDomain);\n\n  }\n\n  groupTransform(group): string {\n    return `translate(0, ${this.yScale(group.name)})`;\n  }\n\n  onClick(data, group): void {\n    if (group) {\n      data.series = group.name;\n    }\n\n    this.select.emit(data);\n  }\n\n  trackBy(index, item): string {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.innerDomain; \n    } else {\n      domain = this.valueDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.innerDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.valueDomain;\n      opts.colors = this.colors.scale;\n    }\n\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n    if (idx > -1) {\n      return;\n    }\n    \n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-horizontal-stacked.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-bar-horizontal',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelClick)=\"onClick($event)\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g ngx-charts-series-horizontal\n          [xScale]=\"xScale\"\n          [yScale]=\"yScale\"\n          [colors]=\"colors\"\n          [series]=\"results\"\n          [dims]=\"dims\"\n          [gradient]=\"gradient\"\n          [activeEntries]=\"activeEntries\"\n          (select)=\"onClick($event)\"\n          (activate)=\"onActivate($event)\"\n          (deactivate)=\"onDeactivate($event)\"\n        />\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarHorizontalComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  yScale: any;\n  xScale: any;\n  xDomain: any;\n  yDomain: any;\n  transform: string;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      this.xScale = this.getXScale();\n      this.yScale = this.getYScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getXScale() {\n    this.xDomain = this.getXDomain();\n\n    return d3.scaleLinear()\n      .range([0, this.dims.width])\n      .domain(this.xDomain);\n  }\n\n  getYScale() {\n    const spacing = 0.2;\n    this.yDomain = this.getYDomain();\n\n    return d3.scaleBand()\n      .rangeRound([this.dims.height, 0])\n      .paddingInner(spacing)\n      .domain(this.yDomain);\n  }\n\n  getXDomain(): any[] {\n    const values = this.results.map(d => d.value);\n\n    const min = Math.min(0, ...values);\n    const max = Math.max(...values);\n\n    return [ min, max ];\n  }\n\n  getYDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n  \n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.yDomain; \n    } else {\n      domain = this.xDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.yDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.xDomain;\n      opts.colors = this.colors.scale;\n    }\n\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n    if (idx > -1) {\n      return;\n    }\n    \n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n  \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-horizontal.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  trigger,\n  style,\n  transition,\n  animate,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-bar-vertical-2d',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\"\n      (legendLabelClick)=\"onClick($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n        <svg:g ngx-charts-grid-panel-series\n          [xScale]=\"groupScale\"\n          [yScale]=\"valueScale\"\n          [data]=\"results\"\n          [dims]=\"dims\"\n          orient=\"vertical\">\n        </svg:g>\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"groupScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"valueScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g ngx-charts-series-vertical\n          *ngFor=\"let group of results; trackBy:trackBy\"\n          [@animationState]=\"'active'\"\n          [attr.transform]=\"groupTransform(group)\"\n          [activeEntries]=\"activeEntries\"\n          [xScale]=\"innerScale\"\n          [yScale]=\"valueScale\"\n          [colors]=\"colors\"\n          [series]=\"group.series\"\n          [dims]=\"dims\"\n          [gradient]=\"gradient\"\n          (select)=\"onClick($event, group)\"\n          (activate)=\"onActivate($event, group)\"\n          (deactivate)=\"onDeactivate($event, group)\"\n        />\n        </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('* => void', [\n        style({\n          opacity: 1,\n          transform: '*',\n        }),\n        animate(500, style({opacity: 0, transform: 'scale(0)'}))\n      ])\n    ])\n  ]\n})\nexport class BarVertical2DComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() scaleType = 'ordinal';\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  groupDomain: any[];\n  innerDomain: any[];\n  valuesDomain: any[];\n  groupScale: any;\n  innerScale: any;\n  valueScale: any;\n  transform: string;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      this.formatDates();\n\n      this.groupDomain = this.getGroupDomain();\n      this.innerDomain = this.getInnerDomain();\n      this.valuesDomain = this.getValueDomain();\n\n      this.groupScale = this.getGroupScale();\n      this.innerScale = this.getInnerScale();\n      this.valueScale = this.getValueScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getGroupScale() {\n    let spacing = 0.2;\n    return d3.scaleBand()\n      .rangeRound([0, this.dims.width])\n      .paddingInner(spacing)\n      .paddingOuter(spacing / 2)\n      .domain(this.groupDomain);\n  }\n\n  getInnerScale() {\n    let spacing = 0.2;\n    return d3.scaleBand()\n      .rangeRound([0, this.groupScale.bandwidth()])\n      .paddingInner(spacing)\n      .domain(this.innerDomain);\n  }\n\n  getValueScale() {\n    return d3.scaleLinear()\n      .range([this.dims.height, 0])\n      .domain(this.valuesDomain);\n  }\n\n  getGroupDomain() {\n    let domain = [];\n    for (let group of this.results) {\n      if (!domain.includes(group.name)) {\n        domain.push(group.name);\n      }\n    }\n\n    return domain;\n  }\n\n  getInnerDomain() {\n    let domain = [];\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.name)) {\n          domain.push(d.name);\n        }\n      }\n    }\n\n    return domain;\n  }\n\n  getValueDomain() {\n    let domain = [];\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.value)) {\n          domain.push(d.value);\n        }\n      }\n    }\n\n    let min = Math.min(0, ...domain);\n    let max = Math.max(...domain);\n    return [min, max];\n  }\n\n  groupTransform(group) {\n    return `translate(${this.groupScale(group.name)}, 0)`;\n  }\n\n  onClick(data, group) {\n    if (group) {\n      data.series = group.name;\n    }\n    this.select.emit(data);\n  }\n\n  trackBy(index, item) {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.innerDomain; \n    } else {\n      domain = this.valuesDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.innerDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.valuesDomain;\n      opts.colors = this.colors.scale;\n    }\n\n    return opts;\n  }\n\n  updateYAxisWidth({width}) {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({height}) {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n    if (idx > -1) {\n      return;\n    }\n    \n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-vertical-2d.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  trigger,\n  style,\n  transition,\n  animate,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-bar-vertical-normalized',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\"\n      (legendLabelClick)=\"onClick($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g\n          *ngFor=\"let group of results; trackBy:trackBy\"\n          [@animationState]=\"'active'\"\n          [attr.transform]=\"groupTransform(group)\">\n          <svg:g ngx-charts-series-vertical\n            type=\"normalized\"\n            [xScale]=\"xScale\"\n            [yScale]=\"yScale\"\n            [activeEntries]=\"activeEntries\"\n            [colors]=\"colors\"\n            [series]=\"group.series\"\n            [dims]=\"dims\"\n            [gradient]=\"gradient\"\n            (select)=\"onClick($event, group)\"\n            (activate)=\"onActivate($event, group)\"\n            (deactivate)=\"onDeactivate($event, group)\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('* => void', [\n        style({\n          opacity: 1,\n          transform: '*',\n        }),\n        animate(500, style({opacity: 0, transform: 'scale(0)'}))\n      ])\n    ])\n  ]\n})\nexport class BarVerticalNormalizedComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  groupDomain: any[];\n  innerDomain: any[];\n  valueDomain: any[];\n  xScale: any;\n  yScale: any;\n  transform: string;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      this.formatDates();\n\n      this.groupDomain = this.getGroupDomain();\n      this.innerDomain = this.getInnerDomain();\n      this.valueDomain = this.getValueDomain();\n\n      this.xScale = this.getXScale();\n      this.yScale = this.getYScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getGroupDomain() {\n    let domain = [];\n    for (let group of this.results) {\n      if (!domain.includes(group.name)) {\n        domain.push(group.name);\n      }\n    }\n\n    return domain;\n  }\n\n  getInnerDomain() {\n    let domain = [];\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.name)) {\n          domain.push(d.name);\n        }\n      }\n    }\n\n    return domain;\n  }\n\n  getValueDomain() {\n    return [0, 100];\n  }\n\n  getXScale() {\n    let spacing = 0.1;\n    return d3.scaleBand()\n      .rangeRound([0, this.dims.width])\n      .paddingInner(spacing)\n      .domain(this.groupDomain);\n  }\n\n  getYScale() {\n    return d3.scaleLinear()\n      .range([this.dims.height, 0])\n      .domain(this.valueDomain);\n  }\n\n  groupTransform(group) {\n    return `translate(${this.xScale(group.name)}, 0)`;\n  }\n\n  onClick(data, group) {\n    if (group) {\n      data.series = group.name;\n    }\n    this.select.emit(data);\n  }\n\n  trackBy(index, item) {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.innerDomain; \n    } else {\n      domain = this.valueDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.innerDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.valueDomain;\n      opts.colors = this.colors.scale;\n    }\n\n    return opts;\n  }\n\n  updateYAxisWidth({width}) {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({height}) {\n    this.xAxisHeight = height;\n    this.update();\n  }\n  \n  onActivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n    if (idx > -1) {\n      return;\n    }\n    \n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n  \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-vertical-normalized.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  trigger,\n  style,\n  transition,\n  animate,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-bar-vertical-stacked',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\"\n      (legendLabelClick)=\"onClick($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g\n          *ngFor=\"let group of results; trackBy:trackBy\"\n          [@animationState]=\"'active'\"\n          [attr.transform]=\"groupTransform(group)\">\n          <svg:g ngx-charts-series-vertical\n            type=\"stacked\"\n            [xScale]=\"xScale\"\n            [yScale]=\"yScale\"\n            [activeEntries]=\"activeEntries\"\n            [colors]=\"colors\"\n            [series]=\"group.series\"\n            [dims]=\"dims\"\n            [gradient]=\"gradient\"\n            (select)=\"onClick($event, group)\"\n            (activate)=\"onActivate($event, group)\"\n            (deactivate)=\"onDeactivate($event, group)\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('* => void', [\n        style({\n          opacity: 1,\n          transform: '*',\n        }),\n        animate(500, style({opacity: 0, transform: 'scale(0)'}))\n      ])\n    ])\n  ]\n})\nexport class BarVerticalStackedComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  groupDomain: any[];\n  innerDomain: any[];\n  valueDomain: any[];\n  xScale: any;\n  yScale: any;\n  transform: string;\n  tickFormatting: Function;\n  colors: ColorHelper;\n  margin = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      this.formatDates();\n\n      this.groupDomain = this.getGroupDomain();\n      this.innerDomain = this.getInnerDomain();\n      this.valueDomain = this.getValueDomain();\n\n      this.xScale = this.getXScale();\n      this.yScale = this.getYScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getGroupDomain() {\n    let domain = [];\n    for (let group of this.results) {\n      if (!domain.includes(group.name)) {\n        domain.push(group.name);\n      }\n    }\n\n    return domain;\n  }\n\n  getInnerDomain() {\n    let domain = [];\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.name)) {\n          domain.push(d.name);\n        }\n      }\n    }\n\n    return domain;\n  }\n\n  getValueDomain() {\n    let domain = [];\n    for (let group of this.results) {\n      let sum = 0;\n      for (let d of group.series) {\n        sum += d.value;\n      }\n\n      domain.push(sum);\n    }\n\n    let min = Math.min(0, ...domain);\n    let max = Math.max(...domain);\n    return [min, max];\n  }\n\n  getXScale() {\n    let spacing = 0.1;\n    return d3.scaleBand()\n      .rangeRound([0, this.dims.width])\n      .paddingInner(spacing)\n      .domain(this.groupDomain);\n  }\n\n  getYScale() {\n    return d3.scaleLinear()\n      .range([this.dims.height, 0])\n      .domain(this.valueDomain);\n\n  }\n\n  groupTransform(group) {\n    return `translate(${this.xScale(group.name)}, 0)`;\n  }\n\n  onClick(data, group) {\n    if (group) {\n      data.series = group.name;\n    }\n    this.select.emit(data);\n  }\n\n  trackBy(index, item) {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.innerDomain; \n    } else {\n      domain = this.valueDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.innerDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.valueDomain;\n      opts.colors = this.colors.scale;\n    }\n\n    return opts;\n  }\n\n  updateYAxisWidth({width}) {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({height}) {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n    if (idx > -1) {\n      return;\n    }\n    \n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(event, group) {\n    let item = Object.assign({}, event);\n    if (group) {\n      item.series = group.name;\n    }\n\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n  \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-vertical-stacked.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'ngx-charts-bar-vertical',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelClick)=\"onClick($event)\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"bar-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g ngx-charts-series-vertical\n          [xScale]=\"xScale\"\n          [yScale]=\"yScale\"\n          [colors]=\"colors\"\n          [series]=\"results\"\n          [dims]=\"dims\"\n          [gradient]=\"gradient\"\n          [activeEntries]=\"activeEntries\"\n          (activate)=\"onActivate($event)\"\n          (deactivate)=\"onDeactivate($event)\"\n          (select)=\"onClick($event)\">\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarVerticalComponent extends BaseChartComponent {\n\n  @Input() legend = false;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  xScale: any;\n  yScale: any;\n  xDomain: any;\n  yDomain: any;\n  transform: string;\n  colors: ColorHelper;\n  margin: any[] = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      this.xScale = this.getXScale();\n      this.yScale = this.getYScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getXScale() {\n    const spacing = 0.2;\n    this.xDomain = this.getXDomain();\n    return d3.scaleBand()\n      .rangeRound([0, this.dims.width])\n      .paddingInner(spacing)\n      .domain(this.xDomain);\n  }\n\n  getYScale() {\n    this.yDomain = this.getYDomain();\n    return d3.scaleLinear()\n      .range([this.dims.height, 0])\n      .domain(this.yDomain);\n  }\n\n  getXDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  getYDomain() {\n    let values = this.results.map(d => d.value);\n    let min = Math.min(0, ...values);\n    let max = Math.max(...values);\n    return [min, max];\n  }\n\n  onClick(data) {\n    this.select.emit(data);\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.xDomain;\n    } else {\n      domain = this.yDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.xDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.yDomain;\n      opts.colors = this.colors.scale;\n    }\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n  \n  onActivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n    if (idx > -1) {\n      return;\n    }\n\n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value && d.series === item.series;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar-vertical.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  HostListener,\n  ElementRef,\n  SimpleChanges,\n  OnChanges,\n  ChangeDetectionStrategy\n } from '@angular/core';\nimport { id } from '../utils/id';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'g[ngx-charts-bar]',\n  template: `\n    <svg:defs *ngIf=\"hasGradient\">\n      <svg:g ngx-charts-svg-linear-gradient\n        [color]=\"fill\"\n        [orientation]=\"orientation\"\n        [name]=\"gradientId\"\n        [stops]=\"gradientStops\"\n      />\n    </svg:defs>\n    <svg:path\n      class=\"bar\"\n      stroke=\"none\"\n      [class.active]=\"isActive\"\n      [attr.d]=\"path\"\n      [attr.fill]=\"hasGradient ? gradientFill : fill\"\n      (click)=\"select.emit(data)\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class BarComponent implements OnChanges {\n\n  @Input() fill;\n  @Input() data;\n  @Input() width;\n  @Input() height;\n  @Input() x;\n  @Input() y;\n  @Input() orientation;\n  @Input() roundEdges: boolean = true;\n  @Input() gradient: boolean = false;\n  @Input() offset = 0;\n  @Input() isActive: boolean = false;\n  @Input() stops: any[];\n\n  @Output() select = new EventEmitter();\n  @Output() activate = new EventEmitter();\n  @Output() deactivate = new EventEmitter();\n\n  element: any;\n  path: any;\n  gradientId: any;\n  gradientFill: any;\n  startOpacity: any;\n  initialized: boolean = false;\n  gradientStops: any[];\n  hasGradient: boolean = false;\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (!this.initialized) {\n      this.loadAnimation();\n      this.initialized = true;\n    } else {\n      this.update();\n    }\n  }\n\n  update(): void {\n    let pageUrl = window.location.href;\n    this.gradientId = 'grad' + id().toString();\n    this.gradientFill = `url(${pageUrl}#${this.gradientId})`;\n\n    if (this.gradient || this.stops) {\n      this.gradientStops = this.getGradient();\n      this.hasGradient = true;\n    } else {\n      this.hasGradient = false;\n    }\n\n    this.animateToCurrentForm();\n  }\n\n  loadAnimation(): void {\n    this.path = this.getStartingPath();\n    setTimeout(this.update.bind(this), 100);\n  }\n\n  animateToCurrentForm(): void {\n    let node = d3.select(this.element).select('.bar');\n    let path = this.getPath();\n\n    node.transition().duration(750)\n      .attr('d', path);\n  }\n\n  getGradient() {\n    if (this.stops) {\n      return this.stops;\n    }\n\n    return [\n      {\n        offset: 0,\n        color: this.fill,\n        opacity: this.getStartOpacity()\n      },\n      {\n        offset: 100,\n        color: this.fill,\n        opacity: 1\n    }];\n  }\n\n  getStartingPath() {\n    let radius = this.getRadius();\n    let path;\n\n    if (this.roundEdges) {\n      if (this.orientation === 'vertical') {\n        radius = Math.min(this.height, radius);\n        path = this.roundedRect(this.x, this.y + this.height, this.width, 0, radius, true, true, false, false);\n      } else if (this.orientation === 'horizontal') {\n        radius = Math.min(this.width, radius);\n        path = this.roundedRect(this.x, this.y, 0, this.height, radius, false, true, false, true);\n      }\n    } else {\n      if (this.orientation === 'vertical') {\n        path = this.roundedRect(this.x, this.y + this.height, this.width, 0, radius, false, false, false, false);\n      } else if (this.orientation === 'horizontal') {\n        path = this.roundedRect(this.x, this.y, 0, this.height, radius, false, false, false, false);\n      }\n    }\n\n    return path;\n  }\n\n  getPath() {\n    let radius = this.getRadius();\n    let path;\n\n    if (this.roundEdges) {\n      if (this.orientation === 'vertical') {\n        radius = Math.min(this.height, radius);\n        path = this.roundedRect(this.x, this.y, this.width, this.height, radius, true, true, false, false);\n      } else if (this.orientation === 'horizontal') {\n        radius = Math.min(this.width, radius);\n        path = this.roundedRect(this.x, this.y, this.width, this.height, radius, false, true, false, true);\n      }\n    } else {\n      path = this.roundedRect(this.x, this.y, this.width, this.height, radius, false, false, false, false);\n    }\n\n    return path;\n  }\n\n  getRadius(): number {\n    let radius = 0;\n\n    if (this.roundEdges && this.height > 5 && this.width > 5) {\n      radius = Math.floor(Math.min(5, this.height / 2, this.width / 2));\n    }\n\n    return radius;\n  }\n\n  getStartOpacity(): number {\n    if (this.roundEdges) {\n      return 0.2;\n    } else {\n      return 0.5;\n    }\n  }\n\n  roundedRect(x, y, w, h, r, tl, tr, bl, br) {\n    let retval;\n\n    retval = 'M' + (x + r) + ',' + y;\n    retval += 'h' + (w - 2 * r);\n\n    if (tr) {\n      retval += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;\n    } else {\n      retval += 'h' + r;\n      retval += 'v' + r;\n    }\n\n    retval += 'v' + (h - 2 * r);\n\n    if (br) {\n      retval += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;\n    } else {\n      retval += 'v' + r;\n      retval += 'h' + -r;\n    }\n\n    retval += 'h' + (2 * r - w);\n\n    if (bl) {\n      retval += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;\n    } else {\n      retval += 'h' + -r;\n      retval += 'v' + -r;\n    }\n\n    retval += 'v' + (2 * r - h);\n\n    if (tl) {\n      retval += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;\n    } else {\n      retval += 'v' + -r;\n      retval += 'h' + r;\n    }\n\n    retval += 'z';\n\n    return retval;\n  }\n\n  @HostListener('mouseenter')\n  onMouseEnter(): void {\n    this.activate.emit(this.data);\n  }\n\n  @HostListener('mouseleave')\n  onMouseLeave(): void {\n    this.deactivate.emit(this.data);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/bar.component.ts","export * from './bar-chart.module';\nexport * from './bar.component';\nexport * from './bar-horizontal.component';\nexport * from './bar-horizontal-2d.component';\nexport * from './bar-horizontal-normalized.component';\nexport * from './bar-horizontal-stacked.component';\nexport * from './series-horizontal.component';\n\nexport * from './bar-vertical.component';\nexport * from './bar-vertical-2d.component';\nexport * from './bar-vertical-normalized.component';\nexport * from './bar-vertical-stacked.component';\nexport * from './series-vertical.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/index.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n  trigger,\n  style,\n  transition,\n  SimpleChanges,\n  animate,\n  ChangeDetectionStrategy\n} from '@angular/core';\n import { formatLabel } from '../common/label.helper';\n\n@Component({\n  selector: 'g[ngx-charts-series-horizontal]',\n  template: `\n    <svg:g ngx-charts-bar\n      *ngFor=\"let bar of bars; trackBy:trackBy\"\n      [@animationState]=\"'active'\"\n      [width]=\"bar.width\"\n      [height]=\"bar.height\"\n      [x]=\"bar.x\"\n      [y]=\"bar.y\"\n      [fill]=\"bar.color\"\n      [stops]=\"bar.gradientStops\"\n      [data]=\"bar.data\"\n      [orientation]=\"'horizontal'\"\n      [roundEdges]=\"bar.roundEdges\"\n      (select)=\"click($event)\"\n      [gradient]=\"gradient\"\n      [isActive]=\"isActive(bar.data)\"\n      (activate)=\"activate.emit($event)\"\n      (deactivate)=\"deactivate.emit($event)\"\n      ngx-tooltip\n      [tooltipPlacement]=\"'top'\"\n      [tooltipType]=\"'tooltip'\"\n      [tooltipTitle]=\"bar.tooltipText\">\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('* => void', [\n        style({\n          opacity: 1,\n          transform: '*',\n        }),\n        animate(500, style({opacity: 0, transform: 'scale(0)'}))\n      ])\n    ])\n  ]\n})\nexport class SeriesHorizontal implements OnChanges {\n  bars: any;\n  x: any;\n  y: any;\n\n  @Input() dims;\n  @Input() type = 'standard';\n  @Input() series;\n  @Input() xScale;\n  @Input() yScale;\n  @Input() colors;\n  @Input() gradient: boolean;\n  @Input() activeEntries: any[];\n\n  @Output() select = new EventEmitter();\n  @Output() activate = new EventEmitter();\n  @Output() deactivate = new EventEmitter();\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    let d0 = 0;\n    let total;\n    if (this.type === 'normalized') {\n      total = this.series.map(d => d.value).reduce((sum, d) => { return sum + d; }, 0);\n    }\n\n    this.bars = this.series.map((d, index) => {\n      let value = d.value;\n      let label = d.name;\n      const formattedLabel = formatLabel(label);\n      const roundEdges = this.type === 'standard';\n\n      let bar: any = {\n        value,\n        label,\n        roundEdges,\n        data: d,\n        formattedLabel\n      };\n\n      bar.height = this.yScale.bandwidth();\n\n      if (this.type === 'standard') {\n        bar.width = Math.abs(this.xScale(value) - this.xScale(0));\n        if (value < 0) {\n          bar.x = this.xScale(value);\n        } else {\n          bar.x = this.xScale(0);\n        }\n        bar.y = this.yScale(label);\n      } else if (this.type === 'stacked') {\n        let offset0 = d0;\n        let offset1 = offset0 + value;\n        d0 += value;\n\n        bar.width = this.xScale(offset1) - this.xScale(offset0);\n        bar.x = this.xScale(offset0);\n        bar.y = 0;\n        bar.offset0 = offset0;\n        bar.offset1 = offset1;\n      } else if (this.type === 'normalized') {\n        let offset0 = d0;\n        let offset1 = offset0 + value;\n        d0 += value;\n\n        if (total > 0) {\n          offset0 = (offset0 * 100) / total;\n          offset1 = (offset1 * 100) / total;\n        } else {\n          offset0 = 0;\n          offset1 = 0;\n        }\n\n        bar.width = this.xScale(offset1) - this.xScale(offset0);\n        bar.x = this.xScale(offset0);\n        bar.y = 0;\n        bar.offset0 = offset0;\n        bar.offset1 = offset1;\n        value = (offset1 - offset0).toFixed(2) + '%';\n      }\n\n      if (this.colors.scaleType === 'ordinal') {\n        bar.color = this.colors.getColor(label);\n      } else {\n        if (this.type === 'standard') {\n          bar.color = this.colors.getColor(value);\n          bar.gradientStops = this.colors.getLinearGradientStops(value);\n        } else {\n          bar.color = this.colors.getColor(bar.offset1);\n          bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n        }\n      }\n\n      bar.tooltipText = `\n        <span class=\"tooltip-label\">${formattedLabel}</span>\n        <span class=\"tooltip-val\">${value.toLocaleString()}</span>\n      `;\n\n      return bar;\n    });\n  }\n\n  isActive(entry): boolean {\n    if(!this.activeEntries) return false;\n    let item = this.activeEntries.find(d => {\n      return entry.name === d.name && entry.series === d.series;\n    });\n    return item !== undefined;\n  }\n\n  trackBy(index, bar) {\n    return bar.label;\n  }\n\n  click(data): void {\n    this.select.emit(data);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/series-horizontal.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n  trigger,\n  style,\n  transition,\n  animate,\n  ChangeDetectionStrategy\n } from '@angular/core';\nimport { formatLabel } from '../common/label.helper';\n\n@Component({\n  selector: 'g[ngx-charts-series-vertical]',\n  template: `\n    <svg:g ngx-charts-bar *ngFor=\"let bar of bars; trackBy: trackBy\"\n      [@animationState]=\"'active'\"\n      [width]=\"bar.width\"\n      [height]=\"bar.height\"\n      [x]=\"bar.x\"\n      [y]=\"bar.y\"\n      [fill]=\"bar.color\"\n      [stops]=\"bar.gradientStops\"\n      [data]=\"bar.data\"\n      [orientation]=\"'vertical'\"\n      [roundEdges]=\"bar.roundEdges\"\n      [gradient]=\"gradient\"\n      [isActive]=\"isActive(bar.data)\"\n      (select)=\"onClick($event)\"\n      (activate)=\"activate.emit($event)\"\n      (deactivate)=\"deactivate.emit($event)\"\n      ngx-tooltip\n      [tooltipPlacement]=\"'top'\"\n      [tooltipType]=\"'tooltip'\"\n      [tooltipTitle]=\"bar.tooltipText\">\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('* => void', [\n        style({\n          opacity: 1,\n          transform: '*',\n        }),\n        animate(500, style({opacity: 0, transform: 'scale(0)'}))\n      ])\n    ])\n  ]\n})\nexport class SeriesVerticalComponent implements OnChanges {\n\n  @Input() dims;\n  @Input() type = 'standard';\n  @Input() series;\n  @Input() xScale;\n  @Input() yScale;\n  @Input() colors;\n  @Input() gradient: boolean;\n  @Input() activeEntries: any[];\n\n  @Output() select = new EventEmitter();\n  @Output() activate = new EventEmitter();\n  @Output() deactivate = new EventEmitter();\n\n  bars: any;\n  x: any;\n  y: any;\n\n  ngOnChanges(changes): void {\n    this.update();\n  }\n\n  update(): void {\n    let width;\n    if (this.series.length) {\n      width = this.xScale.bandwidth();\n    }\n\n    let d0 = 0;\n    let total;\n    if (this.type === 'normalized') {\n      total = this.series.map(d => d.value).reduce((sum, d) => { return sum + d; }, 0);\n    }\n\n    this.bars = this.series.map((d, index) => {\n      let value = d.value;\n      let label = d.name;\n      const formattedLabel = formatLabel(label);\n      const roundEdges = this.type === 'standard';\n\n      let bar: any = {\n        value,\n        label,\n        roundEdges,\n        data: d,\n        width,\n        formattedLabel,\n        height: 0,\n        x: 0,\n        y: 0\n      };\n\n      if (this.type === 'standard') {\n        bar.height = Math.abs(this.yScale(value) - this.yScale(0));\n        bar.x = this.xScale(label);\n\n        if (value < 0) {\n          bar.y = this.yScale(0);\n        } else {\n          bar.y = this.yScale(value);\n        }\n      } else if (this.type === 'stacked') {\n        let offset0 = d0;\n        let offset1 = offset0 + value;\n        d0 += value;\n\n        bar.height = this.yScale(offset0) - this.yScale(offset1);\n        bar.x = 0;\n        bar.y = this.yScale(offset1);\n        bar.offset0 = offset0;\n        bar.offset1 = offset1;\n      } else if (this.type === 'normalized') {\n        let offset0 = d0;\n        let offset1 = offset0 + value;\n        d0 += value;\n\n        if (total > 0) {\n          offset0 = (offset0 * 100) / total;\n          offset1 = (offset1 * 100) / total;\n        } else {\n          offset0 = 0;\n          offset1 = 0;\n        }\n\n        bar.height = this.yScale(offset0) - this.yScale(offset1);\n        bar.x = 0;\n        bar.y = this.yScale(offset1);\n        bar.offset0 = offset0;\n        bar.offset1 = offset1;\n        value = (offset1 - offset0).toFixed(2) + '%';\n      }\n\n      if (this.colors.scaleType === 'ordinal') {\n        bar.color = this.colors.getColor(label);\n      } else {\n        if (this.type === 'standard') {\n          bar.color = this.colors.getColor(value);\n          bar.gradientStops = this.colors.getLinearGradientStops(value);\n        } else {\n          bar.color = this.colors.getColor(bar.offset1);\n          bar.gradientStops = this.colors.getLinearGradientStops(bar.offset1, bar.offset0);\n        }\n      }\n\n      bar.tooltipText = `\n        <span class=\"tooltip-label\">${formattedLabel}</span>\n        <span class=\"tooltip-val\">${value.toLocaleString()}</span>\n      `;\n\n      return bar;\n    });\n  }\n\n  isActive(entry): boolean {\n    if(!this.activeEntries) return false;\n    let item = this.activeEntries.find(d => {\n      return entry.name === d.name && entry.series === d.series;\n    });\n    return item !== undefined;\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  trackBy(index, bar): string {\n    return bar.label;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/bar-chart/series-vertical.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n  ViewChildren,\n  SimpleChanges,\n  Renderer,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-area-tooltip]',\n  template: `\n    <svg:g\n      #tooltips\n      *ngFor=\"let tooltipArea of tooltipAreas; let i = index\">\n      <svg:rect\n        class=\"tooltip-area\"\n        [attr.x]=\"tooltipArea.x0\"\n        y=\"0\"\n        [attr.width]=\"tooltipArea.width\"\n        [attr.height]=\"height\"\n        style=\"fill: rgb(255, 0, 0); opacity: 0; cursor: 'auto';\"\n        (mouseenter)=\"showTooltip(i)\"\n        (mouseleave)=\"hideTooltip(i)\"\n      />\n      <xhtml:template #tooltipTemplate>\n        <xhtml:div class=\"area-tooltip-container\">\n          <xhtml:div\n            *ngFor=\"let tooltipItem of tooltipArea.values\"\n            class=\"tooltip-item\">\n            <span\n              class=\"tooltip-item-color\"\n              [style.background-color]=\"tooltipItem.color\">\n            </span>\n            {{tooltipItem.series}}: {{tooltipItem.value.toLocaleString()}}\n          </xhtml:div>\n        </xhtml:div>\n      </xhtml:template>\n      <svg:rect\n        class=\"tooltip-anchor\"\n        [attr.x]=\"tooltipArea.tooltipAnchor\"\n        y=\"0\"\n        [attr.width]=\"1\"\n        [attr.height]=\"height\"\n        style=\"fill: rgb(255, 255, 255);\"\n        [style.opacity]=\"anchorOpacity[i]\"\n        [style.pointer-events]=\"'none'\"\n        ngx-tooltip\n        [tooltipPlacement]=\"'right'\"\n        [tooltipType]=\"'tooltip'\"\n        [tooltipSpacing]=\"5\"\n        [tooltipTemplate]=\"tooltipTemplate\"\n      />\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AreaTooltip implements OnChanges {\n  tooltipAreas: any[];\n  anchorOpacity: number[] = new Array();\n\n  @Input() xSet;\n  @Input() xScale;\n  @Input() yScale;\n  @Input() results;\n  @Input() height;\n  @Input() colors;\n  @Input() showPercentage: boolean = false;\n\n  @Output() hover = new EventEmitter();\n\n  @ViewChildren('tooltips') tooltips;\n\n  constructor(private renderer: Renderer) { }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.tooltipAreas = this.getTooltipAreas();\n  }\n\n  getTooltipAreas(): any[] {\n    let uniqueSet = this.getUniqueValues(this.xSet);\n\n    uniqueSet = uniqueSet.sort((a, b) => {\n      return this.xScale(a) - this.xScale(b);\n    });\n\n    let results = [];\n    for (let i = 0; i < uniqueSet.length; i++) {\n      let val = uniqueSet[i];\n      let ob: any = {};\n      ob.tooltipAnchor = this.xScale(val);\n\n      if (i === 0) {\n        ob.x0 = this.xScale(val);\n      } else {\n        ob.x0 = (this.xScale(uniqueSet[i - 1]) + this.xScale(uniqueSet[i])) / 2;\n      }\n\n      if (i === uniqueSet.length - 1) {\n        ob.x1 = this.xScale(uniqueSet[i]);\n      } else {\n        ob.x1 = (this.xScale(uniqueSet[i]) + this.xScale(uniqueSet[i + 1])) / 2;\n      }\n\n      ob.width = ob.x1 - ob.x0;\n      ob.value = val;\n      ob.values = this.getValues(val);\n      results.push(ob);\n\n      this.anchorOpacity[i] = 0;\n    }\n\n    return results;\n  }\n\n  getValues(xVal): any[] {\n    let results = [];\n\n    for (let group of this.results) {\n      let item = group.series.find(d => d.name.toString() === xVal.toString());\n      let groupName = group.name;\n      if (groupName instanceof Date) {\n        groupName = groupName.toLocaleDateString();\n      }\n\n      if (item) {\n        let label = item.name;\n        if (label instanceof Date) {\n          label = label.toLocaleDateString();\n        }\n        let val = item.value;\n        if (this.showPercentage) {\n          val = (item.d1 - item.d0).toFixed(2) + '%';\n        }\n        let color;\n        if (this.colors.scaleType === 'linear') {\n          let v = val;\n          if (item.d1) {\n            v = item.d1;\n          }\n          color = this.colors.getColor(v);\n        } else {\n          color = this.colors.getColor(group.name);\n        }\n\n        results.push({\n          value: val,\n          name: label,\n          series: groupName,\n          color\n        });\n      }\n    }\n\n    return results;\n  }\n\n  getUniqueValues(array): any[] {\n    let results = [];\n\n    for (let i = 0; i < array.length; i++) {\n      let val = array[i];\n\n      let exists = results.find(v => {\n        return v.toString() === val.toString();\n      });\n\n      if (!exists) {\n        results.push(val);\n      }\n    }\n\n    return results;\n  }\n\n  showTooltip(index): void {\n    let tooltipAnchor = this.tooltips.toArray()[index].nativeElement.children[1];\n    let event = new MouseEvent('mouseenter', {bubbles: false});\n    this.renderer.invokeElementMethod(tooltipAnchor, 'dispatchEvent', [event]);\n    this.anchorOpacity[index] = 0.7;\n    this.hover.emit(this.tooltipAreas[index]);\n  }\n\n  hideTooltip(index): void {\n    let tooltipAnchor = this.tooltips.toArray()[index].nativeElement.children[1];\n    let event = new MouseEvent('mouseleave', {bubbles: false});\n    this.renderer.invokeElementMethod(tooltipAnchor, 'dispatchEvent', [event]);\n    this.anchorOpacity[index] = 0;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/area-tooltip.component.ts","import {\n  Component,\n  Input,\n  Output,\n  SimpleChanges,\n  EventEmitter,\n  ElementRef,\n  OnChanges,\n  ChangeDetectionStrategy,\n} from '@angular/core';\nimport { id } from '../utils/id';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'g[ngx-charts-area]',\n  template: `\n    <svg:defs *ngIf=\"gradient\">\n      <svg:g ngx-charts-svg-linear-gradient\n        [color]=\"fill\"\n        orientation=\"vertical\"\n        [name]=\"gradientId\"\n        [stops]=\"gradientStops\"\n      />\n    </svg:defs>\n    <svg:path\n      class=\"area\"\n      [attr.d]=\"areaPath\"\n      [attr.fill]=\"gradient ? gradientFill : fill\"\n      [style.opacity]=\"opacity\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AreaComponent implements OnChanges {\n\n  @Input() data;\n  @Input() path;\n  @Input() startingPath;\n  @Input() fill;\n  @Input() opacity = 1;\n  @Input() startOpacity = 0.5;\n  @Input() endOpacity = 1;\n  @Input() activeLabel;\n  @Input() gradient: boolean = false;\n  @Input() stops: any[];\n\n  @Output() select = new EventEmitter();\n\n  element: HTMLElement;\n  gradientId: string;\n  gradientFill: string;\n  areaPath: string;\n  initialized: boolean = false;\n  gradientStops: any[];\n  hasGradient: boolean = false;\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    if (!this.initialized) {\n      this.loadAnimation();\n      this.initialized = true;\n    } else {\n      this.update();\n    }\n  }\n\n  update(): void {\n    let pageUrl = window.location.href;\n    this.gradientId = 'grad' + id().toString();\n    this.gradientFill = `url(${pageUrl}#${this.gradientId})`;\n\n    if (this.gradient || this.stops) {\n      this.gradientStops = this.getGradient();\n      this.hasGradient = true;\n    } else {\n      this.hasGradient = false;\n    }\n\n    this.animateToCurrentForm();\n  }\n\n  loadAnimation(): void {\n    this.areaPath = this.startingPath;\n    setTimeout(this.update.bind(this), 100);\n  }\n\n  animateToCurrentForm(): void {\n    let node = d3.select(this.element).select('.area');\n\n    node.transition().duration(750)\n      .attr('d', this.path);\n  }\n\n  getGradient() {\n    if (this.stops) {\n      return this.stops;\n    }\n    \n    return [\n      {\n        offset: 0,\n        color: this.fill,\n        opacity: this.startOpacity\n      },\n      {\n        offset: 100,\n        color: this.fill,\n        opacity: this.endOpacity\n    }];\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/area.component.ts","import { NgModule } from '@angular/core';\nimport { AxisLabelComponent } from './axis-label.component';\nimport { XAxisComponent } from './x-axis.component';\nimport { XAxisTicksComponent } from './x-axis-ticks.component';\nimport { YAxisComponent } from './y-axis.component';\nimport { YAxisTicksComponent } from './y-axis-ticks.component';\nimport { CommonModule } from '@angular/common';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [AxisLabelComponent, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent],\n  exports: [AxisLabelComponent, XAxisComponent, XAxisTicksComponent, YAxisComponent, YAxisTicksComponent]\n})\nexport class AxesModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/axes/axes.module.ts","import {\n  Component,\n  Input,\n  ElementRef,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-axis-label]',\n  template: `\n    <svg:text\n      [attr.stroke-width]=\"strokeWidth\"\n      [attr.text-anchor]=\"textAnchor\"\n      [attr.x]=\"x\"\n      [attr.y]=\"y\"\n      [attr.text-anchor]=\"textAnchor\"\n      [attr.transform]=\"transform\">\n      {{label}}\n    </svg:text>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AxisLabelComponent implements OnChanges {\n\n  @Input() orient;\n  @Input() label;\n  @Input() offset;\n  @Input() width;\n  @Input() height;\n\n  x: any;\n  y: any;\n  transform: any;\n  strokeWidth: any;\n  textAnchor: any;\n  element: ElementRef;\n  textHeight = 25;\n  margin = 5;\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.strokeWidth = '0.01';\n    this.textAnchor = 'middle';\n    this.transform = '';\n\n    switch (this.orient) {\n      case 'top':\n        this.y = this.offset;\n        this.x = this.width / 2;\n        break;\n      case 'bottom':\n        this.y = this.offset;\n        this.x = this.width / 2;\n        break;\n      case 'left':\n        this.y = - (this.offset + this.textHeight + this.margin);\n        this.x = -this.height / 2;\n        this.transform = 'rotate(270)';\n        break;\n      case 'right':\n        this.y = this.offset + this.margin;\n        this.x = -this.height / 2;\n        this.transform = 'rotate(270)';\n        break;\n      default:\n    }\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/axes/axis-label.component.ts","export function reduceTicks(ticks, maxTicks) {\n  if (ticks.length > maxTicks) {\n    let reduced = [];\n    let modulus = Math.floor(ticks.length / maxTicks);\n    for (let i = 0; i < ticks.length; i++) {\n      if (i % modulus === 0) {\n        reduced.push(ticks[i]);\n      }\n    }\n    ticks = reduced;\n  }\n\n  return ticks;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/axes/ticks.helper.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n  ElementRef,\n  ViewChild,\n  SimpleChanges,\n  AfterViewInit,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { trimLabel } from '../trim-label.helper';\nimport { reduceTicks } from './ticks.helper';\n\n@Component({\n  selector: 'g[ngx-charts-x-axis-ticks]',\n  template: `\n    <svg:g #ticksel>\n      <svg:g *ngFor=\"let tick of ticks\" class=\"tick\"\n        [attr.transform]=\"tickTransform(tick)\">\n        <title>{{tickFormat(tick)}}</title>\n        <svg:text\n          stroke-width=\"0.01\"\n          [attr.text-anchor]=\"textAnchor\"\n          [attr.transform]=\"textTransform\"\n          [style.font-size]=\"'12px'\">\n          {{trimLabel(tickFormat(tick))}}\n        </svg:text>\n      </svg:g>\n    </svg:g>\n\n    <svg:g *ngFor=\"let tick of ticks\"\n      [attr.transform]=\"tickTransform(tick)\">\n      <svg:g *ngIf=\"showGridLines\"\n        [attr.transform]=\"gridLineTransform()\">\n        <svg:line\n          class=\"gridline-path gridline-path-vertical\"\n          [attr.y1]=\"-gridLineHeight\"\n          y2=\"0\" />\n      </svg:g>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class XAxisTicksComponent implements OnChanges, AfterViewInit {\n  \n  @Input() scale;\n  @Input() orient;\n  @Input() tickArguments = [5];\n  @Input() tickStroke = '#ccc';\n  @Input() tickFormatting;\n  @Input() showGridLines = false;\n  @Input() gridLineHeight;\n  @Input() width;\n\n  @Output() dimensionsChanged = new EventEmitter();\n\n  verticalSpacing: number = 20;\n  rotateLabels: boolean = false;\n  innerTickSize: number = 6;\n  outerTickSize: number = 6;\n  tickPadding: number = 3;\n  textAnchor: string = 'middle';\n  maxTicksLength: number = 0;\n  maxAllowedLength: number = 16;\n  trimLabel: any;\n  adjustedScale: any;\n  tickValues: any;\n  textTransform: any;\n  ticks: any;\n  tickFormat: any;\n  height: number = 0;\n\n  @ViewChild('ticksel') ticksElement: ElementRef;\n\n  constructor() {\n    this.trimLabel = trimLabel;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  ngAfterViewInit(): void {\n    setTimeout(() => this.updateDims());\n  }\n\n  updateDims(): void {\n    const height = parseInt(this.ticksElement.nativeElement.getBoundingClientRect().height, 10);\n    if (height !== this.height) {\n      this.height = height;\n      this.dimensionsChanged.emit({ height });\n      setTimeout(() => this.updateDims());\n    }\n  }\n\n  update(): void {\n    let scale = this.scale;\n    this.ticks = this.getTicks();\n\n    if (this.tickFormatting) {\n      this.tickFormat = this.tickFormatting;\n    } else if (scale.tickFormat) {\n      this.tickFormat = scale.tickFormat.apply(scale, this.tickArguments);\n    } else {\n      this.tickFormat = function(d) {\n        if (d.constructor.name === 'Date') {\n          return d.toLocaleDateString();\n        }\n        return d.toLocaleString();\n      };\n    }\n\n    let angle = this.getRotationAngle(this.ticks);\n\n    this.adjustedScale = this.scale.bandwidth ? function(d) {\n      return this.scale(d) + this.scale.bandwidth() * 0.5;\n    } : this.scale;\n\n    this.textTransform = '';\n    if (angle !== 0) {\n      this.textTransform = `rotate(${angle})`;\n      this.textAnchor = 'end';\n      this.verticalSpacing = 10;\n    } else {\n      this.textAnchor = 'middle';\n    }\n\n    setTimeout(() => this.updateDims());\n  }\n\n  getRotationAngle(ticks): number {\n    let angle = 0;\n    for (let i = 0; i < ticks.length; i++) {\n      let tick = ticks[i].toString();\n      if (tick.length > this.maxTicksLength) {\n        this.maxTicksLength = tick.length;\n      }\n    }\n\n    let len = Math.min(this.maxTicksLength, this.maxAllowedLength);\n    let charWidth = 8; // need to measure this\n    let wordWidth = len * charWidth;\n\n    let baseWidth = wordWidth;\n    let maxBaseWidth = Math.floor(this.width / ticks.length);\n\n    // calculate optimal angle\n    while(baseWidth > maxBaseWidth && angle > -90) {\n      angle -= 30;\n      baseWidth = Math.cos(angle * (Math.PI / 180)) * wordWidth;\n    }\n\n    return angle;\n  }\n\n  getTicks() {\n    let ticks;\n    let maxTicks = this.getMaxTicks();\n\n    if (this.tickValues) {\n      ticks = this.tickValues;\n    } else if (this.scale.ticks) {\n      ticks = this.scale.ticks.apply(this.scale, this.tickArguments);\n      if (ticks.length > maxTicks) {\n        if (this.tickArguments) {\n          this.tickArguments[0] = Math.min(this.tickArguments[0], maxTicks);\n        } else {\n          this.tickArguments = [maxTicks];\n        }\n        ticks = this.scale.ticks.apply(this.scale, this.tickArguments);\n      }\n    } else {\n      ticks = this.scale.domain();\n      ticks = reduceTicks(ticks, maxTicks);\n    }\n\n    return ticks;\n  }\n\n  getMaxTicks(): number {\n    let tickWidth = 20;\n    return Math.floor(this.width / tickWidth);\n  }\n\n  tickTransform(tick): string {\n    return 'translate(' + this.adjustedScale(tick) + ',' + this.verticalSpacing + ')';\n  }\n\n  gridLineTransform(): string {\n    return `translate(0,${-this.verticalSpacing - 5})`;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/axes/x-axis-ticks.component.ts","import {\n  Component,\n  Input,\n  SimpleChanges,\n  Output,\n  EventEmitter,\n  OnChanges,\n  ViewChild,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { XAxisTicksComponent } from './x-axis-ticks.component';\n\n@Component({\n  selector: 'g[ngx-charts-x-axis]',\n  template: `\n    <svg:g\n      [attr.class]=\"xAxisClassName\"\n      [attr.transform]=\"transform\">\n      <svg:g ngx-charts-x-axis-ticks\n        [tickFormatting]=\"tickFormatting\"\n        [tickArguments]=\"tickArguments\"\n        [tickStroke]=\"tickStroke\"\n        [scale]=\"xScale\"\n        [orient]=\"xOrient\"\n        [showGridLines]=\"showGridLines\"\n        [gridLineHeight]=\"dims.height\"\n        [width]=\"dims.width\"\n        (dimensionsChanged)=\"emitTicksHeight($event)\"\n      />\n\n      <svg:g ngx-charts-axis-label\n        *ngIf=\"showLabel\"\n        [label]=\"labelText\"\n        [offset]=\"labelOffset\"\n        [orient]=\"'bottom'\"\n        [height]=\"dims.height\"\n        [width]=\"dims.width\">\n      </svg:g>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class XAxisComponent implements OnChanges {\n\n  @Input() xScale;\n  @Input() dims;\n  @Input() tickFormatting;\n  @Input() showGridLines = false;\n  @Input() showLabel;\n  @Input() labelText;\n  @Input() xAxisTickInterval;\n\n  @Output() dimensionsChanged = new EventEmitter();\n\n  xAxisTickCount: any;\n  xAxisClassName: string = 'x axis';\n  xOrient: string = 'bottom';\n  tickArguments: any;\n  transform: any;\n  labelOffset: number = 80;\n  fill: string = 'none';\n  stroke: string = 'stroke';\n  tickStroke: string = '#ccc';\n  strokeWidth: string = 'none';\n  xAxisOffset: number = 5;\n\n  @ViewChild(XAxisTicksComponent) ticksComponent: XAxisTicksComponent;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.transform = `translate(0,${this.xAxisOffset + this.dims.height})`;\n\n    if (typeof this.xAxisTickCount !== 'undefined') {\n      this.tickArguments = [this.xAxisTickCount];\n    }\n  }\n\n  emitTicksHeight({ height }): void {\n    let newLabelOffset = height + 25 + 5;\n    if (newLabelOffset !== this.labelOffset) {\n      this.labelOffset = newLabelOffset;\n      setTimeout(() => {\n        this.dimensionsChanged.emit({height});\n      }, 0);\n    }\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/axes/x-axis.component.ts","import {\n  Component,\n  Input,\n  Output,\n  OnChanges,\n  ElementRef,\n  ViewChild,\n  EventEmitter,\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  SimpleChanges\n} from '@angular/core';\nimport { trimLabel } from '../trim-label.helper';\nimport { reduceTicks } from './ticks.helper';\n\n@Component({\n  selector: 'g[ngx-charts-y-axis-ticks]',\n  template: `\n    <svg:g #ticksel>\n      <svg:g *ngFor=\"let tick of ticks\" class=\"tick\"\n        [attr.transform]=\"transform(tick)\" >\n        <title>{{tickFormat(tick)}}</title>\n        <svg:text\n          stroke-width=\"0.01\"\n          [attr.dy]=\"dy\"\n          [attr.x]=\"x1\"\n          [attr.y]=\"y1\"\n          [attr.text-anchor]=\"textAnchor\"\n          [style.font-size]=\"'12px'\">\n          {{trimLabel(tickFormat(tick))}}\n        </svg:text>\n      </svg:g>\n    </svg:g>\n    <svg:g *ngFor=\"let tick of ticks\"\n      [attr.transform]=\"transform(tick)\">\n      <svg:g\n        *ngIf=\"showGridLines\"\n        [attr.transform]=\"gridLineTransform()\">\n        <svg:line\n          class=\"gridline-path gridline-path-horizontal\"\n          x1=\"0\"\n          [attr.x2]=\"gridLineWidth\" />\n      </svg:g>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YAxisTicksComponent implements OnChanges, AfterViewInit {\n\n  @Input() scale;\n  @Input() orient;\n  @Input() tickArguments = [5];\n  @Input() tickValues;\n  @Input() tickStroke = '#ccc';\n  @Input() tickFormatting;\n  @Input() showGridLines = false;\n  @Input() gridLineWidth;\n  @Input() height;\n\n  @Output() dimensionsChanged = new EventEmitter();\n\n  innerTickSize: any = 6;\n  tickPadding: any = 3;\n  tickSpacing: any;\n  verticalSpacing: number = 20;\n  textAnchor: any = 'middle';\n  dy: any;\n  x1: any;\n  x2: any;\n  y1: any;\n  y2: any;\n  adjustedScale: any;\n  transform: any;\n  tickFormat: any;\n  ticks: any;\n  width: number = 0;\n  outerTickSize: number = 6;\n  rotateLabels: boolean = false;\n  trimLabel: any;\n\n  @ViewChild('ticksel') ticksElement: ElementRef;\n\n  constructor() {\n    this.trimLabel = trimLabel;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  ngAfterViewInit(): void {\n    setTimeout(() => this.updateDims());\n  }\n\n  updateDims(): void {\n    const width = parseInt(this.ticksElement.nativeElement.getBoundingClientRect().width, 10);\n    if (width !== this.width) {\n      this.width = width;\n      this.dimensionsChanged.emit({ width });\n      setTimeout(() => this.updateDims());\n    }\n  }\n\n  update(): void {\n    let scale;\n\n    let sign = this.orient === 'top' || this.orient === 'right' ? -1 : 1;\n    this.tickSpacing = Math.max(this.innerTickSize, 0) + this.tickPadding;\n\n    scale = this.scale;\n    this.ticks = this.getTicks();\n\n    if (this.tickFormatting) {\n      this.tickFormat = this.tickFormatting;\n    } else if (scale.tickFormat) {\n      this.tickFormat = scale.tickFormat.apply(scale, this.tickArguments);\n    } else {\n      this.tickFormat = function(d) {\n        if (d.constructor.name === 'Date') {\n          return d.toLocaleDateString();\n        }\n        return d.toLocaleString();\n      };\n    }\n\n    this.adjustedScale = scale.bandwidth ? function(d) {\n      return scale(d) + scale.bandwidth() * 0.5;\n    } : scale;\n\n    switch (this.orient) {\n      case 'top':\n        this.transform = function(tick) {\n          return 'translate(' + this.adjustedScale(tick) + ',0)';\n        };\n        this.textAnchor = 'middle';\n        this.y2 = this.innerTickSize * sign;\n        this.y1 = this.tickSpacing * sign;\n        this.dy = sign < 0 ? '0em' : '.71em';\n        break;\n      case 'bottom':\n        this.transform = function(tick) {\n          return 'translate(' + this.adjustedScale(tick) + ',0)';\n        };\n        this.textAnchor = 'middle';\n        this.y2 = this.innerTickSize * sign;\n        this.y1 = this.tickSpacing * sign;\n        this.dy = sign < 0 ? '0em' : '.71em';\n        break;\n      case 'left':\n        this.transform = function(tick) {\n          return 'translate(0,' + this.adjustedScale(tick) + ')';\n        };\n        this.textAnchor = 'end';\n        this.x2 = this.innerTickSize * -sign;\n        this.x1 = this.tickSpacing * -sign;\n        this.dy = '.32em';\n        break;\n      case 'right':\n        this.transform = function(tick) {\n          return 'translate(0,' + this.adjustedScale(tick) + ')';\n        };\n        this.textAnchor = 'start';\n        this.x2 = this.innerTickSize * -sign;\n        this.x1 = this.tickSpacing * -sign;\n        this.dy = '.32em';\n        break;\n      default:\n    }\n\n    setTimeout(() => this.updateDims());\n  }\n\n  getTicks(): any {\n    let ticks;\n    let maxTicks = this.getMaxTicks();\n\n    if (this.tickValues) {\n      ticks = this.tickValues;\n    } else if (this.scale.ticks) {\n      ticks = this.scale.ticks.apply(this.scale, this.tickArguments);\n      if (ticks.length > maxTicks) {\n        if (this.tickArguments) {\n          this.tickArguments[0] = Math.min(this.tickArguments[0], maxTicks);\n        } else {\n          this.tickArguments = [maxTicks];\n        }\n        ticks = this.scale.ticks.apply(this.scale, this.tickArguments);\n      }\n    } else {\n      ticks = this.scale.domain();\n      ticks = reduceTicks(ticks, maxTicks);\n    }\n    return ticks;\n  }\n\n  getMaxTicks(): number {\n    let tickHeight = 20;\n    return Math.floor(this.height / tickHeight);\n  }\n\n  tickTransform(tick): string {\n    return 'translate(' + this.adjustedScale(tick) + ',' + this.verticalSpacing + ')';\n  }\n\n  gridLineTransform(): string {\n    return `translate(5,0)`;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/axes/y-axis-ticks.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n  ViewChild,\n  SimpleChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { YAxisTicksComponent } from './y-axis-ticks.component';\n\n@Component({\n  selector: 'g[ngx-charts-y-axis]',\n  template: `\n    <svg:g\n      [attr.class]=\"yAxisClassName\"\n      [attr.transform]=\"transform\">\n      <svg:g ngx-charts-y-axis-ticks\n        [tickFormatting]=\"tickFormatting\"\n        [tickArguments]=\"tickArguments\"\n        [tickStroke]=\"tickStroke\"\n        [scale]=\"yScale\"\n        [orient]=\"yOrient\"\n        [showGridLines]=\"showGridLines\"\n        [gridLineWidth]=\"dims.width\"\n        [height]=\"dims.height\"\n        (dimensionsChanged)=\"emitTicksWidth($event)\"\n      />\n\n      <svg:g ngx-charts-axis-label\n        *ngIf=\"showLabel\"\n        [label]=\"labelText\"\n        [offset]=\"labelOffset\"\n        [orient]=\"yOrient\"\n        [height]=\"dims.height\"\n        [width]=\"dims.width\">\n      </svg:g>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class YAxisComponent implements OnChanges {\n\n  @Input() yScale;\n  @Input() dims;\n  @Input() tickFormatting;\n  @Input() showGridLines = false;\n  @Input() showLabel;\n  @Input() labelText;\n  @Input() yAxisTickInterval;\n\n  @Output() dimensionsChanged = new EventEmitter();\n\n  yAxisClassName: string = 'y axis';\n  yAxisTickCount: any;\n  tickArguments: any;\n  offset: any;\n  transform: any;\n  yAxisOffset: number = -5;\n  yOrient: string = 'left';\n  labelOffset: number = 80;\n  fill: string = 'none';\n  stroke: string = '#CCC';\n  tickStroke: string = '#CCC';\n  strokeWidth: number = 1;\n\n  @ViewChild(YAxisTicksComponent) ticksComponent: YAxisTicksComponent;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.offset = this.yAxisOffset;\n    if (this.yOrient === 'right') {\n      this.transform = `translate(${this.offset + this.dims.width} , 0)`;\n    } else {\n      this.transform = `translate(${this.offset} , 0)`;\n    }\n\n    if (this.yAxisTickCount !== undefined) {\n      this.tickArguments = [this.yAxisTickCount];\n    }\n  }\n\n  emitTicksWidth({ width }): void {\n    if (width !== this.labelOffset) {\n      this.labelOffset = width;\n      setTimeout(() => {\n        this.dimensionsChanged.emit({width});\n      }, 0);\n    }\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/axes/y-axis.component.ts","import {\n  ElementRef,\n  NgZone,\n  ChangeDetectorRef,\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  AfterViewInit,\n  OnDestroy,\n  OnChanges,\n  SimpleChanges\n} from '@angular/core';\nimport { Observable } from 'rxjs/Rx';\n\n@Component({\n  selector: 'base-chart',\n  template: ``\n})\nexport class BaseChartComponent implements OnChanges, AfterViewInit, OnDestroy {\n  @Input() results: any;\n  @Input() view: number[];\n  @Input() scheme: any;\n  @Input() schemeType: string = 'ordinal';\n  @Input() customColors: any;\n\n  @Output() select = new EventEmitter();\n\n  width: number;\n  height: number;\n  resizeSubscription: any;\n\n  constructor(protected chartElement: ElementRef, protected zone: NgZone, protected cd: ChangeDetectorRef) {\n  }\n\n  ngAfterViewInit(): void {\n    this.bindWindowResizeEvent();\n  }\n\n  ngOnDestroy(): void {\n    this.unbindEvents();\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    if (this.results) {\n      this.results = this.cloneData(this.results);\n    }\n\n    if (this.view) {\n      this.width = this.view[0];\n      this.height = this.view[1];\n    } else {\n      let dims = this.getContainerDims();\n      this.width = dims.width;\n      this.height = dims.height;\n    }\n\n    if (this.cd) {\n      this.cd.markForCheck();\n    }\n  }\n\n  getContainerDims(): any {\n    let width = 0;\n    let height = 0;\n    const hostElem = this.chartElement.nativeElement;\n    if (hostElem.parentNode != null) {\n      // Get the container dimensions\n      width = hostElem.parentNode.clientWidth;\n      height = hostElem.parentNode.clientHeight;\n    }\n    return {width, height};\n  }\n\n  // converts all date objects that appear as name into formatted date strings\n  formatDates() {\n    for (let i = 0; i < this.results.length; i++) {\n      let g = this.results[i];\n      if (g.name instanceof Date) {\n        g.name = g.name.toLocaleDateString();\n      }\n\n      if (g.series) {\n        for (let j = 0; j < g.series.length; j++) {\n          let d = g.series[j];\n          if (d.name instanceof Date) {\n            d.name = d.name.toLocaleDateString();\n          }\n        }\n      }\n    }\n  }\n\n  protected unbindEvents(): void {\n    if (this.resizeSubscription) {\n      this.resizeSubscription.unsubscribe();\n    }\n  }\n\n  private bindWindowResizeEvent(): void {\n    this.zone.run(() => {\n      let source = Observable.fromEvent(window, 'resize', null, null);\n      let subscription = source.debounceTime(200).subscribe(e => {\n        this.update();\n        if (this.cd) {\n          this.cd.markForCheck();\n        }\n      });\n      this.resizeSubscription = subscription;\n    });\n  }\n\n  /**\n   * Clones the data into a new object\n   *\n   * @private\n   * @param {any} data\n   * @returns {*}\n   *\n   * @memberOf BaseChart\n   */\n  private cloneData(data): any {\n    let results = [];\n\n    for (let item of data) {\n      let copy = {\n        name: item['name']\n      };\n\n      if (item['value'] !== undefined) {\n        copy['value'] = item['value'];\n      }\n\n      if (item['series'] !== undefined) {\n        copy['series'] = [];\n        for (let seriesItem of item['series']) {\n          let seriesItemCopy = Object.assign({}, seriesItem);\n          copy['series'].push(seriesItemCopy);\n        }\n      }\n\n      results.push(copy);\n    }\n\n    return results;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/base-chart.component.ts","import { NgModule } from '@angular/core';\n\nimport { ChartComponent } from './charts/chart.component';\nimport { \n  ScaleLegendComponent, LegendComponent, LegendEntryComponent, AdvancedLegendComponent \n} from './legend';\nimport { BaseChartComponent } from './base-chart.component';\nimport { AxesModule } from './axes/axes.module';\nimport { TooltipModule } from './tooltip';\nimport { CircleSeriesComponent } from './circle-series.component';\nimport { CircleComponent } from './circle.component';\nimport { GridPanelComponent } from './grid-panel.component';\nimport { GridPanelSeriesComponent } from './grid-panel-series.component';\nimport { SvgLinearGradientComponent } from './svg-linear-gradient.component';\nimport { SvgRadialGradientComponent } from './svg-radial-gradient.component';\nimport { Timeline } from './timeline.component';\nimport { CommonModule } from '@angular/common';\nimport { AreaComponent } from './area.component';\nimport { AreaTooltip } from './area-tooltip.component';\nimport { CountUpDirective } from './count';\n\nconst COMPONENTS = [  \n  AreaComponent,\n  BaseChartComponent,\n  CountUpDirective,\n  AreaTooltip,\n  ChartComponent,\n  LegendComponent,\n  LegendEntryComponent,\n  ScaleLegendComponent,\n  CircleComponent,\n  CircleSeriesComponent,\n  GridPanelComponent,\n  GridPanelSeriesComponent,\n  SvgLinearGradientComponent,\n  SvgRadialGradientComponent,\n  Timeline,\n  AdvancedLegendComponent\n];\n\n@NgModule({\n  imports: [\n    CommonModule,\n    AxesModule,\n    TooltipModule\n  ],\n  declarations: [\n    ...COMPONENTS\n  ],\n  exports: [\n    CommonModule,\n    AxesModule,\n    TooltipModule,\n    ...COMPONENTS\n  ]\n})\nexport class ChartCommonModule {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/chart-common.module.ts","import {\n  Component, Input, OnChanges, trigger, style, transition,\n  animate, ViewContainerRef, ChangeDetectionStrategy, EventEmitter,\n  Output, SimpleChanges\n} from '@angular/core';\nimport { TooltipService } from '../tooltip';\n\n@Component({\n  providers: [TooltipService],\n  selector: 'ngx-charts-chart',\n  template: `\n    <div\n      [style.width.px]=\"view[0]\"\n      [@animationState]=\"'active'\">\n      <svg\n        class=\"ngx-charts\"\n        [attr.width]=\"chartWidth\"\n        [attr.height]=\"view[1]\">\n        <ng-content></ng-content>\n      </svg>\n      <ngx-charts-scale-legend\n        *ngIf=\"showLegend && legendType === 'scaleLegend'\"\n        class=\"chart-legend\"\n        [valueRange]=\"legendOptions.domain\"\n        [colors]=\"legendOptions.colors\"\n        [height]=\"view[1]\"\n        [width]=\"legendWidth\">\n      </ngx-charts-scale-legend>\n      <ngx-charts-legend\n        *ngIf=\"showLegend && legendType === 'legend'\"\n        class=\"chart-legend\"\n        [data]=\"legendOptions.domain\"\n        [title]=\"legendTitle\"\n        [colors]=\"legendOptions.colors\"\n        [height]=\"view[1]\"\n        [width]=\"legendWidth\"\n        [activeEntries]=\"activeEntries\"\n        (labelClick)=\"legendLabelClick.emit($event)\"\n        (labelActivate)=\"legendLabelActivate.emit($event)\"\n        (labelDeactivate)=\"legendLabelDeactivate.emit($event)\">\n      </ngx-charts-legend>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('void => *', [\n        style({ opacity: 0 }),\n        animate('500ms 100ms', style({ opacity: 1 }))\n      ])\n    ])\n  ]\n})\nexport class ChartComponent implements OnChanges {\n\n  @Input() view;\n  @Input() showLegend = false;\n  @Input() legendOptions: any;\n\n  // remove\n  @Input() data;\n  @Input() legendData;\n  @Input() legendType: any;\n  @Input() legendTitle = 'Legend';\n  @Input() colors: any;\n  @Input() activeEntries: any[];\n\n  @Output() legendLabelClick: EventEmitter<any> = new EventEmitter();\n  @Output() legendLabelActivate: EventEmitter<any> = new EventEmitter();\n  @Output() legendLabelDeactivate: EventEmitter<any> = new EventEmitter();\n\n  chartWidth: any;\n  title: any;\n  legendWidth: any;\n\n  constructor(\n    private vcr: ViewContainerRef,\n    private tooltipService: TooltipService) {\n    this.tooltipService.injectionService.setRootViewContainer(vcr);\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    let legendColumns = 0;\n    if (this.showLegend) {\n      this.legendType = this.getLegendType();\n\n      if (this.legendType === 'scaleLegend') {\n        legendColumns = 1;\n      } else {\n        legendColumns = 2;\n      }\n    }\n\n    let chartColumns = 12 - legendColumns;\n\n    this.chartWidth = this.view[0] * chartColumns / 12.0;\n    this.legendWidth = this.view[0] * legendColumns / 12.0;\n  }\n\n  getLegendType(): string {\n    if (this.legendOptions.scaleType === 'linear') {\n      return 'scaleLegend';\n    } else {\n      return 'legend';\n    }\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/charts/chart.component.ts","import {\n  Component, Input, Output, SimpleChanges, EventEmitter,\n  OnChanges, ChangeDetectionStrategy\n} from '@angular/core';\nimport * as moment from 'moment';\nimport { formatLabel } from '../common/label.helper';\nimport { id } from '../utils/id';\n\n@Component({\n  selector: 'g[ngx-charts-circle-ceries]',\n  template: `\n    <svg:g *ngFor=\"let circle of circles\">\n      <defs>\n        <svg:g ngx-charts-svg-linear-gradient\n          [color]=\"color\"\n          orientation=\"vertical\"\n          [name]=\"circle.gradientId\"\n          [stops]=\"circle.gradientStops\"\n        />\n      </defs>\n      <svg:rect\n        *ngIf=\"circle.barVisible && type === 'standard'\"\n        [attr.x]=\"circle.cx - circle.radius\"\n        [attr.y]=\"circle.cy\"\n        [attr.width]=\"circle.radius * 2\"\n        [attr.height]=\"circle.height\"\n        [attr.fill]=\"circle.gradientFill\"\n        class=\"tooltip-bar\"\n      />\n      <svg:g ngx-charts-circle\n        *ngIf=\"isVisible(circle)\"\n        class=\"circle\"\n        [cx]=\"circle.cx\"\n        [cy]=\"circle.cy\"\n        [r]=\"circle.radius\"\n        [fill]=\"circle.color\"\n        [class.active]=\"isActive({name: circle.seriesName})\"\n        [pointerEvents]=\"circle.value === 0 ? 'none': 'all'\"\n        [data]=\"circle.value\"\n        [classNames]=\"circle.classNames\"\n        (select)=\"onClick($event, circle.label)\"\n        (activate)=\"activateCircle(circle)\"\n        (deactivate)=\"deactivateCircle(circle)\"\n        ngx-tooltip\n        [tooltipPlacement]=\"'top'\"\n        [tooltipType]=\"'tooltip'\"\n        [tooltipTitle]=\"getTooltipText(circle)\"\n      />\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CircleSeriesComponent implements OnChanges {\n\n  @Input() data;\n  @Input() type = 'standard';\n  @Input() xScale;\n  @Input() yScale;\n  @Input() colors;\n  @Input() scaleType;\n  @Input() visibleValue;\n  @Input() activeEntries: any[];\n\n  @Output() select = new EventEmitter();\n  @Output() activate = new EventEmitter();\n  @Output() deactivate = new EventEmitter();\n\n  areaPath: any;\n  circles: any[];\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.circles = this.getCircles();\n  }\n\n  getCircles(): any[] {\n    const seriesName = this.data.name;\n    const pageUrl = window.location.href;\n\n    return this.data.series.map((d, i) => {\n      const value = d.value;\n      const label = d.name;\n      const tooltipLabel = formatLabel(label);\n\n      if (value) {\n        let cx;\n        if (this.scaleType === 'time') {\n          cx = this.xScale(moment(label).toDate());\n        } else if (this.scaleType === 'linear') {\n          cx = this.xScale(Number(label));\n        } else {\n          cx = this.xScale(label);\n        }\n\n        const cy = this.yScale(this.type === 'standard' ? value : d.d1);\n        const radius = 5;\n        const height = this.yScale.range()[0] - cy;\n\n        let opacity = 0;\n        if (label && this.visibleValue && label.toString() === this.visibleValue.toString()) {\n          opacity = 1;\n        }\n\n        const gradientId = 'grad' + id().toString();\n        const gradientFill = `url(${pageUrl}#${gradientId})`;\n\n        let color;\n        if (this.colors.scaleType === 'linear') {\n          if (this.type === 'standard') {\n            color = this.colors.getColor(value);\n          } else {\n            color = this.colors.getColor(d.d1);\n          }\n        } else {\n          color = this.colors.getColor(seriesName);\n        }\n\n        return {\n          classNames: [`circle-data-${i}`],\n          value,\n          label,\n          cx,\n          cy,\n          radius,\n          height,\n          tooltipLabel,\n          color,\n          opacity,\n          seriesName,\n          barVisible: false,\n          gradientId,\n          gradientFill,\n          gradientStops: this.getGradientStops(color)\n        };\n      }\n    }).filter((circle) => circle !== undefined);\n  }\n\n  getTooltipText({ tooltipLabel, value, seriesName }): string {\n    return `\n      <span class=\"tooltip-label\">${seriesName} • ${tooltipLabel}</span>\n      <span class=\"tooltip-val\">${value.toLocaleString()}</span>\n    `;\n  }\n\n  getGradientStops(color) {\n    return [\n      {\n        offset: 0,\n        color,\n        opacity: 0.2\n      },\n      {\n        offset: 100,\n        color,\n        opacity: 1\n    }];\n  }\n\n  onClick(value, label): void {\n    this.select.emit({\n      name: label,\n      value\n    });\n  }\n\n  isActive(entry): boolean {\n    if(!this.activeEntries) return false;\n    let item = this.activeEntries.find(d => {\n      return entry.name === d.name;\n    });\n    return item !== undefined;\n  }\n\n  isVisible(circle): boolean {\n    if (this.activeEntries.length > 0) {\n      return this.isActive({name: circle.seriesName});\n    }\n\n    return circle.opacity !== 0;\n  }\n\n  activateCircle(circle): void {\n    circle.barVisible = true;\n    this.activate.emit({name: this.data.name});\n  }\n\n  deactivateCircle(circle): void {\n    circle.barVisible = false;\n    this.deactivate.emit({name: this.data.name});\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/circle-series.component.ts","import {\n  Component,\n  Input,\n  SimpleChanges,\n  Output,\n  EventEmitter,\n  OnChanges,\n  ChangeDetectionStrategy,\n  HostListener\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-circle]',\n  template: `\n    <svg:circle\n      [attr.cx]=\"cx\"\n      [attr.cy]=\"cy\"\n      [attr.r]=\"r\"\n      [attr.fill]=\"fill\"\n      [attr.stroke]=\"stroke\"\n      [attr.opacity]=\"circleOpacity\"\n      [attr.class]=\"classNames\"\n      [attr.pointer-events]=\"pointerEvents\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CircleComponent implements OnChanges {\n\n  @Input() cx;\n  @Input() cy;\n  @Input() r;\n  @Input() fill;\n  @Input() stroke;\n  @Input() data;\n  @Input() classNames;\n  @Input() circleOpacity;\n  @Input() pointerEvents;\n\n  @Output() select = new EventEmitter();\n  @Output() activate = new EventEmitter();\n  @Output() deactivate = new EventEmitter();\n\n  @HostListener('click')\n  onClick() {\n    this.select.emit(this.data);\n  }\n\n  @HostListener('mouseenter')\n  onMouseEnter(): void {\n    this.activate.emit(this.data);\n  }\n\n  @HostListener('mouseleave')\n  onMouseLeave(): void {\n    this.deactivate.emit(this.data);\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.classNames = this.classNames.join(' ') + 'circle';\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/circle.component.ts","import d3 from '../d3';\nimport { colorSets } from '../utils/color-sets';\n\nexport class ColorHelper {\n  scale: any;\n  scaleType: any;\n  colorDomain: any[];\n  domain: any;\n  customColors: any;\n\n  constructor(scheme, type, domain, customColors?) {\n    if (typeof(scheme) === 'string') {\n      scheme = colorSets.find(cs => {\n        return cs.name === scheme;\n      });\n    }\n    this.colorDomain = scheme.domain;\n    this.scaleType = type;\n    this.domain = domain;\n\n    this.scale = this.generateColorScheme(scheme, type, domain);\n  }\n\n  generateColorScheme(scheme, type, domain) {\n    if (typeof(scheme) === 'string') {\n      scheme = colorSets.find(cs => {\n        return cs.name === scheme;\n      });\n    }\n    let colorScale;\n    if (type === 'quantile') {\n      colorScale = d3.scaleQuantile()\n        .range(scheme.domain)\n        .domain(domain);\n\n    } else if (type === 'ordinal') {\n      colorScale = d3.scaleOrdinal()\n        .range(scheme.domain)\n        .domain(domain);\n\n    } else if (type === 'linear') {\n      colorScale = d3.scaleLinear()\n        .domain(d3.range(0, 1, 1.0 / (scheme.domain.length - 1)))\n        .range(scheme.domain);\n    }\n\n    return colorScale;\n  }\n\n  getColor(value) {\n    if (this.scaleType === 'linear') {\n      let valueScale = d3.scaleLinear()\n        .domain(this.domain)\n        .range([0, 1]);\n\n      return (this.scale(valueScale(value)));\n    } else {\n      let formattedValue = value.toString();\n      let found: any = undefined; // todo type customColors\n      if (this.customColors && this.customColors.length > 0) {\n        found = this.customColors.find((mapping) => {\n          return mapping.name === formattedValue.toLowerCase();\n        });\n      }\n\n      if (found) {\n        return found.value;\n      } else {\n        return this.scale(value);\n      }\n    }\n  }\n\n  getLinearGradientStops(value, start) {\n    if (!start) {\n      start = this.domain[0];\n    }\n\n    let valueScale = d3.scaleLinear()\n      .domain(this.domain)\n      .range([0, 1]);\n\n    let colorValueScale = d3.scaleBand()\n      .domain(this.colorDomain)\n      .range([0, 1]);\n\n    let endColor = this.getColor(value);\n\n    // generate the stops\n    let startVal = valueScale(start);\n    let startColor = this.getColor(start);\n\n    let endVal = valueScale(value);\n    let i = 0;\n    let currentVal = startVal;\n    let stops = [];\n    stops.push({\n      color: startColor,\n      offset: 0,\n      opacity: 1\n    });\n\n    while (currentVal < endVal && i < this.colorDomain.length) {\n      let color = this.colorDomain[i];\n      let offset = colorValueScale(color);\n      if (offset <= startVal) {\n        i++;\n        continue;\n      }\n      if (offset >= endVal) {\n        break;\n      }\n\n      stops.push({\n        color,\n        offset,\n        opacity: 1\n      });\n      currentVal = offset;\n      i++;\n    }\n\n    stops.push({\n      color: endColor,\n      offset: endVal,\n      opacity: 1\n    });\n\n    // normalize the offsets into percentages\n    for (let s of stops) {\n      s.offset = Math.floor(((s.offset - startVal) / (endVal - startVal)) * 100);\n    }\n\n    return stops;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/color.helper.ts","import {\n  Component, Input, Output, EventEmitter,\n  ChangeDetectorRef, NgZone, OnDestroy, ElementRef\n} from '@angular/core';\nimport { count, decimalChecker } from './count.helper';\n\n/**\n * Count up component\n *\n * Loosely inspired by:\n *  - https://github.com/izupet/angular2-counto\n *  - https://inorganik.github.io/countUp.js/\n *\n * @export\n * @class CountUpDirective\n */\n@Component({\n  selector: '[ngx-charts-count-up]',\n  template: `{{value}}`\n})\nexport class CountUpDirective implements OnDestroy {\n\n  @Input() countDuration: number = 1;\n  @Input() countPrefix: string = '';\n  @Input() countSuffix: string = '';\n\n  @Input()\n  set countDecimals(val: number) {\n    this._countDecimals = val;\n  }\n\n  get countDecimals(): number {\n    if(this._countDecimals) return this._countDecimals;\n    return decimalChecker(this.countTo);\n  }\n\n  @Input()\n  set countTo(val) {\n    this._countTo = parseFloat(val);\n    this.start();\n  }\n\n  get countTo(): any {\n    return this._countTo;\n  }\n\n  @Input()\n  set countFrom(val) {\n    this._countFrom = parseFloat(val);\n    this.start();\n  }\n\n  get countFrom(): any {\n    return this._countFrom;\n  }\n\n  @Output() countChange = new EventEmitter();\n  @Output() countFinish = new EventEmitter();\n\n  nativeElement: any;\n\n  private value: any = '';\n  private animationReq: any;\n\n  private _countDecimals: number = 0;\n  private _countTo: number = 0;\n  private _countFrom: number = 0;\n\n  constructor(private cd: ChangeDetectorRef, private zone: NgZone, element: ElementRef) {\n    this.nativeElement = element.nativeElement;\n  }\n\n  ngOnDestroy(): void {\n    cancelAnimationFrame(this.animationReq);\n  }\n\n  start(): void {\n    cancelAnimationFrame(this.animationReq);\n\n    const callback = ({ value, progress, finished }) => {\n      this.zone.run(() => {\n        this.value = `${this.countPrefix}${value.toLocaleString()}${this.countSuffix}`;\n        this.cd.markForCheck();\n\n        if(!finished) this.countChange.emit({ value, progress });\n        if(finished) this.countFinish.emit({ value, progress });\n      });\n    };\n\n    this.animationReq = count(\n      this.countFrom, \n      this.countTo, \n      this.countDecimals, \n      this.countDuration, \n      callback);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/count/count.directive.ts","// Robert Penner's easeOutExpo\nfunction easeOutExpo(t, b, c, d) {\n  return c * (-Math.pow(2, -10 * t / d) + 1) * 1024 / 1023 + b;\n}\n\n/**\n * Counts from a number to the end incrementally.\n * \n * @export\n * @param {any} countFrom\n * @param {any} countTo\n * @param {any} countDecimals\n * @param {any} countDuration\n * @param {any} callback\n * @returns\n */\nexport function count(countFrom, countTo, countDecimals, countDuration, callback) {\n  const startVal = Number(countFrom);\n  const endVal = Number(countTo);\n  const countDown = (startVal > endVal);\n  const decimals = Math.max(0, countDecimals);\n  const dec = Math.pow(10, decimals);\n  const duration = Number(countDuration) * 1000;\n  let startTime;\n\n  function runCount(timestamp) {\n    let frameVal;\n    const progress = timestamp - startTime;\n\n    if (countDown) {\n      frameVal = startVal - easeOutExpo(progress, 0, startVal - endVal, duration);\n    } else {\n      frameVal = easeOutExpo(progress, startVal, endVal - startVal, duration);\n    }\n\n    if (countDown) {\n      frameVal = (frameVal < endVal) ? endVal : frameVal;\n    } else {\n      frameVal = (frameVal > endVal) ? endVal : frameVal;\n    }\n\n    frameVal = Math.round(frameVal * dec) / dec;\n\n    const tick = progress < duration;\n    callback({\n      value: frameVal,\n      progress,\n      timestamp,\n      finished: !tick\n    });\n\n    if (tick) {\n      return requestAnimationFrame((val) => runCount(val));\n    }\n  }\n\n  return requestAnimationFrame((timestamp) => {\n    startTime = timestamp;\n    return runCount(timestamp);\n  });\n}\n\n/**\n * Determine decimals places\n * \n * @export\n * @param {any} countTo\n * @returns\n */\nexport function decimalChecker(countTo) {\n  const endVal = Number(countTo);\n\n  if(endVal % 1 !== 0 && Math.abs(endVal) <= 10) {\n    return 2;\n  }\n\n  return 0;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/count/count.helper.ts","export * from './count.directive';\nexport * from './count.helper';\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/count/index.ts","import d3 from '../d3';\n\nexport function gridLayout(dims, data, minWidth) {\n  let rows = 1;\n  let xScale: any = d3.scaleBand();\n  let yScale: any = d3.scaleBand();\n  let dataLength = data.length;\n  let width = dims.width;\n  let height = dims.height;\n\n  if (width > minWidth) {\n    while (width / dataLength < minWidth) {\n      rows += 1;\n      dataLength = Math.ceil(data.length / rows);\n    }\n  }\n\n  let columns = dataLength;\n\n  let xDomain = [];\n  let yDomain = [];\n  for (let i = 0; i < rows; i++) {\n    yDomain.push(i);\n  }\n  for (let i = 0; i < columns; i++) {\n    xDomain.push(i);\n  }\n  xScale.domain(xDomain);\n  yScale.domain(yDomain);\n\n  xScale.rangeRound([0, width], 0.1);\n  yScale.rangeRound([0, height], 0.1);\n\n  let res = [];\n  let total = getTotal(data);\n  let cardWidth = xScale.bandwidth();\n  let cardHeight = yScale.bandwidth();\n\n  for (let i = 0; i < data.length; i++) {\n    res[i] = {};\n    res[i].data = {\n      name: data[i].name,\n      value: data[i].value\n    };\n    res[i].x = xScale(i % columns);\n    res[i].y = yScale(Math.floor(i / columns));\n    res[i].width = cardWidth;\n    res[i].height = cardHeight;\n    res[i].data.percent = res[i].data.value / total;\n    res[i].data.total = total;\n  }\n\n  return res;\n}\n\nfunction getTotal(results) {\n  return results\n    .map(d => d.value)\n    .reduce((sum, val) => { return sum + val; }, 0);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/grid-layout.helper.ts","import {\n  Component,\n  SimpleChanges,\n  Input,\n  OnChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-grid-panel-series]',\n  template: `\n    <svg:g ngx-charts-grid-panel *ngFor=\"let gridPanel of gridPanels\"\n      [height]=\"gridPanel.height\"\n      [width]=\"gridPanel.width\"\n      [x]=\"gridPanel.x\"\n      [y]=\"gridPanel.y\"\n      [class.grid-panel]=\"true\"\n      [class.odd]=\"gridPanel.class === 'odd'\"\n      [class.even]=\"gridPanel.class === 'even'\">\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridPanelSeriesComponent implements OnChanges {\n  gridPanels: any[];\n\n  @Input() data;\n  @Input() dims;\n  @Input() xScale;\n  @Input() yScale;\n  @Input() orient;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.gridPanels = this.getGridPanels();\n  }\n\n  getGridPanels(): any[] {\n    return this.data.map((d, i) => {\n      let offset;\n      let width;\n      let height;\n      let x;\n      let y;\n      let className = 'odd';\n\n      if (this.orient === 'vertical') {\n        let position: number = this.xScale(d.name);\n        let positionIndex = Number.parseInt((position / this.xScale.step()).toString());\n\n        if (positionIndex % 2 === 1) {\n          className = 'even';\n        }\n        offset = this.xScale.bandwidth() * this.xScale.paddingInner();\n        width = this.xScale.bandwidth() + offset;\n        height = this.dims.height;\n        x = this.xScale(d.name) - offset / 2;\n        y = 0;\n      } else if (this.orient === 'horizontal') {\n        let position = this.yScale(d.name);\n        let positionIndex = Number.parseInt((position / this.yScale.step()).toString());\n\n        if (positionIndex % 2 === 1) {\n          className = 'even';\n        }\n        offset = this.yScale.bandwidth() * this.yScale.paddingInner();\n\n        width = this.dims.width;\n        height = this.yScale.bandwidth() + offset;\n        x = 0;\n        y = this.yScale(d.name) - offset / 2;\n      }\n\n      return {\n        name: d.name,\n        class: className,\n        height,\n        width,\n        x,\n        y\n      };\n    });\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/grid-panel-series.component.ts","import {\n  Component,\n  Input,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-grid-panel]',\n  template: `\n    <svg:rect\n      [attr.height]=\"height\"\n      [attr.width]=\"width\"\n      [attr.x]=\"x\"\n      [attr.y]=\"y\"\n      stroke=\"none\"\n      class=\"gridpanel\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GridPanelComponent {\n\n  @Input() path;\n  @Input() width;\n  @Input() height;\n  @Input() x;\n  @Input() y;\n  \n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/grid-panel.component.ts","export * from './chart-common.module';\nexport * from './legend';\nexport * from './tooltip';\nexport * from './count';\nexport * from './color.helper';\n\nexport * from './area.component';\nexport * from './area-tooltip.component';\nexport * from './base-chart.component';\nexport * from './circle.component';\nexport * from './circle-series.component';\nexport * from './grid-layout.helper';\nexport * from './grid-panel.component';\nexport * from './grid-panel-series.component';\nexport * from './svg-linear-gradient.component';\nexport * from './svg-radial-gradient.component';\nexport * from './tick-format.helper';\nexport * from './timeline.component';\nexport * from './trim-label.helper';\nexport * from './view-dimensions.helper';\nexport * from './label.helper';\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/index.ts","/**\n * Formats a label given a date, number or string.\n * \n * @export\n * @param {*} label\n * @returns {string}\n */\nexport function formatLabel(label: any): string {\n  if (label instanceof Date) {\n    label = label.toLocaleDateString();\n  } else {\n    label = label.toLocaleString();\n  }\n\n  return label;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/label.helper.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy,\n  SimpleChanges,\n  OnChanges\n} from '@angular/core';\nimport { trimLabel } from '../trim-label.helper';\nimport { formatLabel } from '../label.helper';\n\n@Component({\n  selector: 'ngx-charts-advanced-legend',\n  template: `\n    <div class=\"advanced-pie-legend\"\n      [style.width.px]=\"width\">\n      <div\n        class=\"total-value\"\n        ngx-charts-count-up\n        [countTo]=\"roundedTotal\">\n      </div>\n      <div class=\"total-label\">\n        {{totalLabel}}\n      </div>\n      <div class=\"legend-items-container\">\n        <div class=\"legend-items\">\n          <div\n            *ngFor=\"let legendItem of legendItems; trackBy:trackBy\"\n            tabindex=\"-1\"\n            class=\"legend-item\"\n            (mouseenter)=\"activate.emit(legendItem.label)\"\n            (mouseleave)=\"deactivate.emit(legendItem.label)\"\n            (click)=\"select.emit({ name: legendItem.label, value: legendItem.value })\">\n            <div\n              class=\"item-color\"\n              [style.background]=\"legendItem.color\">\n            </div>\n            <div\n              class=\"item-value\"\n              ngx-charts-count-up\n              [countTo]=\"legendItem.value\">\n            </div>\n            <div class=\"item-label\">{{legendItem.label}}</div>\n            <div\n              class=\"item-percent\"\n              ngx-charts-count-up\n              [countTo]=\"legendItem.percentage\"\n              [countSuffix]=\"'%'\">\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AdvancedLegendComponent implements OnChanges  {\n\n  @Input() width: number;\n  @Input() data;\n  @Input() colors;\n\n  @Output() select: EventEmitter<any> = new EventEmitter();\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  legendItems: any[] = [];\n  totalLabel: string = 'total';\n  total: number;\n  roundedTotal: number;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  getTotal(): number {\n    return this.data\n      .map(d => d.value)\n      .reduce((sum, d) => { return sum + d; }, 0);\n  }\n\n  update(): void {\n    this.total = this.getTotal();\n    this.roundedTotal = this.total;\n\n    this.legendItems = this.getLegendItems();\n  }\n\n  getLegendItems(): any {\n    return this.data.map((d, index) => {\n      const label = formatLabel(d.name);\n      const value = d.value;\n      const percentage = value / this.total * 100;\n      const color = this.colors.getColor(label);\n      \n      return {\n        value,\n        color,\n        label: trimLabel(label, 20),\n        originalLabel: d.name,\n        percentage\n      };\n    });\n  }\n\n  trackBy(item) {\n    return item.formattedLabel;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/legend/advanced-legend.component.ts","export * from './legend.component';\nexport * from './scale-legend.component';\nexport * from './legend-entry.component';\nexport * from './advanced-legend.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/legend/index.ts","import {\n  Component, \n  Input, \n  Output, \n  ChangeDetectionStrategy,   \n  HostListener,\n  EventEmitter\n } from '@angular/core';\n\n@Component({\n  selector: 'ngx-charts-legend-entry',\n  template: `\n    <span \n      [title]=\"formattedLabel\"\n      tabindex=\"-1\"\n      [class.active]=\"isActive\"\n      (click)=\"select.emit(formattedLabel)\">\n      <span\n        class=\"legend-label-color\"\n        [style.background-color]=\"color\"\n        (click)=\"toggle.emit(formattedLabel)\">\n      </span>\n      <span class=\"legend-label-text\">\n        {{trimmedLabel}}\n      </span>\n    </span>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegendEntryComponent {\n\n  @Input() color: string;\n  @Input() label: any;\n  @Input() formattedLabel: string;\n  @Input() isActive: boolean = false;\n\n  @Output() select: EventEmitter<any> = new EventEmitter();\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n  @Output() toggle: EventEmitter<any> = new EventEmitter();\n\n  get trimmedLabel(): string {\n    return this.formattedLabel || '(empty)';\n  }\n\n  @HostListener('mouseenter')\n  onMouseEnter(): void {\n    this.activate.emit({name: this.label});\n  }\n\n  @HostListener('mouseleave')\n  onMouseLeave(): void {\n    this.deactivate.emit({name: this.label});\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/legend/legend-entry.component.ts","import {\n  Component,\n  Input,\n  ChangeDetectionStrategy,\n  Output,\n  EventEmitter,\n  SimpleChanges,\n  OnChanges,\n  ChangeDetectorRef,\n  NgZone\n } from '@angular/core';\n import { formatLabel } from '../label.helper';\n\n@Component({\n  selector: 'ngx-charts-legend',\n  template: `\n    <div [style.width.px]=\"width\">\n      <header class=\"legend-title\">\n        <span class=\"legend-icon icon-eye\"></span>\n        <span class=\"legend-title-text\">{{title}}</span>\n      </header>\n      <div class=\"legend-wrap\">\n        <ul class=\"legend-labels\"\n          [style.max-height.px]=\"height - 45\">\n          <li\n            *ngFor=\"let entry of legendEntries; trackBy: trackBy\"\n            class=\"legend-label\">\n            <ngx-charts-legend-entry\n              [label]=\"entry.label\"\n              [formattedLabel]=\"entry.formattedLabel\"\n              [color]=\"entry.color\"\n              [isActive]=\"isActive(entry)\"\n              (select)=\"labelClick.emit($event)\"\n              (activate)=\"activate($event)\"\n              (deactivate)=\"deactivate($event)\">\n            </ngx-charts-legend-entry>\n          </li>\n        </ul>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegendComponent implements OnChanges {\n\n  @Input() data;\n  @Input() title;\n  @Input() colors;\n  @Input() height;\n  @Input() width;\n  @Input() activeEntries;\n\n  @Output() labelClick: EventEmitter<any> = new EventEmitter();\n  @Output() labelActivate: EventEmitter<any> = new EventEmitter();\n  @Output() labelDeactivate: EventEmitter<any> = new EventEmitter();\n\n  legendEntries: any[] = [];\n\n  constructor(private cd: ChangeDetectorRef, private zone: NgZone) { }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.zone.run(() => {\n      this.cd.markForCheck();\n      this.legendEntries = this.getLegendEntries();\n    });\n  }\n\n  getLegendEntries(): any[] {\n    let items = [];\n\n    for(const label of this.data) {\n      const formattedLabel = formatLabel(label);\n\n      let idx = items.findIndex((i) => {\n        return i.label === formattedLabel;\n      });\n\n      if (idx === -1) {\n        items.push({\n          label,\n          formattedLabel,\n          color: this.colors.getColor(label)\n        });\n      }\n    }\n\n    return items;\n  }\n\n  isActive(entry): boolean {\n    if(!this.activeEntries) return false;\n    let item = this.activeEntries.find(d => {      \n      return entry.label === d.name;\n    });\n    return item !== undefined;\n  }\n\n  activate(item) {\n    this.zone.run(() => {\n      this.labelActivate.emit(item);\n    });\n  }\n\n  deactivate(item) {\n    this.zone.run(() => {\n      this.labelDeactivate.emit(item);\n    });\n  }\n\n  trackBy(index, item): string {\n    return item.label;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/legend/legend.component.ts","import {\n  Component, Input, OnChanges, ChangeDetectionStrategy, SimpleChanges\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n  selector: 'ngx-charts-scale-legend',\n  template: `\n    <div\n      class=\"scale-legend\"\n      [style.height.px]=\"height\"\n      [style.width.px]=\"width\">\n      <div class=\"scale-legend-label\">\n        <span>{{ valueRange[1].toLocaleString() }}</span>\n      </div>\n      <div \n        class=\"scale-legend-wrap\"\n        [style.background]=\"gradient\">\n      </div>\n      <div class=\"scale-legend-label\">\n        <span>{{ valueRange[0].toLocaleString() }}</span>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ScaleLegendComponent implements OnChanges {\n\n  @Input() valueRange;\n  @Input() colors;\n  @Input() height;\n  @Input() width;\n\n  gradient: any;\n\n  constructor(private sanitizer: DomSanitizer) { }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    const gradientValues = this.gradientString(this.colors.range(), this.colors.domain());\n    this.gradient = this.sanitizer.bypassSecurityTrustStyle(`linear-gradient(to bottom, ${gradientValues})`);\n  }\n\n  /**\n   * Generates the string used in the gradient stylesheet properties\n   * @param  {array} colors array of colors\n   * @param  {array} splits array of splits on a scale of (0, 1)\n   * @return {string}\n   */\n  gradientString(colors, splits): string {\n    // add the 100%\n    splits.push(1);\n    let pairs = [];\n    colors.reverse().forEach((c, i) => {\n      pairs.push(`${c} ${Math.round(splits[i] * 100)}%`);\n    });\n\n    return pairs.join(', ');\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/legend/scale-legend.component.ts","import {\n  Component,\n  Input,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-svg-linear-gradient]',\n  template: `\n    <svg:linearGradient\n      [id]=\"name\"\n      [attr.x1]=\"x1\"\n      [attr.y1]=\"y1\"\n      [attr.x2]=\"x2\"\n      [attr.y2]=\"y2\">\n      <svg:stop *ngFor=\"let stop of stops\"\n        [attr.offset]=\"stop.offset + '%'\"\n        [style.stop-color]=\"stop.color\"\n        [style.stop-opacity]=\"stop.opacity\"\n      />     \n    </svg:linearGradient>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SvgLinearGradientComponent implements OnChanges {\n  \n  @Input() orientation = 'vertical';\n  @Input() color;\n  @Input() name;\n  @Input() stops: any[];\n\n  x1: any;\n  x2: any;\n  y1: any;\n  y2: any;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.x1 = '0%';\n    this.x2 = '0%';\n    this.y1 = '0%';\n    this.y2 = '0%';\n\n    if (this.orientation === 'horizontal') {\n      this.x2 = '100%';\n    } else if (this.orientation === 'vertical') {\n      this.y1 = '100%';\n    }\n\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/svg-linear-gradient.component.ts","import {\n  Component, Input, OnChanges, ChangeDetectionStrategy, SimpleChanges\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-svg-radial-gradient]',\n  template: `\n    <svg:radialGradient\n      [id]=\"name\"\n      [attr.cx]=\"cx\"\n      [attr.cy]=\"cy\"\n      [attr.r]=\"r\"\n      gradientUnits=\"userSpaceOnUse\">\n      <svg:stop\n        offset=\"0%\"\n        [style.stop-color]=\"color\"\n        [style.stop-opacity]=\"startOpacity\"\n      />\n      <svg:stop\n        offset=\"100%\"\n        [style.stop-color]=\"color\"\n        [style.stop-opacity]=\"endOpacity\"\n      />\n    </svg:radialGradient>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SvgRadialGradientComponent implements OnChanges {\n\n  @Input() color;\n  @Input() name;\n  @Input() startOpacity;\n  @Input() endOpacity = 1;\n  @Input() cx: number = 0;\n  @Input() cy: number = 0;\n\n  r: string;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.r = '30%';\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/svg-radial-gradient.component.ts","import * as moment from 'moment';\n\nexport function tickFormat(fieldType, groupByType): Function {\n  return function(label: string): string {\n    if (label === 'No Value' || label === 'Other') {\n      return label;\n    }\n    if (fieldType === 'date' && groupByType === 'groupBy') {\n      return moment(label).format('MM/DD/YYYY');\n    }\n\n    return label.toString();\n  };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tick-format.helper.ts","import {\n  Component, Input, Output, EventEmitter, ElementRef,\n  OnChanges, ChangeDetectionStrategy, NgZone,\n  ChangeDetectorRef, SimpleChanges\n} from '@angular/core';\nimport * as moment from 'moment';\nimport d3 from '../d3';\nimport { id } from '../utils/id';\n\n@Component({\n  selector: 'g[ngx-charts-timeline]',\n  template: `\n    <svg:g\n      class=\"timeline\"\n      [attr.transform]=\"transform\">\n      <svg:filter [attr.id]=\"filterId\">\n        <svg:feColorMatrix in=\"SourceGraphic\"\n            type=\"matrix\"\n            values=\"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\" />\n      </svg:filter>\n      <svg:g class=\"embedded-chart\">\n        <ng-content></ng-content>\n      </svg:g>\n      <svg:rect x=\"0\"\n        [attr.width]=\"view[0]\"\n        y=\"0\"\n        [attr.height]=\"height\"\n        class=\"brush-background\"\n      />\n      <svg:g class=\"brush\"></svg:g>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class Timeline implements OnChanges {\n\n  @Input() view;\n  @Input() state;\n  @Input() results;\n  @Input() scheme;\n  @Input() customColors;\n  @Input() legend;\n  @Input() miniChart;\n  @Input() autoScale;\n  @Input() scaleType;\n  @Input() height: number = 50;\n\n  @Output() select = new EventEmitter();\n  @Output() onDomainChange = new EventEmitter();\n\n  element: HTMLElement;\n  dims: any;\n  xDomain: any[];\n  xScale: any;\n  brush: any;\n  transform: string;\n  initialized: boolean = false;\n  filterId: any;\n  filter: any;\n\n  constructor(element: ElementRef, private zone: NgZone, private cd: ChangeDetectorRef) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n\n    if (!this.initialized) {\n      this.addBrush();\n      this.initialized = true;\n    }\n  }\n\n  update(): void {\n    this.zone.run(() => {\n      this.dims = this.getDims();\n      this.height = this.dims.height;\n      let offsetY = this.view[1] - this.height;\n\n      this.xDomain = this.getXDomain();\n      this.xScale = this.getXScale();\n\n      if (this.brush) {\n        this.updateBrush();\n      }\n\n      this.transform = `translate(0 , ${ offsetY })`;\n\n      let pageUrl = window.location.href;\n      this.filterId = 'filter' + id().toString();\n      this.filter = `url(${pageUrl}#${this.filterId})`;\n\n      this.cd.markForCheck();\n    });\n  }\n\n  getXDomain(): any[] {\n    let values = [];\n\n    for (let results of this.results) {\n      for (let d of results.series){\n        if (!values.includes(d.name)) {\n          values.push(d.name);\n        }\n      }\n    }\n\n    let domain = [];\n    if (this.scaleType === 'time') {\n      values = values.map(v => moment(v).toDate());\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [min, max];\n    } else if (this.scaleType === 'linear') {\n      values = values.map(v => Number(v));\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [min, max];\n    } else {\n      domain = values;\n    }\n\n    return domain;\n  }\n\n  getXScale() {\n    let scale;\n\n    if (this.scaleType === 'time') {\n      scale = d3.scaleTime()\n        .range([0, this.dims.width])\n        .domain(this.xDomain);\n    } else if (this.scaleType === 'linear') {\n      scale = d3.scaleLinear()\n        .range([0, this.dims.width])\n        .domain(this.xDomain);\n    } else if (this.scaleType === 'ordinal') {\n      scale = d3.scalePoint()\n        .range([0, this.dims.width])\n        .padding(0.1)\n        .domain(this.xDomain);\n    }\n\n    return scale;\n  }\n\n  addBrush(): void {\n    if (this.brush) return;\n\n    const height = this.height;\n    const width = this.view[0];\n\n    this.brush = d3.brushX()\n      .extent([[0, 0], [width, height]])\n      .on('brush end', () => {\n        this.zone.run(() => {\n          const selection = d3.selection.event.selection || this.xScale.range();\n          const newDomain = selection.map(this.xScale.invert);\n\n          this.onDomainChange.emit(newDomain);\n          this.cd.markForCheck();\n        });\n      });\n\n    d3.select(this.element)\n      .select('.brush')\n      .call(this.brush);\n  }\n\n  updateBrush(): void {\n    if (!this.brush) return;\n\n    const height = this.height;\n    const width = this.view[0];\n\n    this.zone.run(() => {\n      this.brush.extent([[0, 0], [width, height]]);\n      d3.select(this.element)\n        .select('.brush')\n        .call(this.brush);\n\n      // clear hardcoded properties so they can be defined by CSS\n      d3.select(this.element).select('.selection')\n        .attr('fill', undefined)\n        .attr('stroke', undefined)\n        .attr('fill-opacity', undefined);\n\n      this.cd.markForCheck();\n    });\n  }\n\n  getDims(): any {\n    let width = this.view[0];\n\n    let dims = {\n      width,\n      height: this.height\n    };\n\n    return dims;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/timeline.component.ts","export enum AlignmentTypes {\n  left = 'left' as any,\n  center = 'center' as any,\n  right = 'right' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/alignment.type.ts","export * from './tooltip.module';\nexport * from './tooltip.service';\nexport * from './tooltip.component';\nexport * from './tooltip.directive';\n\nexport * from './style.type';\nexport * from './alignment.type';\nexport * from './show.type';\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/index.ts","export * from './placement.type';\nexport * from './position';\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/position/index.ts","export enum PlacementTypes {\n  top = 'top' as any,\n  bottom = 'bottom' as any,\n  left = 'left' as any,\n  right = 'right' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/position/placement.type.ts","import { PlacementTypes } from './placement.type';\n\nconst caretOffset = 7;\n\nfunction verticalPosition(elDimensions, popoverDimensions, alignment) {\n  let result;\n\n  if (alignment === 'top') {\n    result = elDimensions.top - caretOffset;\n  }\n\n  if (alignment === 'bottom') {\n    result = elDimensions.top + elDimensions.height - popoverDimensions.height + caretOffset;\n  }\n\n  if (alignment === 'center') {\n    result = elDimensions.top + elDimensions.height / 2 - popoverDimensions.height / 2;\n  }\n\n  return result;\n}\n\nfunction horizontalPosition(elDimensions, popoverDimensions, alignment) {\n  let result;\n\n  if (alignment === 'left') {\n    return elDimensions.left - caretOffset;\n  }\n\n  if (alignment === 'right') {\n    return elDimensions.left + elDimensions.width - popoverDimensions.width + caretOffset;\n  }\n\n  if (alignment === 'center') {\n    return elDimensions.left + elDimensions.width / 2 - popoverDimensions.width / 2;\n  }\n\n  return result;\n}\n\n/**\n * Position helper for the popover directive.\n * \n * @export\n * @class PositionHelper\n */\nexport class PositionHelper {\n\n  /**\n   * Calculate vertical alignment position\n   * \n   * @static\n   * @param {any} elDimensions\n   * @param {any} popoverDimensions\n   * @param {any} alignment\n   * @returns {number}\n   * \n   * @memberOf PositionHelper\n   */\n  static calculateVerticalAlignment(elDimensions, popoverDimensions, alignment): number {\n    let result = verticalPosition(elDimensions, popoverDimensions, alignment);\n\n    if (result + popoverDimensions.height > window.innerHeight) {\n      result = window.innerHeight - popoverDimensions.height;\n    }\n\n    return result;\n  }\n\n  /**\n   * Calculate vertical caret position\n   * \n   * @static\n   * @param {any} elDimensions\n   * @param {any} popoverDimensions\n   * @param {any} caretDimensions\n   * @param {any} alignment\n   * @returns {number}\n   * \n   * @memberOf PositionHelper\n   */\n  static calculateVerticalCaret(elDimensions, popoverDimensions, caretDimensions, alignment): number {\n    let result;\n\n    if (alignment === 'top') {\n      result = elDimensions.height / 2 - caretDimensions.height / 2 + caretOffset;\n    }\n\n    if (alignment === 'bottom') {\n      result = popoverDimensions.height - elDimensions.height / 2 - caretDimensions.height / 2 - caretOffset;\n    }\n\n    if (alignment === 'center') {\n      result = popoverDimensions.height / 2 - caretDimensions.height / 2;\n    }\n\n    let popoverPosition = verticalPosition(elDimensions, popoverDimensions, alignment);\n    if (popoverPosition + popoverDimensions.height > window.innerHeight) {\n      result += (popoverPosition + popoverDimensions.height - window.innerHeight);\n    }\n\n    return result;\n  }\n\n  /**\n   * Calculate horz alignment position\n   * \n   * @static\n   * @param {any} elDimensions\n   * @param {any} popoverDimensions\n   * @param {any} alignment\n   * @returns {number}\n   * \n   * @memberOf PositionHelper\n   */\n  static calculateHorizontalAlignment(elDimensions, popoverDimensions, alignment): number {\n    let result = horizontalPosition(elDimensions, popoverDimensions, alignment);\n\n    if (result + popoverDimensions.width > window.innerWidth) {\n      result = window.innerWidth - popoverDimensions.width;\n    }\n\n    return result;\n  }\n\n  /**\n   * Calculate horz caret position\n   * \n   * @static\n   * @param {any} elDimensions\n   * @param {any} popoverDimensions\n   * @param {any} caretDimensions\n   * @param {any} alignment\n   * @returns {number}\n   * \n   * @memberOf PositionHelper\n   */\n  static calculateHorizontalCaret(elDimensions, popoverDimensions, caretDimensions, alignment): number {\n    let result;\n\n    if (alignment === 'left') {\n      result = elDimensions.width / 2 - caretDimensions.width / 2 + caretOffset;\n    }\n\n    if (alignment === 'right') {\n      result = popoverDimensions.width - elDimensions.width / 2 - caretDimensions.width / 2 - caretOffset;\n    }\n\n    if (alignment === 'center') {\n      result = popoverDimensions.width / 2 - caretDimensions.width / 2;\n    }\n\n    let popoverPosition = horizontalPosition(elDimensions, popoverDimensions, alignment);\n    if (popoverPosition + popoverDimensions.width > window.innerWidth) {\n      result += (popoverPosition + popoverDimensions.width - window.innerWidth);\n    }\n\n    return result;\n  }\n\n  /**\n   * Checks if the element's position should be flipped\n   * \n   * @static\n   * @param {any} elDimensions\n   * @param {any} popoverDimensions\n   * @param {any} placement\n   * @param {any} alignment\n   * @param {any} spacing\n   * @returns {boolean}\n   * \n   * @memberOf PositionHelper\n   */\n  static shouldFlip(elDimensions, popoverDimensions, placement, alignment, spacing): boolean {\n    let flip = false;\n\n    if (placement === 'right') {\n      let popoverPosition = horizontalPosition(elDimensions, popoverDimensions, alignment);\n      if (popoverPosition + popoverDimensions.width + spacing > window.innerWidth) {\n        flip = true;\n      }\n    }\n\n    if (placement === 'left') {\n      let popoverPosition = horizontalPosition(elDimensions, popoverDimensions, alignment);\n      if (popoverPosition - spacing < 0) {\n        flip = true;\n      }\n    }\n\n    if (placement === 'top') {\n      if (elDimensions.top - popoverDimensions.height - spacing < 0) {\n        flip = true;\n      }\n    }\n\n    if (placement === 'bottom') {\n      let popoverPosition = verticalPosition(elDimensions, popoverDimensions, alignment);\n      if (popoverPosition + popoverDimensions.height + spacing > window.innerHeight) {\n        flip = true;\n      }\n    }\n\n    return flip;\n  }\n\n  /**\n   * Position caret\n   * \n   * @static\n   * @param {any} placement\n   * @param {any} elmDim\n   * @param {any} hostDim\n   * @param {any} caretDimensions\n   * @param {any} alignment\n   * @returns {*}\n   * \n   * @memberOf PositionHelper\n   */\n  static positionCaret(placement, elmDim, hostDim, caretDimensions, alignment): any {\n    let top = 0;\n    let left = 0;\n\n    if (placement === PlacementTypes.right) {\n      left = -7;\n      top = PositionHelper.calculateVerticalCaret(\n        hostDim, elmDim, caretDimensions, alignment);\n    } else if (placement === PlacementTypes.left) {\n      left = elmDim.width;\n      top = PositionHelper.calculateVerticalCaret(\n        hostDim, elmDim, caretDimensions, alignment);\n    } else if (placement === PlacementTypes.top) {\n      top = elmDim.height;\n      left = PositionHelper.calculateHorizontalCaret(\n        hostDim, elmDim, caretDimensions, alignment);\n    } else if (placement === PlacementTypes.bottom) {\n      top = -7;\n      left = PositionHelper.calculateHorizontalCaret(\n        hostDim, elmDim, caretDimensions, alignment);\n    }\n    \n    return { top, left };\n  }\n\n  /**\n   * Position content\n   * \n   * @static\n   * @param {any} placement\n   * @param {any} elmDim\n   * @param {any} hostDim\n   * @param {any} spacing\n   * @param {any} alignment\n   * @returns {*}\n   * \n   * @memberOf PositionHelper\n   */\n  static positionContent(placement, elmDim, hostDim, spacing, alignment): any {\n    let top = 0;\n    let left = 0;\n\n    if (placement === PlacementTypes.right) {\n      left = hostDim.left + hostDim.width + spacing;\n      top = PositionHelper.calculateVerticalAlignment(\n        hostDim, elmDim, alignment);\n    } else if (placement === PlacementTypes.left) {\n      left = hostDim.left - elmDim.width - spacing;\n      top = PositionHelper.calculateVerticalAlignment(\n        hostDim, elmDim, alignment);\n    } else if (placement === PlacementTypes.top) {\n      top = hostDim.top - elmDim.height - spacing;\n      left = PositionHelper.calculateHorizontalAlignment(\n        hostDim, elmDim, alignment);\n    } else if (placement === PlacementTypes.bottom) {\n      top = hostDim.top + hostDim.height + spacing;\n      left = PositionHelper.calculateHorizontalAlignment(\n        hostDim, elmDim, alignment);\n    }\n\n    return { top, left };\n  }\n\n  /**\n   * Determine placement based on flip\n   * \n   * @static\n   * @param {any} placement\n   * @param {any} elmDim\n   * @param {any} hostDim\n   * @param {any} spacing\n   * @param {any} alignment\n   * @returns {*}\n   * \n   * @memberOf PositionHelper\n   */\n  static determinePlacement(placement, elmDim, hostDim, spacing, alignment): any {\n    const shouldFlip = PositionHelper.shouldFlip(\n      hostDim,\n      elmDim,\n      placement,\n      alignment,\n      spacing);\n\n    if(shouldFlip) {\n      if (placement === PlacementTypes.right) {\n        return PlacementTypes.left;\n      } else if (placement === PlacementTypes.left) {\n        return PlacementTypes.right;\n      } else if (placement === PlacementTypes.top) {\n        return PlacementTypes.bottom;\n      } else if (placement === PlacementTypes.bottom) {\n        return PlacementTypes.top;\n      }\n    }\n\n    return placement;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/position/position.ts","export enum ShowTypes {\n  all = 'all' as any,\n  focus = 'focus' as any,\n  mouseover = 'mouseover' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/show.type.ts","export enum StyleTypes {\n  popover = 'popover' as any,\n  tooltip = 'tooltip' as any\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/style.type.ts","import {\n  Input, Component, ElementRef, AfterViewInit,\n  HostListener, ViewChild, HostBinding, Renderer\n} from '@angular/core';\n\nimport { throttleable } from '../../utils/throttle';\nimport { PositionHelper, PlacementTypes } from './position';\n\nimport { StyleTypes } from './style.type';\nimport { AlignmentTypes } from './alignment.type';\n\n@Component({\n  selector: 'ngx-tooltip-content',\n  template: `\n    <div>\n      <span\n        #caretElm\n        [hidden]=\"!showCaret\"\n        class=\"tooltip-caret position-{{this.placement}}\">\n      </span>\n      <div class=\"tooltip-content\">\n        <span *ngIf=\"!title\">\n          <template\n            [ngTemplateOutlet]=\"template\"\n            [ngOutletContext]=\"{ model: context }\">\n          </template>\n        </span>\n        <span\n          *ngIf=\"title\"\n          [innerHTML]=\"title\">\n        </span>\n      </div>\n    </div>\n  `\n})\nexport class TooltipContentComponent implements AfterViewInit {\n\n  @Input() host: any;\n  @Input() showCaret: boolean;\n  @Input() type: StyleTypes;\n  @Input() placement: PlacementTypes;\n  @Input() alignment: AlignmentTypes;\n  @Input() spacing: number;\n  @Input() cssClass: string;\n  @Input() title: string;\n\n  @ViewChild('caretElm') caretElm;\n\n  @HostBinding('class')\n  get cssClasses(): string {\n    let clz = 'ngx-tooltip-content';\n    clz += ` position-${this.placement}`;\n    clz += ` type-${this.type}`;\n    clz += ` ${this.cssClass}`;\n    return clz;\n  }\n\n  constructor(\n    public element: ElementRef,\n    private renderer: Renderer) {\n  }\n\n  ngAfterViewInit(): void {\n    setTimeout(this.position.bind(this));\n  }\n\n  position(): void {\n    const nativeElm = this.element.nativeElement;\n    const hostDim = this.host.nativeElement.getBoundingClientRect();\n\n    // if no dims were found, never show\n    if(!hostDim.height && !hostDim.width) return;\n\n    const elmDim = nativeElm.getBoundingClientRect();\n    this.checkFlip(hostDim, elmDim);\n    this.positionContent(nativeElm, hostDim, elmDim);\n\n    if(this.showCaret) {\n      this.positionCaret(hostDim, elmDim);\n    }\n\n    // animate its entry\n    setTimeout(() => this.renderer.setElementClass(nativeElm, 'animate', true), 1);\n  }\n\n  positionContent(nativeElm, hostDim, elmDim): void {\n    const { top, left } = PositionHelper.positionContent(\n      this.placement, elmDim, hostDim, this.spacing, this.alignment);\n\n    this.renderer.setElementStyle(nativeElm, 'top', `${top}px`);\n    this.renderer.setElementStyle(nativeElm, 'left', `${left}px`);\n  }\n\n  positionCaret(hostDim, elmDim): void {\n    const caretElm = this.caretElm.nativeElement;\n    const caretDimensions = caretElm.getBoundingClientRect();\n    const { top, left } = PositionHelper.positionCaret(\n      this.placement, elmDim, hostDim, caretDimensions, this.alignment);\n\n    this.renderer.setElementStyle(caretElm, 'top', `${top}px`);\n    this.renderer.setElementStyle(caretElm, 'left', `${left}px`);\n  }\n\n  checkFlip(hostDim, elmDim): void {\n    this.placement = PositionHelper.determinePlacement(\n      this.placement, elmDim, hostDim, this.spacing, this.alignment);\n  }\n\n  @HostListener('window:resize')\n  @throttleable(100)\n  onWindowResize(): void {\n    this.position();\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/tooltip.component.ts","import {\n  Directive, Input, Output, EventEmitter, HostListener,\n  ViewContainerRef,\n  ElementRef, Renderer, OnDestroy, NgZone\n} from '@angular/core';\n\nimport { PlacementTypes } from './position';\nimport { StyleTypes } from './style.type';\nimport { AlignmentTypes } from './alignment.type';\nimport { ShowTypes } from './show.type';\n\nimport { TooltipService } from './tooltip.service';\n\n@Directive({ selector: '[ngx-tooltip]' })\nexport class TooltipDirective implements OnDestroy {\n\n  @Input() tooltipCssClass: string = '';\n  @Input() tooltipTitle: string = '';\n  @Input() tooltipAppendToBody: boolean = true;\n  @Input() tooltipSpacing: number = 10;\n  @Input() tooltipDisabled: boolean = false;\n  @Input() tooltipShowCaret: boolean = true;\n  @Input() tooltipPlacement: PlacementTypes = PlacementTypes.top;\n  @Input() tooltipAlignment: AlignmentTypes = AlignmentTypes.center;\n  @Input() tooltipType: StyleTypes = StyleTypes.popover;\n  @Input() tooltipCloseOnClickOutside: boolean = true;\n  @Input() tooltipCloseOnMouseLeave: boolean = true;\n  @Input() tooltipHideTimeout: number = 300;\n  @Input() tooltipShowTimeout: number = 100;\n  @Input() tooltipTemplate: any;\n  @Input() tooltipShowEvent: ShowTypes = ShowTypes.all;\n  @Input() tooltipContext: any;\n\n  @Output() show = new EventEmitter();\n  @Output() hide = new EventEmitter();\n\n  private get listensForFocus(): boolean {\n    return this.tooltipShowEvent === ShowTypes.all ||\n           this.tooltipShowEvent === ShowTypes.focus;\n  }\n\n  private get listensForHover(): boolean {\n    return this.tooltipShowEvent === ShowTypes.all ||\n           this.tooltipShowEvent === ShowTypes.mouseover;\n  }\n\n  private component: any;\n  private timeout: any;\n  private mouseLeaveContentEvent: any;\n  private mouseEnterContentEvent: any;\n  private documentClickEvent: any;\n\n  constructor(\n    private tooltipService: TooltipService,\n    private viewContainerRef: ViewContainerRef,\n    private renderer: Renderer,\n    private element: ElementRef,\n    private zone: NgZone) {\n  }\n\n  ngOnDestroy(): void {\n    this.hideTooltip(true);\n  }\n\n  @HostListener('focusin')\n  onFocus(): void {\n    if(this.listensForFocus) {\n       this.showTooltip();\n     }\n  }\n\n  @HostListener('blur')\n  onBlur(): void {\n    if(this.listensForFocus) {\n      this.hideTooltip(true);\n    }\n  }\n\n  @HostListener('mouseenter')\n  onMouseEnter(): void {\n    if(this.listensForHover) {\n       this.showTooltip();\n     }\n  }\n\n  @HostListener('mouseleave', ['$event.target'])\n  onMouseLeave(target): void {\n    if(this.listensForHover && this.tooltipCloseOnMouseLeave) {\n      clearTimeout(this.timeout);\n\n      if(this.component) {\n        const contentDom = this.component.instance.element.nativeElement;\n        const contains = contentDom.contains(target);\n        if(contains) return;\n      }\n\n      this.hideTooltip();\n    }\n  }\n\n  @HostListener('click')\n  onMouseClick() {\n    if(this.listensForHover) {\n      this.hideTooltip(true);\n    }\n  }\n\n  showTooltip(immediate?: boolean): void {\n    this.zone.run(() => {\n      if (this.component || this.tooltipDisabled) return;\n\n      const time = immediate ? 0 : this.tooltipShowTimeout;\n\n      clearTimeout(this.timeout);\n      this.timeout = setTimeout(() => {\n        this.tooltipService.destroyAll();\n\n        const options = this.createBoundOptions();\n        this.component = this.tooltipService.create(options);\n\n        // add a tiny timeout to avoid event re-triggers\n        setTimeout(() => {\n          this.addHideListeners(this.component.instance.element.nativeElement);\n        }, 10);\n\n        this.show.emit(true);\n      }, time);\n    });\n  }\n\n  addHideListeners(tooltip): void {\n    // on mouse enter, cancel the hide triggered by the leave\n    this.mouseEnterContentEvent = this.renderer.listen(tooltip, 'mouseenter', () => {\n      clearTimeout(this.timeout);\n    });\n\n    // content mouse leave listener\n    if(this.tooltipCloseOnMouseLeave) {\n      this.mouseLeaveContentEvent = this.renderer.listen(tooltip, 'mouseleave', () => {\n        this.hideTooltip();\n      });\n    }\n\n    // content close on click outside\n    if(this.tooltipCloseOnClickOutside) {\n      this.documentClickEvent = this.renderer.listen(document, 'click', (event) => {\n        const contains = tooltip.contains(event.target);\n        if(!contains) this.hideTooltip();\n      });\n    }\n  }\n\n  hideTooltip(immediate?: boolean): void {\n    if(!this.component) return;\n\n    const destroyFn = () => {\n      // remove events\n      if(this.mouseLeaveContentEvent) this.mouseLeaveContentEvent();\n      if(this.mouseEnterContentEvent) this.mouseEnterContentEvent();\n      if(this.documentClickEvent) this.documentClickEvent();\n\n      // emit events\n      this.hide.emit(true);\n\n      // destroy component\n      this.tooltipService.destroy(this.component);\n      this.component = undefined;\n    };\n\n    clearTimeout(this.timeout);\n    if(!immediate) {\n      this.timeout = setTimeout(destroyFn, this.tooltipHideTimeout);\n    } else {\n      destroyFn();\n    }\n  }\n\n  private createBoundOptions(): any {\n    return {\n      title: this.tooltipTitle,\n      template: this.tooltipTemplate,\n      host: this.viewContainerRef.element,\n      placement: this.tooltipPlacement,\n      alignment: this.tooltipAlignment,\n      type: this.tooltipType,\n      showCaret: this.tooltipShowCaret,\n      cssClass: this.tooltipCssClass,\n      spacing: this.tooltipSpacing,\n      context: this.tooltipContext\n    };\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/tooltip.directive.ts","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { TooltipDirective } from './tooltip.directive';\nimport { TooltipContentComponent } from './tooltip.component';\nimport { TooltipService } from './tooltip.service';\n\nimport { InjectionService } from '../../services';\n\n@NgModule({\n  declarations: [TooltipContentComponent, TooltipDirective],\n  providers: [InjectionService, TooltipService],\n  exports: [TooltipContentComponent, TooltipDirective],\n  imports: [CommonModule],\n  entryComponents: [TooltipContentComponent]\n})\nexport class TooltipModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/tooltip.module.ts","import { Injectable } from '@angular/core';\nimport { InjectionRegistery, InjectionService } from '../../services';\nimport { TooltipContentComponent } from '.';\n\n@Injectable()\nexport class TooltipService extends InjectionRegistery {\n\n  type: any = TooltipContentComponent;\n\n  constructor(public injectionService: InjectionService) {\n    super(injectionService);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/tooltip/tooltip.service.ts","export function trimLabel(s, max = 16): string {\n  if(typeof s !== 'string') {\n    if(typeof s === 'number') {\n      return s + '';\n    } else {\n      return '';\n    }\n  }\n\n  if(s.length <= max) {\n    return s;\n  } else {\n    return `${s.slice(0, max).trim()}...`;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/trim-label.helper.ts","export interface ViewDimensions {\n  width: number;\n  height: number;\n  xOffset: number;\n}\n\nexport function calculateViewDimensions({\n  width, height, margins, showXAxis = false, showYAxis = false, xAxisHeight = 0,\n  yAxisWidth = 0, showXLabel = false, showYLabel = false, showLegend = false, legendType = 'ordinal', columns = 12\n}): ViewDimensions {\n  let xOffset = margins[3];\n  let chartWidth = width;\n  let chartHeight = height - margins[0] - margins[2];\n\n  if (showLegend) {\n    if (legendType === 'ordinal') {\n      columns -= 2;\n    } else {\n      columns -= 1;\n    }\n  }\n\n  chartWidth = chartWidth * columns / 12;\n\n  chartWidth = chartWidth - margins[1] - margins[3];\n\n  if (showXAxis) {\n    chartHeight -= 5;\n    chartHeight -= xAxisHeight;\n\n    if (showXLabel) {\n      // text height + spacing between axis label and tick labels\n      let offset = 25 + 5;\n      chartHeight -= offset;\n    }\n  }\n\n  if (showYAxis) {\n    chartWidth -= 5;\n    chartWidth -= yAxisWidth;\n    xOffset += yAxisWidth;\n    xOffset += 10;\n\n    if (showYLabel) {\n      // text height + spacing between axis label and tick labels\n      let offset = 25 + 5;\n      chartWidth -= offset;\n      xOffset += offset;\n    }\n  }\n\n  chartWidth = Math.max(0, chartWidth);\n  chartHeight = Math.max(0, chartHeight);\n\n  return {\n    width: chartWidth,\n    height: chartHeight,\n    xOffset\n  };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/common/view-dimensions.helper.ts","/// <reference path=\"../node_modules/awesome-typescript-loader/lib/runtime.d.ts\" />\n\nlet array = require('d3-array');\nlet brush = require('d3-brush');\nlet color = require('d3-color');\nlet force = require('d3-force');\nlet format = require('d3-format');\nlet interpolate = require('d3-interpolate');\nlet scales = require('d3-scale');\nlet selection = require('d3-selection');\nlet shape = require('d3-shape');\nlet hierarchy = require('d3-hierarchy');\n\nexport default {\n  arc: shape.arc,\n  area: shape.area,\n  brush: brush.brush,\n  brushX: brush.brushX,\n  brushY: brush.brushY,\n  event: selection.event,\n  extent: array.extent,\n  forceCollide: force.forceCollide,\n  forceLink: force.forceLink,\n  forceManyBody: force.forceManyBody,\n  forceSimulation: force.forceSimulation,\n  forceX: force.forceX,\n  forceY: force.forceY,\n  format: format.format,\n  interpolate: interpolate.interpolate,\n  line: shape.line,\n  max: array.max,\n  min: array.min,\n  mouse: selection.mouse,\n  pie: shape.pie,\n  range: array.range,\n  rgb: color.rgb,\n  selection,\n  select: selection.select,\n  selectAll: selection.selectAll,\n  scaleBand: scales.scaleBand,\n  scaleLinear: scales.scaleLinear,\n  scaleOrdinal: scales.scaleOrdinal,\n  scalePoint: scales.scalePoint,\n  scaleQuantile: scales.scaleQuantile,\n  scaleTime: scales.scaleTime,\n  shape,\n  treemap: hierarchy.treemap,\n  stratify: hierarchy.stratify\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/d3.ts","import {\n  Component,\n  ContentChild,\n  ElementRef,\n  HostListener,\n  Input,\n  TemplateRef,\n  ViewChild,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { ChartComponent } from '../common/charts/chart.component';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport d3 from '../d3';\nimport { ColorHelper } from '../common/color.helper';\n\n@Component({\n  selector: 'ngx-charts-force-directed-graph',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      (legendLabelClick)=\"onClick($event)\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"force-directed-graph chart\">\n        <svg:g class=\"links\">\n          <svg:g *ngFor=\"let link of links; trackBy:trackLinkBy\">\n            <template *ngIf=\"linkTemplate\"\n              [ngTemplateOutlet]=\"linkTemplate\"\n              [ngOutletContext]=\"{ $implicit: link }\">\n            </template>\n            <svg:line *ngIf=\"!linkTemplate\"\n              strokeWidth=\"1\" class=\"edge\"\n              [attr.x1]=\"link.source.x\"\n              [attr.y1]=\"link.source.y\"\n              [attr.x2]=\"link.target.x\"\n              [attr.y2]=\"link.target.y\"\n            />\n          </svg:g>\n        </svg:g>\n        <svg:g class=\"nodes\">\n          <svg:g *ngFor=\"let node of nodes; trackBy:trackNodeBy\"\n            [attr.transform]=\"'translate(' + node.x + ',' + node.y + ')'\"\n            [attr.fill]=\"colors.getColor(groupResultsBy(node))\"\n            [attr.stroke]=\"colors.getColor(groupResultsBy(node))\"\n            (mousedown)=\"onDragStart(node, $event)\"\n            (click)=\"onClick({name: node.value})\"\n            ngx-tooltip\n            [tooltipPlacement]=\"'top'\"\n            [tooltipType]=\"'tooltip'\"\n            [tooltipTitle]=\"node.value\">\n            <template *ngIf=\"nodeTemplate\"\n              [ngTemplateOutlet]=\"nodeTemplate\"\n              [ngOutletContext]=\"{ $implicit: node }\">\n            </template>\n            <svg:circle *ngIf=\"!nodeTemplate\" r=\"5\" />\n          </svg:g>\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ForceDirectedGraphComponent extends BaseChartComponent {\n\n  @Input() force = d3.forceSimulation()\n    .force('charge', d3.forceManyBody())\n    .force('collide', d3.forceCollide(5))\n    .force('x', d3.forceX())\n    .force('y', d3.forceY());\n\n  @Input() forceLink = d3.forceLink().id(node => node.value);\n  @Input() legend: boolean;\n  @Input() nodes: any[] = [];\n  @Input() links: Array<{ source: any, target: any }> = [];\n  @Input() activeEntries: any[] = [];\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  @ContentChild('linkTemplate') linkTemplate: TemplateRef<any>;\n  @ContentChild('nodeTemplate') nodeTemplate: TemplateRef<any>;\n  @ViewChild(ChartComponent, { read: ElementRef }) chart: ElementRef;\n\n  colors: ColorHelper;\n  dims: ViewDimensions;\n  draggingNode: any;\n  draggingStart: { x: number, y: number };\n  margin = [0, 0, 0, 0];\n  results = [];\n  seriesDomain: any;\n  transform: string;\n  legendOptions: any;\n\n  @Input() groupResultsBy: (node: any) => string = node => node.value;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      // center graph\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showLegend: this.legend,\n      });\n\n      this.seriesDomain = this.getSeriesDomain();\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `\n        translate(${ this.dims.xOffset + this.dims.width / 2 }, ${ this.margin[0] + this.dims.height / 2 })\n      `;\n      if(this.force) {\n        this.force.nodes(this.nodes)\n          .force('link', this.forceLink.links(this.links))\n          .alpha(0.5).restart();\n      }\n    });\n  }\n\n  onClick(data, node): void {\n    this.select.emit(data);\n  }\n\n  onActivate(event): void {\n    if(this.activeEntries.indexOf(event) > -1) return;\n    this.activeEntries = [ event, ...this.activeEntries ];\n    this.activate.emit({ value: event, entries: this.activeEntries });\n  }\n\n  onDeactivate(event): void {\n    const idx = this.activeEntries.indexOf(event);\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n  getSeriesDomain(): any[] {\n    return this.nodes.map(d => this.groupResultsBy(d))\n      .reduce((nodes: any[], node): any[] => nodes.includes(node) ? nodes : nodes.concat([node]), [])\n      .sort();\n  }\n\n  trackLinkBy(index, link): any {\n    return link.index;\n  }\n\n  trackNodeBy(index, node): any {\n    return node.value;\n  }\n\n  setColors(): void {\n    this.colors = new ColorHelper(this.scheme, 'ordinal', this.seriesDomain, this.customColors);\n  }\n\n  getLegendOptions() {\n    return {\n      scaleType: 'ordinal',\n      domain: this.seriesDomain,\n      colors: this.colors\n    };\n  }\n\n  // Easier to use Angular2 event management than use d3.drag\n  onDragStart(node, $event: MouseEvent): void {\n    this.force.alphaTarget(0.3).restart();\n    this.draggingNode = node;\n    this.draggingStart = { x: $event.x - node.x, y: $event.y - node.y };\n    this.draggingNode.fx = $event.x - this.draggingStart.x;\n    this.draggingNode.fy = $event.y - this.draggingStart.y;\n  }\n\n  @HostListener('document:mousemove', ['$event'])\n  onDrag($event: MouseEvent): void {\n    if (!this.draggingNode) return;\n\n    this.draggingNode.fx = $event.x - this.draggingStart.x;\n    this.draggingNode.fy = $event.y - this.draggingStart.y;\n  }\n\n  @HostListener('document:mouseup')\n  onDragEnd(node, $event: MouseEvent): void {\n    if (!this.draggingNode) return;\n\n    this.force.alphaTarget(0);\n    this.draggingNode.fx = undefined;\n    this.draggingNode.fy = undefined;\n    this.draggingNode = undefined;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/force-directed-graph/force-directed-graph.component.ts","import { NgModule } from '@angular/core';\nimport { ForceDirectedGraphComponent } from './force-directed-graph.component';\nimport { ChartCommonModule } from '../common/chart-common.module';\n\nexport { ForceDirectedGraphComponent };\n\n@NgModule({\n  imports: [ChartCommonModule],\n  declarations: [\n    ForceDirectedGraphComponent,\n  ],\n  exports: [\n    ForceDirectedGraphComponent,\n  ]\n})\nexport class ForceDirectedGraphModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/force-directed-graph/force-directed-graph.module.ts","export * from './force-directed-graph.module';\nexport * from './force-directed-graph.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/force-directed-graph/index.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { ColorHelper } from '../common/color.helper';\n\n@Component({\n  selector: 'g[ngx-charts-gauge-arc]',\n  template: `\n    <svg:g ngx-charts-pie-arc\n        class=\"background-arc\"\n        [startAngle]=\"0\"\n        [endAngle]=\"backgroundArc.endAngle\"\n        [innerRadius]=\"backgroundArc.innerRadius\"\n        [outerRadius]=\"backgroundArc.outerRadius\"\n        [cornerRadius]=\"cornerRadius\"\n        [data]=\"backgroundArc.data\"\n        [animate]=\"false\"\n        [pointerEvents]=\"false\">\n    </svg:g>\n    <svg:g ngx-charts-pie-arc\n        [startAngle]=\"0\"\n        [endAngle]=\"valueArc.endAngle\"\n        [innerRadius]=\"valueArc.innerRadius\"\n        [outerRadius]=\"valueArc.outerRadius\"\n        [cornerRadius]=\"cornerRadius\"\n        [fill]=\"colors.getColor(valueArc.data.value)\"\n        [data]=\"valueArc.data\"\n        [animate]=\"true\"\n        (select)=\"select.emit($event)\">\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GaugeArcComponent {\n\n  @Input() backgroundArc: any;\n  @Input() valueArc: any;\n  @Input() cornerRadius: any;\n  @Input() colors: ColorHelper;\n\n  @Output() select = new EventEmitter();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/gauge/gauge-arc.component.ts","import {\n  Component,\n  Input,\n  OnChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport d3 from '../d3';\n\n@Component({\n  selector: 'g[ngx-charts-gauge-axis]',\n  template: `\n    <svg:g [attr.transform]=\"rotate\">\n        <svg:g *ngFor=\"let tick of ticks.big\"\n            class=\"gauge-tick gauge-tick-large\">\n            <svg:path [attr.d]=\"tick.line\" />\n        </svg:g>\n        <svg:g *ngFor=\"let tick of ticks.big\"\n            class=\"gauge-tick gauge-tick-large\">\n            <svg:text\n                [style.textAnchor]=\"tick.textAnchor\"\n                [attr.transform]=\"tick.textTransform\"\n                alignment-baseline=\"central\">\n                {{tick.text}}\n            </svg:text>\n        </svg:g>\n        <svg:g *ngFor=\"let tick of ticks.small\"\n            class=\"gauge-tick gauge-tick-small\">\n            <svg:path [attr.d]=\"tick.line\" />\n        </svg:g>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class GaugeAxisComponent implements OnChanges {\n  @Input() bigSegments: any;\n  @Input() smallSegments: any;\n  @Input() min: any;\n  @Input() max: any;\n  @Input() angleSpan: number;\n  @Input() startAngle: number;\n  @Input() radius: any;\n  @Input() valueScale: any;\n\n  ticks: any[];\n  rotationAngle: number;\n  rotate: string = '';\n\n  ngOnChanges() {\n    this.update();\n  }\n\n  update(): void {\n    this.rotationAngle = -90 + this.startAngle;\n    this.rotate = `rotate(${ this.rotationAngle })`;\n    this.ticks = this.getTicks();\n  }\n\n  getTicks(): any {\n    let bigTickSegment = this.angleSpan / this.bigSegments;\n    let smallTickSegment = bigTickSegment / (this.smallSegments);\n    let tickLength = 20;\n    let ticks = {\n      big: [],\n      small: []\n    };\n\n    let startDistance = this.radius + 10;\n    let textDist = startDistance + tickLength + 10;\n\n    for (let i = 0; i <= this.bigSegments; i++) {\n      let angleDeg = i * bigTickSegment;\n      let angle = angleDeg * Math.PI / 180;\n\n      let textAnchor = this.getTextAnchor(angleDeg);\n\n      ticks.big.push({\n        line: this.getTickPath(startDistance, tickLength, angle),\n        textAnchor,\n        text: Number.parseInt(this.valueScale.invert(angleDeg).toString()).toLocaleString(),\n        textTransform: `\n          translate(${textDist * Math.cos(angle)}, ${textDist * Math.sin(angle)}) rotate(${ -this.rotationAngle })\n        `\n      });\n\n      if (i === this.bigSegments) {\n        continue;\n      }\n\n      for (let j = 1; j <= this.smallSegments; j++) {\n        let smallAngleDeg = angleDeg + j * smallTickSegment;\n        let smallAngle = smallAngleDeg * Math.PI / 180;\n\n        ticks.small.push({\n          line: this.getTickPath(startDistance, tickLength / 2, smallAngle)\n        });\n      }\n    }\n\n    return ticks;\n  }\n\n  getTextAnchor(angle) {\n    // [0, 45] = 'middle';\n    // [46, 135] = 'start';\n    // [136, 225] = 'middle';\n    // [226, 315] = 'end';\n\n    angle = (this.startAngle + angle) % 360;\n    let textAnchor = 'middle';\n    if (angle > 45 && angle <= 135) {\n      textAnchor = 'start';\n    } else if (angle > 225 && angle <= 315) {\n      textAnchor = 'end';\n    }\n    return textAnchor;\n  }\n\n  getTickPath(startDistance, tickLength, angle): any {\n    let y1 = startDistance * Math.sin(angle);\n    let y2 = (startDistance + tickLength) * Math.sin(angle);\n    let x1 = startDistance * Math.cos(angle);\n    let x2 = (startDistance + tickLength) * Math.cos(angle);\n\n    let points = [{x: x1, y: y1}, {x: x2, y: y2}];\n    let line = d3.line().x(d => d.x).y(d => d.y);\n    return line(points);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/gauge/gauge-axis.component.ts","import {\n  Component,\n  Input,\n  ElementRef,\n  ViewChild,\n  AfterViewInit,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport d3 from '../d3';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\n\n@Component({\n  selector: 'ngx-charts-gauge',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"false\">\n      <svg:g [attr.transform]=\"transform\" class=\"gauge chart\">\n        <svg:g *ngFor=\"let arc of arcs\" [attr.transform]=\"rotation\">\n          <svg:g ngx-charts-gauge-arc\n            [backgroundArc]=\"arc.backgroundArc\"\n            [valueArc]=\"arc.valueArc\"\n            [cornerRadius]=\"cornerRadius\"\n            [colors]=\"colors\"\n            (select)=\"onClick($event)\">\n          </svg:g>\n        </svg:g>\n\n        <svg:g ngx-charts-gauge-axis\n          *ngIf=\"showAxis\"\n          [bigSegments]=\"bigSegments\"\n          [smallSegments]=\"smallSegments\"\n          [min]=\"min\"\n          [max]=\"max\"\n          [radius]=\"outerRadius\"\n          [angleSpan]=\"angleSpan\"\n          [valueScale]=\"valueScale\"\n          [startAngle]=\"startAngle\">\n        </svg:g>\n\n        <svg:text #textEl\n            [style.textAnchor]=\"'middle'\"\n            [attr.transform]=\"textTransform\"\n            alignment-baseline=\"central\">\n          <tspan x=\"0\" dy=\"0\">{{displayValue}}</tspan>\n          <tspan x=\"0\" dy=\"1.2em\">{{units}}</tspan>\n        </svg:text>\n\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class GaugeComponent extends BaseChartComponent implements AfterViewInit {\n\n  @Input() min: number = 0;\n  @Input() max: number = 100;\n  @Input() units: string;\n  @Input() bigSegments: number = 10;\n  @Input() smallSegments: number = 5;\n  @Input() results: any[];\n  @Input() showAxis: boolean = true;\n  @Input() startAngle: number = -120;\n  @Input() angleSpan: number = 240;\n  @Input() schemeType: string = 'ordinal';\n\n  @ViewChild('textEl') textEl: ElementRef;\n\n  dims: ViewDimensions;\n  domain: any[];\n  valueDomain: any;\n  valueScale: any;\n\n  colors: ColorHelper;\n  transform: string;\n  margin: any[];\n\n  outerRadius: number;\n  textRadius: number; // max available radius for the text\n  resizeScale: number = 1;\n  rotation: string = '';\n  textTransform: string = '';\n  cornerRadius: number = 10;\n  arcs: any[];\n  displayValue: string;\n\n  ngAfterViewInit(): void {\n    super.ngAfterViewInit();\n    setTimeout(() => this.scaleText());\n  }\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      if (!this.showAxis) {\n        this.margin = [10, 20, 10, 20];\n      } else {\n        this.margin = [60, 100, 60, 100];\n      }\n\n      // make the starting angle positive\n      if (this.startAngle < 0) {\n        this.startAngle = (this.startAngle % 360) + 360;\n      }\n\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin\n      });\n\n      this.domain = this.getDomain();\n      this.valueDomain = this.getValueDomain();\n      this.valueScale = this.getValueScale();\n      this.displayValue = this.getDisplayValue();\n\n      this.outerRadius = Math.min(this.dims.width, this.dims.height) / 2;\n\n      this.arcs = this.getArcs();\n\n      this.setColors();\n\n      let xOffset = this.margin[3] + this.dims.width / 2;\n      let yOffset = this.margin[0] + this.dims.height / 2;\n\n      this.transform = `translate(${ xOffset }, ${ yOffset })`;\n      this.rotation = `rotate(${ this.startAngle })`;\n      this.scaleText();\n    });\n  }\n\n  getArcs(): any[] {\n    let arcs = [];\n\n    let availableRadius = this.outerRadius * 0.7;\n\n    let radiusPerArc = Math.min(availableRadius / this.results.length, 10);\n    let arcWidth = radiusPerArc * 0.7;\n    this.textRadius = this.outerRadius - this.results.length * radiusPerArc;\n    this.cornerRadius = Math.floor(arcWidth / 2);\n\n    let i = 0;\n    for (let d of this.results) {\n      let outerRadius = this.outerRadius - (i * radiusPerArc);\n      let innerRadius = outerRadius - arcWidth;\n\n      let backgroundArc = {\n        endAngle: this.angleSpan * Math.PI / 180,\n        innerRadius,\n        outerRadius,\n        data: {\n          value: this.max,\n          name: d.name\n        }\n      };\n\n      let valueArc = {\n        endAngle: Math.min(this.valueScale(d.value), this.angleSpan) * Math.PI / 180,\n        innerRadius,\n        outerRadius,\n        data: {\n          value: d.value,\n          name: d.name\n        }\n      };\n\n      let arc = {\n        backgroundArc,\n        valueArc\n      };\n\n      arcs.push(arc);\n      i++;\n    }\n\n    return arcs;\n  }\n\n  getDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  getValueDomain(): any[] {\n    let values = this.results.map(d => d.value);\n    let dataMin = Math.min(...values);\n    let dataMax = Math.max(...values);\n\n    if (this.min !== undefined) {\n      this.min = Math.min(this.min, dataMin);\n    } else {\n      this.min = dataMin;\n    }\n\n    if (this.max !== undefined) {\n      this.max = Math.max(this.max, dataMax);\n    } else {\n      this.max = dataMax;\n    }\n\n    return [this.min, this.max];\n  }\n\n  getValueScale(): any {\n    return d3.scaleLinear()\n      .range([0, this.angleSpan])\n      .domain(this.valueDomain);\n  }\n\n  getDisplayValue(): string {\n    let value = this.results.map(d => d.value).reduce((a, b) => { return a + b; }, 0);\n    return value.toLocaleString();\n  }\n\n  scaleText(): void {\n    const { width } = this.textEl.nativeElement.getBoundingClientRect();\n    if (width === 0) return;\n\n    const oldScale = this.resizeScale;\n    const availableSpace = this.textRadius;\n    this.resizeScale = Math.floor((availableSpace / (width / this.resizeScale)) * 100) / 100;\n\n    if (this.resizeScale !== oldScale) {\n      this.textTransform = `scale(${this.resizeScale}, ${this.resizeScale})`;\n      this.cd.markForCheck();\n      setTimeout(() => { this.scaleText(); });\n    }\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  setColors(): void {\n    this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/gauge/gauge.component.ts","import { NgModule } from '@angular/core';\nimport { ChartCommonModule } from '../common/chart-common.module';\nimport { LinearGaugeComponent } from './linear-gauge.component';\nimport { GaugeComponent } from './gauge.component';\nimport { GaugeArcComponent } from './gauge-arc.component';\nimport { GaugeAxisComponent } from './gauge-axis.component';\nimport { PieChartModule } from '../pie-chart/pie-chart.module';\nimport { BarChartModule } from '../bar-chart/bar-chart.module';\n\nexport { GaugeComponent, GaugeArcComponent, GaugeAxisComponent, LinearGaugeComponent };\n\n@NgModule({\n  imports: [ChartCommonModule, PieChartModule, BarChartModule],\n  declarations: [\n    LinearGaugeComponent,\n    GaugeComponent,\n    GaugeArcComponent,\n    GaugeAxisComponent\n  ],\n  exports: [\n    LinearGaugeComponent,\n    GaugeComponent,\n    GaugeArcComponent,\n    GaugeAxisComponent\n  ]\n})\nexport class GaugeModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/gauge/gauge.module.ts","export * from './gauge.module';\nexport * from './gauge.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/gauge/index.ts","import {\n  Component,\n  Input,\n  ElementRef,\n  ViewChild,\n  AfterViewInit,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport d3 from '../d3';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\n\n@Component({\n  selector: 'ngx-charts-linear-gauge',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"false\"\n      (click)=\"onClick()\">\n      <svg:g class=\"linear-gauge chart\">\n        <svg:g ngx-charts-bar \n          class=\"background-bar\"\n          [width]=\"dims.width\"\n          [height]=\"3\"\n          [x]=\"margin[3]\"\n          [y]=\"dims.height / 2 + margin[0] - 2\"\n          [data]=\"{}\"\n          [orientation]=\"'horizontal'\"\n          [roundEdges]=\"true\">\n        </svg:g>\n        <svg:g ngx-charts-bar \n          [width]=\"valueScale(value)\"\n          [height]=\"3\"\n          [x]=\"margin[3]\"\n          [y]=\"dims.height / 2 + margin[0] - 2\"\n          [fill]=\"colors.getColor(units)\"\n          [data]=\"{}\"\n          [orientation]=\"'horizontal'\"\n          [roundEdges]=\"true\">\n        </svg:g>\n\n        <svg:line \n          *ngIf=\"hasPreviousValue\"\n          [attr.transform]=\"transformLine\"\n          x1=\"0\"\n          y1=\"5\" \n          x2=\"0\"\n          y2=\"15\"\n          [attr.stroke]=\"colors.getColor(units)\"          \n        />\n\n        <svg:line \n          *ngIf=\"hasPreviousValue\"\n          [attr.transform]=\"transformLine\"\n          x1=\"0\"\n          y1=\"-5\" \n          x2=\"0\"\n          y2=\"-15\"\n          [attr.stroke]=\"colors.getColor(units)\"          \n        />\n        \n        <svg:g [attr.transform]=\"transform\">        \n          <svg:g [attr.transform]=\"valueTranslate\">\n            <svg:text #valueTextEl\n              class=\"value\"\n              [style.textAnchor]=\"'middle'\"\n              [attr.transform]=\"valueTextTransform\"          \n              alignment-baseline=\"after-edge\">\n              {{displayValue}}\n            </svg:text>        \n          </svg:g>\n          \n          <svg:g [attr.transform]=\"unitsTranslate\">\n            <svg:text #unitsTextEl\n              class=\"units\"\n              [style.textAnchor]=\"'middle'\"\n              [attr.transform]=\"unitsTextTransform\"          \n              alignment-baseline=\"before-edge\">\n              {{units}}\n            </svg:text>        \n          </svg:g>\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LinearGaugeComponent extends BaseChartComponent implements AfterViewInit {\n\n  @Input() min: number = 0;\n  @Input() max: number = 100;\n  @Input() value: number = 0;\n  @Input() units: string;\n  @Input() previousValue;\n\n  @ViewChild('valueTextEl') valueTextEl: ElementRef;\n  @ViewChild('unitsTextEl') unitsTextEl: ElementRef;\n\n  dims: ViewDimensions;\n  valueDomain: any;\n  valueScale: any;\n\n  colors: ColorHelper;\n  transform: string;\n  margin: any[] = [10, 20, 10, 20];\n  transformLine: string;\n  \n  valueResizeScale: number = 1;\n  unitsResizeScale: number = 1;\n  valueTextTransform: string = '';\n  valueTranslate: string= '';\n  unitsTextTransform: string = '';\n  unitsTranslate: string = '';\n  displayValue: string;\n  hasPreviousValue: boolean;\n\n  ngAfterViewInit(): void {\n    super.ngAfterViewInit();\n    setTimeout(() => {\n      this.scaleText('value');\n      this.scaleText('units');\n    });\n  }\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.hasPreviousValue = this.previousValue !== undefined;\n      this.max = Math.max(this.max, this.value);\n      this.min = Math.min(this.min, this.value);\n      if (this.hasPreviousValue) {\n        this.max = Math.max(this.max, this.previousValue);\n        this.min = Math.min(this.min, this.previousValue);\n      }\n\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin\n      });\n\n      this.valueDomain = this.getValueDomain();\n      this.valueScale = this.getValueScale();\n      this.displayValue = this.getDisplayValue();\n\n      this.setColors();\n \n      let xOffset = this.margin[3] + this.dims.width / 2;\n      let yOffset = this.margin[0] + this.dims.height / 2;\n\n      this.transform = `translate(${ xOffset }, ${ yOffset })`;\n      this.transformLine = `translate(${ this.margin[3] + this.valueScale(this.previousValue) }, ${ yOffset })`;\n      this.valueTranslate = `translate(0, -15)`;\n      this.unitsTranslate = `translate(0, 15)`;\n      this.scaleText('value');\n      this.scaleText('units');\n    });\n  }\n\n  getValueDomain(): any[] {\n    return [this.min, this.max];\n  }\n\n  getValueScale(): any {\n    return d3.scaleLinear()\n      .range([0, this.dims.width])\n      .domain(this.valueDomain);\n  }\n\n  getDisplayValue(): string {\n    return this.value.toLocaleString();\n  }\n\n  scaleText(element): void {\n    let el;\n    let resizeScale;\n    if (element === 'value') {\n      el = this.valueTextEl;\n      resizeScale = this.valueResizeScale;\n    } else {\n      el = this.unitsTextEl;\n      resizeScale = this.unitsResizeScale;\n    }\n\n    const { width, height } = el.nativeElement.getBoundingClientRect();\n    if (width === 0 || height === 0) return;\n    const oldScale = resizeScale;\n    const availableWidth = this.dims.width;\n    const availableHeight = Math.max(this.dims.height / 2 - 15, 0);\n    let resizeScaleWidth = Math.floor((availableWidth / (width / resizeScale)) * 100) / 100;\n    let resizeScaleHeight = Math.floor((availableHeight / (height / resizeScale)) * 100) / 100;\n    resizeScale = Math.min(resizeScaleHeight, resizeScaleWidth);\n    \n    if (resizeScale !== oldScale) {\n      if (element === 'value') {\n        this.valueResizeScale = resizeScale;\n        this.valueTextTransform = `scale(${ resizeScale }, ${ resizeScale })`;\n      } else {\n        this.unitsResizeScale = resizeScale;\n        this.unitsTextTransform = `scale(${ resizeScale }, ${ resizeScale })`;\n      }\n      \n      this.cd.markForCheck();\n      setTimeout(() => { this.scaleText(element); });\n    }\n  }\n\n  onClick(): void {\n    this.select.emit({\n      name: 'Value',\n      value: this.value  \n    });\n  }\n\n  setColors(): void {\n    this.colors = new ColorHelper(this.scheme, 'ordinal', [this.value], this.customColors);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/gauge/linear-gauge.component.ts","import {\n  Component,\n  Input,\n  SimpleChanges,\n  Output,\n  EventEmitter,\n  OnChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-heat-map-cell-series]',\n  template: `\n    <svg:g\n      ngx-charts-heat-map-cell\n      *ngFor=\"let c of cells; trackBy:trackBy\"\n      [x]=\"c.x\"\n      [y]=\"c.y\"\n      [width]=\"c.width\"\n      [height]=\"c.height\"\n      [fill]=\"c.fill\"\n      [data]=\"c.data\"\n      (select)=\"onClick($event, c.label, c.series)\"\n      [gradient]=\"gradient\"\n      ngx-tooltip\n      [tooltipPlacement]=\"'top'\"\n      [tooltipType]=\"'tooltip'\"\n      [tooltipTitle]=\"getTooltipText(c)\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeatCellSeriesComponent implements OnChanges {\n\n  @Input() data;\n  @Input() colors;\n  @Input() xScale;\n  @Input() yScale;\n  @Input() gradient: boolean;\n\n  @Output() select = new EventEmitter();\n\n  cells: any[];\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.cells = this.getCells();\n  }\n\n  getCells() {\n    let cells = [];\n\n    this.data.map((row) => {\n      row.series.map((cell) => {\n        let value = cell.value;\n\n        let label = cell.name;\n        let tooltipLabel = label;\n        if (tooltipLabel.constructor.name === 'Date') {\n          tooltipLabel = tooltipLabel.toLocaleDateString();\n        }\n\n        cells.push({\n          x: this.xScale(row.name),\n          y: this.yScale(cell.name),\n          width: this.xScale.bandwidth(),\n          height: this.yScale.bandwidth(),\n          fill: this.colors.getColor(value),\n          data: value,\n          label,\n          series: row.name\n        });\n      });\n    });\n\n    return cells;\n  }\n\n  getTooltipText({ label, data, series }): string {\n    return `\n      <span class=\"tooltip-label\">${series} • ${label}</span>\n      <span class=\"tooltip-val\">${data.toLocaleString()}</span>\n    `;\n  }\n\n  trackBy(index, item): string {\n    return item.tooltipText;\n  }\n\n  onClick(value, label, series): void {\n    this.select.emit({\n      name: label,\n      value,\n      series\n    });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/heat-map/heat-map-cell-series.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  SimpleChanges,\n  ElementRef,\n  OnChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { id } from '../utils/id';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'g[ngx-charts-heat-map-cell]',\n  template: `\n    <svg:g [attr.transform]=\"transform\" class=\"cell\">\n      <defs *ngIf=\"gradient\">\n        <svg:g ngx-charts-svg-linear-gradient\n          [color]=\"fill\"\n          orientation=\"vertical\"\n          [name]=\"gradientId\"\n          [stops]=\"circle.gradientStops\"\n        />\n      </defs>\n      <svg:rect\n        [attr.fill]=\"gradient ? gradientUrl : fill\"\n        rx=\"3\"\n        [attr.width]=\"width\"\n        [attr.height]=\"height\"\n        class=\"cell\"\n        style=\"cursor: pointer\"\n        (click)=\"onClick()\"\n      />\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class HeatMapCellComponent implements OnChanges {\n\n  @Input() fill;\n  @Input() x;\n  @Input() y;\n  @Input() width;\n  @Input() height;\n  @Input() data;\n  @Input() label;\n  @Input() gradient: boolean = false;\n\n  @Output() select = new EventEmitter();\n\n  element: HTMLElement;\n  transform: string;\n  activeRange: any[];\n  startOpacity: number;\n  gradientId: string;\n  gradientUrl: string;\n  gradientStops: any[];\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.transform = `translate(${this.x} , ${this.y})`;\n    let pageUrl = window.location.href;\n    this.startOpacity = 0.3;\n    this.gradientId = 'grad' + id().toString();\n    this.gradientUrl = `url(${pageUrl}#${this.gradientId})`;\n    this.gradientStops = this.getGradientStops();\n\n    this.loadAnimation();\n  }\n\n  getGradientStops() {\n    return [\n      {\n        offset: 0,\n        color: this.fill,\n        opacity: this.startOpacity\n      },\n      {\n        offset: 100,\n        color: this.fill,\n        opacity: 1\n    }];\n  }\n\n  loadAnimation(): void {\n    let node = d3.select(this.element).select('.cell');\n    node.attr('opacity', 0);\n    this.animateToCurrentForm();\n  }\n\n  animateToCurrentForm(): void {\n    let node = d3.select(this.element).select('.cell');\n\n    node.transition().duration(750)\n      .attr('opacity', 1);\n  }\n\n  onClick() {\n    this.select.emit(this.data);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/heat-map/heat-map-cell.component.ts","import {\n  Component,\n  Input,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport d3 from '../d3';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\n\n@Component({\n  selector: 'ngx-charts-heat-map',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\"\n      (legendLabelClick)=\"onClick($event)\">\n      <svg:g [attr.transform]=\"transform\" class=\"heat-map chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:rect *ngFor=\"let rect of rects\"\n          [attr.x]=\"rect.x\"\n          [attr.y]=\"rect.y\"\n          [attr.rx]=\"rect.rx\"\n          [attr.width]=\"rect.width\"\n          [attr.height]=\"rect.height\"\n          [attr.fill]=\"rect.fill\"\n        />\n        <svg:g ngx-charts-heat-map-cell-series\n          [xScale]=\"xScale\"\n          [yScale]=\"yScale\"\n          [colors]=\"colors\"\n          [data]=\"results\"\n          [gradient]=\"gradient\"\n          (select)=\"onClick($event)\"\n        />\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HeatMapComponent extends BaseChartComponent {\n\n  @Input() legend;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() gradient: boolean;\n\n  dims: ViewDimensions;\n  xDomain: any[];\n  yDomain: any[];\n  valueDomain: any[];\n  xScale: any;\n  yScale: any;\n  color: any;\n  colors: ColorHelper;\n  colorScale: any;\n  transform: string;\n  rects: any[];\n  margin = [10, 20, 10, 20];\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: 'linear'\n      });\n\n      this.formatDates();\n\n      this.xDomain = this.getXDomain();\n      this.yDomain = this.getYDomain();\n      this.valueDomain = this.getValueDomain();\n\n      this.xScale = this.getXScale();\n      this.yScale = this.getYScale();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n      this.rects = this.getRects();\n    });\n  }\n\n  getXDomain(): any {\n    let domain = [];\n    for (let group of this.results) {\n      if (!domain.includes(group.name)) {\n        domain.push(group.name);\n      }\n    }\n\n    return domain;\n  }\n\n  getYDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.name)) {\n          domain.push(d.name);\n        }\n      }\n    }\n\n    return domain;\n  }\n\n  getValueDomain(): any[] {\n    let domain = [];\n\n    for (let group of this.results) {\n      for (let d of group.series) {\n        if (!domain.includes(d.value)) {\n          domain.push(d.value);\n        }\n      }\n    }\n\n    let min = Math.min(0, ...domain);\n    let max = Math.max(...domain);\n\n    return [min, max];\n  }\n\n  getXScale(): any {\n    return d3.scaleBand()\n      .rangeRound([0, this.dims.width])\n      .paddingInner(0.1)\n      .domain(this.xDomain);\n  }\n\n  getYScale(): any {\n    return d3.scaleBand()\n      .rangeRound([this.dims.height, 0])\n      .paddingInner(0.1)\n      .domain(this.yDomain);\n  }\n\n  getRects(): any[] {\n    let rects = [];\n\n    this.xDomain.map((xVal) => {\n      this.yDomain.map((yVal) => {\n        rects.push({\n          x: this.xScale(xVal),\n          y: this.yScale(yVal),\n          rx: 3,\n          width: this.xScale.bandwidth(),\n          height: this.yScale.bandwidth(),\n          fill: 'rgba(200,200,200,0.03)'\n        });\n      });\n    });\n\n    return rects;\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  setColors(): void {\n    this.colors = new ColorHelper(this.scheme, 'linear', this.valueDomain);\n  }\n\n  getLegendOptions() {\n    return {\n      scaleType: 'linear',\n      domain: this.valueDomain,\n      colors: this.colors.scale\n    };\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/heat-map/heat-map.component.ts","import { NgModule } from '@angular/core';\nimport { ChartCommonModule } from '../common/chart-common.module';\nimport { HeatMapCellComponent } from './heat-map-cell.component';\nimport { HeatCellSeriesComponent } from './heat-map-cell-series.component';\nimport { HeatMapComponent } from './heat-map.component';\n\nexport { HeatMapCellComponent, HeatCellSeriesComponent, HeatMapComponent };\n\n@NgModule({\n  imports: [ChartCommonModule],\n  declarations: [\n    HeatMapCellComponent,\n    HeatCellSeriesComponent,\n    HeatMapComponent\n  ],\n  exports: [\n    HeatMapCellComponent,\n    HeatCellSeriesComponent,\n    HeatMapComponent\n  ]\n})\nexport class HeatMapModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/heat-map/heat-map.module.ts","export * from './heat-map.module';\nexport * from './heat-map.component';\nexport * from './heat-map-cell.component';\nexport * from './heat-map-cell-series.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/heat-map/index.ts","export * from './ngx-charts.module';\nexport * from './common';\nexport * from './area-chart';\nexport * from './bar-chart';\nexport * from './force-directed-graph';\nexport * from './heat-map';\nexport * from './line-chart';\nexport * from './number-card';\nexport * from './pie-chart';\nexport * from './tree-map';\nexport * from './gauge';\n\n\n\n// WEBPACK FOOTER //\n// ./src/index.ts","export * from './line-chart.module';\nexport * from './line-chart.component';\nexport * from './line.component';\nexport * from './line-series.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/line-chart/index.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  HostListener,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport { id } from '../utils/id';\nimport d3 from '../d3';\nimport * as moment from 'moment';\n\n@Component({\n  selector: 'ngx-charts-line-chart',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelClick)=\"onClick($event)\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\">\n      <svg:defs>\n        <svg:clipPath [attr.id]=\"clipPathId\">\n          <svg:rect\n            [attr.width]=\"dims.width + 10\"\n            [attr.height]=\"dims.height + 10\"\n            [attr.transform]=\"'translate(-5, -5)'\"/>\n        </svg:clipPath>\n      </svg:defs>\n      <svg:g [attr.transform]=\"transform\" class=\"line-chart chart\">\n        <svg:g ngx-charts-x-axis\n          *ngIf=\"xAxis\"\n          [xScale]=\"xScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showXAxisLabel\"\n          [labelText]=\"xAxisLabel\"\n          (dimensionsChanged)=\"updateXAxisHeight($event)\">\n        </svg:g>\n        <svg:g ngx-charts-y-axis\n          *ngIf=\"yAxis\"\n          [yScale]=\"yScale\"\n          [dims]=\"dims\"\n          [showGridLines]=\"showGridLines\"\n          [showLabel]=\"showYAxisLabel\"\n          [labelText]=\"yAxisLabel\"\n          (dimensionsChanged)=\"updateYAxisWidth($event)\">\n        </svg:g>\n        <svg:g [attr.clip-path]=\"clipPath\">\n          <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n            <svg:g ngx-charts-line-series\n              [xScale]=\"xScale\"\n              [yScale]=\"yScale\"\n              [colors]=\"colors\"\n              [data]=\"series\"\n              [activeEntries]=\"activeEntries\"\n              [scaleType]=\"scaleType\"\n              [curve]=\"curve\"\n            />\n          </svg:g>\n          <svg:g ngx-charts-area-tooltip\n            [xSet]=\"xSet\"\n            [xScale]=\"xScale\"\n            [yScale]=\"yScale\"\n            [results]=\"results\"\n            [height]=\"dims.height\"\n            [colors]=\"colors\"\n            (hover)=\"updateHoveredVertical($event)\"\n          />\n          <svg:g *ngFor=\"let series of results\">\n            <svg:g ngx-charts-circle-ceries\n              [xScale]=\"xScale\"\n              [yScale]=\"yScale\"\n              [colors]=\"colors\"\n              [data]=\"series\"\n              [scaleType]=\"scaleType\"\n              [visibleValue]=\"hoveredVertical\"\n              [activeEntries]=\"activeEntries\"\n              (select)=\"onClick($event, series)\"\n              (activate)=\"onActivate($event)\"\n              (deactivate)=\"onDeactivate($event)\"\n            />\n          </svg:g>\n        </svg:g>\n      </svg:g>\n      <svg:g ngx-charts-timeline\n        *ngIf=\"timeline && scaleType === 'time'\"\n        [attr.transform]=\"timelineTransform\"\n        [results]=\"results\"\n        [view]=\"[timelineWidth, height]\"\n        [height]=\"timelineHeight\"\n        [scheme]=\"scheme\"\n        [customColors]=\"customColors\"\n        [scaleType]=\"scaleType\"\n        [legend]=\"legend\"\n        (onDomainChange)=\"updateDomain($event)\">\n        <svg:g *ngFor=\"let series of results; trackBy:trackBy\">\n          <svg:g ngx-charts-line-series\n            [xScale]=\"timelineXScale\"\n            [yScale]=\"timelineYScale\"\n            [colors]=\"colors\"\n            [data]=\"series\"\n            [scaleType]=\"scaleType\"\n            [curve]=\"curve\"\n          />\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LineChartComponent extends BaseChartComponent {\n\n  @Input() legend;\n  @Input() xAxis;\n  @Input() yAxis;\n  @Input() showXAxisLabel;\n  @Input() showYAxisLabel;\n  @Input() xAxisLabel;\n  @Input() yAxisLabel;\n  @Input() autoScale;\n  @Input() timeline;\n  @Input() gradient: boolean;\n  @Input() showGridLines: boolean = true;\n  @Input() curve = d3.shape.curveLinear;\n  @Input() activeEntries: any[] = [];\n  @Input() schemeType: string;\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  dims: ViewDimensions;\n  xSet: any;\n  xDomain: any;\n  yDomain: any;\n  seriesDomain: any;\n  yScale: any;\n  xScale: any;\n  colors: ColorHelper;\n  scaleType: string;\n  transform: string;\n  clipPath: string;\n  clipPathId: string;\n  series: any;\n  areaPath: any;\n  margin = [10, 20, 10, 20];\n  hoveredVertical: any; // the value of the x axis that is hovered over\n  xAxisHeight: number = 0;\n  yAxisWidth: number = 0;\n  filteredDomain: any;\n  legendOptions: any;\n\n  timelineWidth: any;\n  timelineHeight: number = 50;\n  timelineXScale: any;\n  timelineYScale: any;\n  timelineXDomain: any;\n  timelineTransform: any;\n  timelinePadding: number = 10;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showXAxis: this.xAxis,\n        showYAxis: this.yAxis,\n        xAxisHeight: this.xAxisHeight,\n        yAxisWidth: this.yAxisWidth,\n        showXLabel: this.showXAxisLabel,\n        showYLabel: this.showYAxisLabel,\n        showLegend: this.legend,\n        legendType: this.schemeType\n      });\n\n      if (this.timeline) {\n        this.dims.height -= (this.timelineHeight + this.margin[2] + this.timelinePadding);\n      }\n\n      this.xDomain = this.getXDomain();\n      if (this.filteredDomain) {\n        this.xDomain = this.filteredDomain;\n      }\n\n      this.yDomain = this.getYDomain();\n      this.seriesDomain = this.getSeriesDomain();\n\n      this.xScale = this.getXScale(this.xDomain, this.dims.width);\n      this.yScale = this.getYScale(this.yDomain, this.dims.height);\n\n      this.updateTimeline();\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n      let pageUrl = window.location.href;\n      this.clipPathId = 'clip' + id().toString();\n      this.clipPath = `url(${pageUrl}#${this.clipPathId})`;\n    });\n  }\n\n  updateTimeline(): void {\n    if (this.timeline) {\n      this.timelineWidth = this.width;\n\n      if (this.legend) {\n        this.timelineWidth = this.dims.width;\n      }\n\n      this.timelineXDomain = this.getXDomain();\n      this.timelineXScale = this.getXScale(this.timelineXDomain, this.timelineWidth);\n      this.timelineYScale = this.getYScale(this.yDomain, this.timelineHeight);\n      this.timelineTransform = `translate(${ this.dims.xOffset }, ${ -this.margin[2] })`;\n    }\n  }\n\n  getXDomain(): any[] {\n    let values = [];\n\n    for (let results of this.results) {\n      for (let d of results.series){\n        if (!values.includes(d.name)) {\n          values.push(d.name);\n        }\n      }\n    }\n\n    this.scaleType = this.getScaleType(values);\n    let domain = [];\n\n    if (this.scaleType === 'time') {\n      values = values.map(v => moment(v).toDate());\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [min, max];\n    } else if (this.scaleType === 'linear') {\n      values = values.map(v => Number(v));\n      let min = Math.min(...values);\n      let max = Math.max(...values);\n      domain = [min, max];\n    } else {\n      domain = values;\n    }\n\n    this.xSet = values;\n    return domain;\n  }\n\n  getYDomain(): any[] {\n    let domain = [];\n\n    for (let results of this.results) {\n      for (let d of results.series){\n        if (!domain.includes(d.value)) {\n          domain.push(d.value);\n        }\n      }\n    }\n\n    let min = Math.min(...domain);\n    let max = Math.max(...domain);\n    if (!this.autoScale) {\n      min = Math.min(0, min);\n    }\n\n    return [min, max];\n  }\n\n  getSeriesDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  getXScale(domain, width): any {\n    let scale;\n\n    if (this.scaleType === 'time') {\n      scale = d3.scaleTime()\n        .range([0, width])\n        .domain(domain);\n    } else if (this.scaleType === 'linear') {\n      scale = d3.scaleLinear()\n        .range([0, width])\n        .domain(domain);\n    } else if (this.scaleType === 'ordinal') {\n      scale = d3.scalePoint()\n        .range([0, width])\n        .padding(0.1)\n        .domain(domain);\n    }\n\n    return scale;\n  }\n\n  getYScale(domain, height): any {\n    return d3.scaleLinear()\n      .range([height, 0])\n      .domain(domain);\n  }\n\n  getScaleType(values): string {\n    let date = true;\n    let num = true;\n\n    for (let value of values) {\n      if (!this.isDate(value)) {\n        date = false;\n      }\n\n      if (typeof value !== 'number') {\n        num = false;\n      }\n    }\n\n    if (date) return 'time';\n    if (num) return 'linear';\n    return 'ordinal';\n  }\n\n  isDate(value): boolean {\n    if (value instanceof Date) {\n      return true;\n    }\n\n    return false;\n  }\n\n  updateDomain(domain): void {\n    this.filteredDomain = domain;\n    this.xDomain = this.filteredDomain;\n    this.xScale = this.getXScale(this.xDomain, this.dims.width);\n  }\n\n  updateHoveredVertical(item): void {\n    this.hoveredVertical = item.value;\n  }\n\n  @HostListener('mouseleave')\n  hideCircles(): void {\n    this.hoveredVertical = null;\n  }\n\n  onClick(data, series): void {\n    if (series) {\n      data.series = series.name;\n    }\n    this.select.emit(data);\n  }\n\n  trackBy(index, item): string {\n    return item.name;\n  }\n\n  setColors(): void {\n    let domain;\n    if (this.schemeType === 'ordinal') {\n      domain = this.seriesDomain;\n    } else {\n      domain = this.yDomain;\n    }\n\n    this.colors = new ColorHelper(this.scheme, this.schemeType, domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    let opts = {\n      scaleType: this.schemeType,\n      colors: undefined,\n      domain: []\n    };\n    if (opts.scaleType === 'ordinal') {\n      opts.domain = this.seriesDomain;\n      opts.colors = this.colors;\n    } else {\n      opts.domain = this.yDomain;\n      opts.colors = this.colors.scale;\n    }\n    return opts;\n  }\n\n  updateYAxisWidth({ width }): void {\n    this.yAxisWidth = width;\n    this.update();\n  }\n\n  updateXAxisHeight({ height }): void {\n    this.xAxisHeight = height;\n    this.update();\n  }\n\n  onActivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n    if (idx > -1) {\n      return;\n    }\n\n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/line-chart/line-chart.component.ts","import { NgModule } from '@angular/core';\nimport { ChartCommonModule } from '../common/chart-common.module';\nimport { LineComponent } from './line.component';\nimport { LineChartComponent } from './line-chart.component';\nimport { LineSeriesComponent } from './line-series.component';\n\nexport { LineComponent, LineChartComponent, LineSeriesComponent };\n\n@NgModule({\n  imports: [ChartCommonModule],\n  declarations: [\n    LineComponent,\n    LineChartComponent,\n    LineSeriesComponent\n  ],\n  exports: [\n    LineComponent,\n    LineChartComponent,\n    LineSeriesComponent\n  ]\n})\nexport class LineChartModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/line-chart/line-chart.module.ts","import {\n  Component,\n  Input,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport d3 from '../d3';\nimport * as moment from 'moment';\nimport { id } from '../utils/id';\nimport { sortLinear, sortByTime, sortByDomain } from '../utils/sort';\n\n@Component({\n  selector: 'g[ngx-charts-line-series]',\n  template: `\n    <svg:g>\n      <defs>\n        <svg:g ngx-charts-svg-linear-gradient ng-if=\"hasGradient\"\n          [color]=\"colors.getColor(data.name)\"\n          orientation=\"vertical\"\n          [name]=\"gradientId\"\n          [stops]=\"gradientStops\"\n        />\n      </defs>\n      <svg:g ngx-charts-area\n        class=\"line-highlight\"\n        [data]=\"data\"\n        [path]=\"areaPath\"\n        [fill]=\"hasGradient ? gradientUrl : colors.getColor(data.name)\"\n        [opacity]=\"0.25\"\n        [startOpacity]=\"0\"\n        [gradient]=\"true\"\n        [stops]=\"areaGradientStops\"\n        [class.active]=\"isActive(data)\"\n        [class.inactive]=\"isInactive(data)\"\n      />    \n      <svg:g ngx-charts-line\n        class=\"line-series\"\n        [data]=\"data\"\n        [path]=\"path\"\n        [stroke]=\"hasGradient ? gradientUrl : colors.getColor(data.name)\"\n        [class.active]=\"isActive(data)\"\n        [class.inactive]=\"isInactive(data)\"\n      />\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LineSeriesComponent implements OnChanges {\n\n  @Input() data;\n  @Input() xScale;\n  @Input() yScale;\n  @Input() colors;\n  @Input() scaleType;\n  @Input() curve: string;\n  @Input() activeEntries: any[];\n\n  path: string;\n  areaPath: string;\n  gradientId: string;\n  gradientUrl: string;\n  hasGradient: boolean;\n  gradientStops: any[];\n  areaGradientStops: any[];\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {    \n    this.updateGradients();\n\n    let line = this.getLineGenerator();\n    let area = this.getAreaGenerator();\n\n    let data = this.sortData(this.data.series);\n\n    this.path = line(data) || '';\n    this.areaPath = area(data) || '';\n  }\n\n  getLineGenerator() {\n    return d3.line()\n      .x(d => {\n        let label = d.name;\n        let value;\n        if (this.scaleType === 'time') {\n          value = this.xScale(moment(label).toDate());\n        } else if (this.scaleType === 'linear') {\n          value = this.xScale(Number(label));\n        } else {\n          value = this.xScale(label);\n        }\n        return value;\n      })\n      .y(d => this.yScale(d.value))\n      .curve(this.curve);\n  }\n\n  getAreaGenerator() {\n    let xProperty = (d) => {\n      const label = d.name;\n      return this.xScale(label);\n    };\n\n    return d3.area()\n      .x(xProperty)\n      .y0(() => this.yScale.range()[0])\n      .y1(d => this.yScale(d.value))\n      .curve(this.curve);\n  }\n\n  sortData(data) {\n    if (this.scaleType === 'linear') {\n      data = sortLinear(data, 'name');\n    } else if (this.scaleType === 'time') {\n      data = sortByTime(data, 'name');\n    } else {\n      data = sortByDomain(data, 'name', 'asc', this.xScale.domain());\n    }\n\n    return data;\n  }\n\n  updateGradients() {\n    if (this.colors.scaleType === 'linear') {\n      this.hasGradient = true;\n      let pageUrl = window.location.href;      \n      this.gradientId = 'grad' + id().toString();\n      this.gradientUrl = `url(${pageUrl}#${this.gradientId})`;\n      let values = this.data.series.map(d => d.value);\n      let max = Math.max(...values);\n      let min = Math.min(...values);\n      this.gradientStops = this.colors.getLinearGradientStops(max, min);\n      this.areaGradientStops = this.colors.getLinearGradientStops(max);\n    } else {\n      this.hasGradient = false;\n      this.gradientStops = undefined;\n      this.areaGradientStops = undefined;\n    }\n  }\n\n  isActive(entry): boolean {\n    if(!this.activeEntries) return false;\n    let item = this.activeEntries.find(d => {\n      return entry.name === d.name;\n    });\n    return item !== undefined;\n  }\n\n  isInactive(entry): boolean {\n    if(!this.activeEntries || this.activeEntries.length === 0) return false;\n    let item = this.activeEntries.find(d => {\n      return entry.name === d.name;\n    });\n    return item === undefined;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/line-chart/line-series.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ElementRef,\n  trigger,\n  style,\n  transition,\n  animate,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-line]',\n  template: `\n    <svg:path\n      [@animationState]=\"'active'\"\n      class=\"line\"\n      [attr.d]=\"path\"\n      fill=\"none\"\n      [attr.stroke]=\"stroke\"\n      stroke-width=\"1.5px\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  animations: [\n    trigger('animationState', [\n      transition('void => *', [\n        style({\n          strokeDasharray: 2000,\n          strokeDashoffset: 2000,\n        }),\n        animate(1000, style({\n          strokeDashoffset: 0\n        }))\n      ])\n    ])\n  ]\n})\nexport class LineComponent {\n\n  @Input() path;\n  @Input() stroke;\n  @Input() data;\n\n  @Output() select = new EventEmitter();\n\n  element: ElementRef;\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/line-chart/line.component.ts","import { NgModule } from '@angular/core';\nimport { ChartCommonModule } from './common/chart-common.module';\nimport { AreaChartModule } from './area-chart/area-chart.module';\nimport { BarChartModule } from './bar-chart/bar-chart.module';\nimport { ForceDirectedGraphModule } from './force-directed-graph/force-directed-graph.module';\nimport { HeatMapModule } from './heat-map/heat-map.module';\nimport { LineChartModule } from './line-chart/line-chart.module';\nimport { NumberCardModule } from './number-card/number-card.module';\nimport { PieChartModule } from './pie-chart/pie-chart.module';\nimport { TreeMapModule } from './tree-map/tree-map.module';\nimport { GaugeModule } from './gauge/gauge.module';\n\n@NgModule({\n  exports: [\n    ChartCommonModule,\n    AreaChartModule,\n    BarChartModule,\n    ForceDirectedGraphModule,\n    HeatMapModule,\n    LineChartModule,\n    NumberCardModule,\n    PieChartModule,\n    TreeMapModule,\n    GaugeModule\n  ]\n})\nexport class NgxChartsModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/ngx-charts.module.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectionStrategy,\n  NgZone\n} from '@angular/core';\n\nexport interface CardModel {\n  x;\n  y;\n  width: number;\n  height: number;\n  color: string;\n  label: string;\n  data;\n  tooltipText: string;\n}\n\n@Component({\n  selector: 'g[ngx-charts-card-series]',\n  template: `\n    <svg:g ngx-charts-card *ngFor=\"let c of cards; trackBy:trackBy\"\n      [x]=\"c.x\"\n      [y]=\"c.y\"\n      [width]=\"c.width\"\n      [height]=\"c.height\"\n      [color]=\"c.color\"\n      [data]=\"c.data\"\n      (select)=\"onClick($event)\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CardSeriesComponent implements OnChanges {\n\n  @Input() data;\n  @Input() dims;\n  @Input() colors;\n\n  @Output() select = new EventEmitter();\n\n  cards: CardModel[];\n\n  constructor(private zone: NgZone) { }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.zone.run(() => {\n      this.cards = this.getCards();\n    });\n  }\n\n  getCards(): any[] {\n    return this.data\n      .map((d, index) => {\n        let label = d.data.name;\n        if (label.constructor.name === 'Date') {\n          label = label.toLocaleDateString();\n        } else {\n          label = label.toLocaleString();\n        }\n        d.data.name = label;\n\n        let value = d.data.value;\n        return {\n          x: d.x,\n          y: d.y,\n          width: d.width,\n          height: d.height,\n          color: this.colors.getColor(label),\n          label,\n          data: d.data,\n          tooltipText: `${label}: ${value}`\n        };\n      });\n  }\n\n  trackBy(index, card): string {\n    return card.label;\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/number-card/card-series.component.ts","import {\n  Component, Input, Output, EventEmitter, ElementRef,\n  SimpleChanges, OnChanges, ViewChild, ChangeDetectionStrategy,\n  ChangeDetectorRef, NgZone, OnDestroy\n} from '@angular/core';\nimport { trimLabel } from '../common/trim-label.helper';\nimport { invertColor } from '../utils/color-utils';\nimport { count, decimalChecker } from '../common/count';\n\n@Component({\n  selector: 'g[ngx-charts-card]',\n  template: `\n    <svg:g\n      [attr.transform]=\"transform\"\n      class=\"cell\"\n      (click)=\"onClick()\">\n      <svg:rect\n        class=\"card\"\n        [style.fill]=\"color\"\n        style=\"cursor: pointer;\"\n        [attr.width]=\"cardWidth\"\n        [attr.height]=\"cardHeight\"\n        rx=\"3\"\n        ry=\"3\"\n      />\n      <title>{{label}}</title>\n      <svg:foreignObject\n        x=\"5\"\n        [attr.y]=\"height * 0.7\"\n        [attr.width]=\"textWidth\"\n        [attr.height]=\"height * 0.3\"\n        style=\"font-size: 12px;\n               pointer-events: none;\n               text-transform: uppercase;\n               overflow: hidden;\n               text-align: center;\n               line-height: 1em;\">\n        <xhtml:p\n          [style.color]=\"getTextColor(color)\"\n          style=\"overflow: hidden;\n                 white-space: nowrap;\n                 text-overflow: ellipsis;\n                 width: 100%;\">\n          {{trimmedLabel}}\n        </xhtml:p>\n      </svg:foreignObject>\n      <svg:text #textEl\n        [attr.x]=\"cardWidth / 2\"\n        [attr.y]=\"height * 0.30\"\n        dy=\".35em\"\n        class=\"value-text\"\n        [style.fill]=\"getTextColor(color)\"\n        text-anchor=\"middle\"\n        [style.font-size.pt]=\"textFontSize\"\n        style=\"pointer-events: none;\">\n        {{value}}\n      </svg:text>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CardComponent implements OnChanges, OnDestroy {\n\n  @Input() color;\n  @Input() x;\n  @Input() y;\n  @Input() width;\n  @Input() height;\n  @Input() label;\n  @Input() data;\n\n  @Output() select = new EventEmitter();\n\n  @ViewChild('textEl') textEl: ElementRef;\n\n  element: HTMLElement;\n  value: string = '';\n  transform: string;\n  trimmedLabel: string;\n  cardWidth: number;\n  cardHeight: number;\n  textWidth: number;\n  resizeScale: number = 1;\n  textFontSize: number = 35;\n  textTransform: string = '';\n  originalWidth: number;\n  originalHeight: number;\n  originalWidthRatio: number;\n  originalHeightRatio: number;\n  initialized: boolean = false;\n  animationReq: any;\n\n  constructor(element: ElementRef, private cd: ChangeDetectorRef, private zone: NgZone) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  ngOnDestroy(): void {\n    cancelAnimationFrame(this.animationReq);\n  }\n\n  update(): void {\n    this.zone.run(() => {\n      this.transform = `translate(${this.x} , ${this.y})`;\n\n      this.textWidth = Math.max(0, this.width - 15);\n      this.cardWidth = Math.max(0, this.width - 5);\n      this.cardHeight = Math.max(0, this.height - 5);\n\n      this.label = this.data.name;\n      this.trimmedLabel = trimLabel(this.label, 55);\n      this.value = this.data.value.toLocaleString();\n\n      setTimeout(() => this.scaleText());\n      setTimeout(() => this.startCount(), 20);\n    });\n  }\n\n  getTextColor(color): string {\n    return invertColor(color);\n  }\n\n  startCount(): void {\n    if (!this.initialized) {\n      cancelAnimationFrame(this.animationReq);\n\n      const val = this.data.value;\n      const decs = decimalChecker(val);\n\n      const callback = ({ value }) => {\n        this.zone.run(() => {\n          this.value = value.toLocaleString();\n          this.cd.markForCheck();\n        });\n      };\n\n      this.animationReq = count(0, val, decs, 1, callback);\n      this.initialized = true;\n    }\n  }\n\n  scaleText(): void {\n    this.zone.run(() => {\n      let { width, height } = this.textEl.nativeElement.getBoundingClientRect();\n      if (width === 0 || height === 0) {\n        return;\n      }\n\n      let availableWidth = this.cardWidth * 0.85;\n      let availableHeight = this.cardHeight * 0.60;\n\n      if (!this.originalWidthRatio) {\n        this.originalWidthRatio = availableWidth / width;\n        this.originalWidth = availableWidth;\n      }\n\n      if (!this.originalHeightRatio) {\n        this.originalHeightRatio = availableHeight / height;\n        this.originalHeight = availableHeight;\n      }\n\n      let newWidthRatio = (availableWidth / this.originalWidth) * this.originalWidthRatio;\n      let newHeightRatio = (availableHeight / this.originalHeight) * this.originalHeightRatio;\n\n      this.resizeScale = Math.min(newWidthRatio, newHeightRatio);\n\n      this.textFontSize = Number.parseInt((35 * this.resizeScale).toString());\n      this.cd.markForCheck();\n    });\n  }\n\n  onClick(): void {\n    this.select.emit({\n      name: this.data.name,\n      value: this.data.value\n    });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/number-card/card.component.ts","export * from './number-card.module';\nexport * from './number-card.component';\nexport * from './card.component';\nexport * from './card-series.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/number-card/index.ts","import {\n  Component,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { gridLayout } from '../common/grid-layout.helper';\n\n@Component({\n  selector: 'ngx-charts-number-card',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"false\">\n      <svg:g [attr.transform]=\"transform\" class=\"number-card chart\">\n        <svg:g ngx-charts-card-series\n          [colors]=\"colors\"\n          [data]=\"data\"\n          [dims]=\"dims\"\n          (select)=\"onClick($event)\"\n        />\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NumberCardComponent extends BaseChartComponent {\n\n  dims: ViewDimensions;\n  data: any[];\n  colors: ColorHelper;\n  transform: string;\n  domain: any[];\n  margin = [10, 10, 10, 10];\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin\n      });\n\n      this.domain = this.getDomain();\n\n      this.data = gridLayout(this.dims, this.results, 150);\n\n      this.setColors();\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  setColors(): void {\n    this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/number-card/number-card.component.ts","import { NgModule } from '@angular/core';\nimport { ChartCommonModule } from '../common/chart-common.module';\nimport { CardComponent } from './card.component';\nimport { CardSeriesComponent } from './card-series.component';\nimport { NumberCardComponent } from './number-card.component';\n\nexport { CardComponent, CardSeriesComponent, NumberCardComponent };\n\n@NgModule({\n  imports: [ChartCommonModule],\n  declarations: [\n    CardComponent,\n    CardSeriesComponent,\n    NumberCardComponent\n  ],\n  exports: [\n    CardComponent,\n    CardSeriesComponent,\n    NumberCardComponent\n  ]\n})\nexport class NumberCardModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/number-card/number-card.module.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\n\n@Component({\n  selector: 'ngx-charts-advanced-pie-chart',\n  template: `\n    <div\n      [style.width.px]=\"width\"\n      [style.height.px]=\"height\">\n      <div class=\"advanced-pie chart\"\n        [style.width.px]=\"dims.width\"\n        [style.height.px]=\"dims.height\">\n        <ngx-charts-chart\n          [view]=\"[width, height]\"\n          [showLegend]=\"false\">\n          <svg:g\n            [attr.transform]=\"transform\"\n            class=\"pie chart\">\n            <svg:g ngx-charts-pie-series\n              [colors]=\"colors\"\n              [showLabels]=\"labels\"\n              [series]=\"results\"\n              [innerRadius]=\"innerRadius\"\n              [activeEntries]=\"activeEntries\"\n              [outerRadius]=\"outerRadius\"\n              [gradient]=\"gradient\"\n              (select)=\"onClick($event)\">\n            </svg:g>\n          </svg:g>\n        </ngx-charts-chart>\n      </div>\n      <div \n        class=\"advanced-pie-legend-wrapper\"\n        [style.width.px]=\"width - dims.width\">\n        <ngx-charts-advanced-legend\n          [data]=\"results\"\n          [colors]=\"colors\"\n          [width]=\"width - dims.width - margin[1]\"\n          (select)=\"onClick($event)\"\n          (activate)=\"onActivate($event)\"\n          (deactivate)=\"onDeactivate($event)\">\n        </ngx-charts-advanced-legend>\n      </div>\n    </div>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AdvancedPieChartComponent extends BaseChartComponent {\n\n  @Input() gradient: boolean;\n  @Input() activeEntries: any[] = [];\n\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  data: any;\n  dims: ViewDimensions;\n  domain: any[];\n  outerRadius: number;\n  innerRadius: number;\n  transform: string;\n  colors: ColorHelper;\n  legendWidth: number;\n  margin = [20, 20, 20, 20];\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width * 4 / 12.0,\n        height: this.height,\n        margins: this.margin\n      });\n\n      this.domain = this.getDomain();\n      this.setColors();\n\n      let xOffset = this.dims.width / 2;\n      let yOffset = this.margin[0] + this.dims.height / 2;\n      this.legendWidth = this.width - this.dims.width - this.margin[1];\n\n      this.outerRadius = Math.min(this.dims.width, this.dims.height) / 2.5;\n      this.innerRadius = this.outerRadius * 0.75;\n\n      this.transform = `translate(${xOffset} , ${yOffset})`;\n    });\n  }\n\n  getDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  onClick(data) {\n    this.select.emit(data);\n  }\n\n  setColors(): void {\n    this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n  }\n\n  onActivate(event): void {\n    if(this.activeEntries.indexOf(event) > -1) return;\n    this.activeEntries = [ event, ...this.activeEntries ];\n    this.activate.emit({ value: event, entries: this.activeEntries });\n  }\n\n  onDeactivate(event): void {\n    const idx = this.activeEntries.indexOf(event);\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/advanced-pie-chart.component.ts","export * from './pie-chart.module';\nexport * from './pie-chart.component';\nexport * from './pie-arc.component';\nexport * from './pie-grid.component';\nexport * from './pie-series.component';\nexport * from './pie-label.component';\nexport * from './pie-series.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/index.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ElementRef,\n  SimpleChanges,\n  OnChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport d3 from '../d3';\nimport { id } from '../utils/id';\n\n@Component({\n  selector: 'g[ngx-charts-pie-arc]',\n  template: `\n    <svg:g class=\"arc-group\">\n      <svg:defs *ngIf=\"gradient\">\n        <svg:g ngx-charts-svg-radial-gradient\n          [color]=\"fill\"\n          orientation=\"vertical\"\n          [name]=\"radialGradientId\"\n          [startOpacity]=\"startOpacity\"\n        />\n      </svg:defs>\n      <svg:path\n        [attr.d]=\"path\"\n        class=\"arc\"\n        [class.active]=\"isActive\"\n        [attr.fill]=\"gradient ? gradientFill : fill\"\n        (click)=\"onClick()\"\n        (mouseenter)=\"activate.emit(data)\"\n        (mouseleave)=\"deactivate.emit(data)\"\n        [style.pointer-events]=\"pointerEvents ? 'auto' : 'none'\"\n      />\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PieArcComponent implements OnChanges {\n\n  @Input() fill;\n  @Input() startAngle: number = 0;\n  @Input() endAngle: number = Math.PI * 2;\n  @Input() innerRadius;\n  @Input() outerRadius;\n  @Input() cornerRadius: number = 0;\n  @Input() value;\n  @Input() max;\n  @Input() data;\n  @Input() explodeSlices: boolean = false;\n  @Input() gradient: boolean = false;\n  @Input() animate: boolean = true;\n  @Input() pointerEvents: boolean = true;\n  @Input() isActive: boolean = false;\n\n  @Output() select = new EventEmitter();\n  @Output() activate = new EventEmitter();\n  @Output() deactivate = new EventEmitter();\n\n  element: HTMLElement;\n  path: any;\n  startOpacity: number;\n  radialGradientId: string;\n  linearGradientId: string;\n  gradientFill: string;\n  initialized: boolean = false;\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    let arc = this.calculateArc();\n    this.path = arc.startAngle(this.startAngle).endAngle(this.endAngle)();\n    this.startOpacity = 0.5;\n\n    let pageUrl = window.location.href;\n    this.radialGradientId = 'linearGrad' + id().toString();\n\n    this.gradientFill = `url(${pageUrl}#${this.radialGradientId})`;\n\n    if (this.animate) {\n      if (this.initialized) {\n        this.updateAnimation();\n      } else {\n        this.loadAnimation();\n        this.initialized = true;\n      }\n    }\n\n  }\n\n  calculateArc(): any {\n    let outerRadius = this.outerRadius;\n    if (this.explodeSlices && this.innerRadius === 0) {\n      outerRadius = this.outerRadius * this.value / this.max;\n    }\n\n    return d3.arc()\n      .innerRadius(this.innerRadius)\n      .outerRadius(outerRadius)\n      .cornerRadius(this.cornerRadius);\n  }\n\n  loadAnimation(): void {\n    let node = d3.select(this.element).selectAll('.arc').data([{startAngle: this.startAngle, endAngle: this.endAngle}]);\n    let arc = this.calculateArc();\n\n    node\n      .transition()\n      .attrTween('d', function(d) {\n        this._current = this._current || d;\n        let copyOfD = Object.assign({}, d);\n        copyOfD.endAngle = copyOfD.startAngle;\n        let interpolate = d3.interpolate(copyOfD, copyOfD);\n        this._current = interpolate(0);\n        return function(t) {\n          return arc(interpolate(t));\n        };\n      })\n      .transition().duration(750)\n      .attrTween('d', function(d) {\n        this._current = this._current || d;\n        let interpolate = d3.interpolate(this._current, d);\n        this._current = interpolate(0);\n        return function(t) {\n          return arc(interpolate(t));\n        };\n      });\n  }\n\n  updateAnimation(): void {\n    let node = d3.select(this.element).selectAll('.arc').data([{startAngle: this.startAngle, endAngle: this.endAngle}]);\n    let arc = this.calculateArc();\n\n    node\n      .transition().duration(750)\n      .attrTween('d', function(d) {\n        this._current = this._current || d;\n        let interpolate = d3.interpolate(this._current, d);\n        this._current = interpolate(0);\n        return function(t) {\n          return arc(interpolate(t));\n        };\n      });\n  }\n\n  onClick(): void {\n    this.select.emit(this.data);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/pie-arc.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { calculateViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\n\n@Component({\n  selector: 'ngx-charts-pie-chart',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"legend\"\n      [legendOptions]=\"legendOptions\"\n      [activeEntries]=\"activeEntries\"\n      (legendLabelActivate)=\"onActivate($event)\"\n      (legendLabelDeactivate)=\"onDeactivate($event)\"\n      (legendLabelClick)=\"onClick($event)\">\n      <svg:g [attr.transform]=\"translation\" class=\"pie-chart chart\">\n        <svg:g ngx-charts-pie-series\n          [colors]=\"colors\"\n          [showLabels]=\"labels\"\n          [series]=\"data\"\n          [activeEntries]=\"activeEntries\"\n          [innerRadius]=\"innerRadius\"\n          [outerRadius]=\"outerRadius\"\n          [explodeSlices]=\"explodeSlices\"\n          [gradient]=\"gradient\"\n          (select)=\"onClick($event)\"\n          (activate)=\"onActivate($event)\"\n          (deactivate)=\"onDeactivate($event)\"\n        />\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PieChartComponent extends BaseChartComponent {\n\n  @Input() labels = false;\n  @Input() legend = false;\n  @Input() explodeSlices = false;\n  @Input() doughnut = false;\n  @Input() gradient: boolean;\n  @Input() activeEntries: any[] = [];\n\n  @Output() select = new EventEmitter();\n  @Output() activate: EventEmitter<any> = new EventEmitter();\n  @Output() deactivate: EventEmitter<any> = new EventEmitter();\n\n  translation: string;\n  outerRadius: number;\n  innerRadius: number;\n  data: any;\n  colors: ColorHelper;\n  domain: any;\n  dims: any;\n  margin = [20, 20, 20, 20];\n  legendOptions: any;\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      if (this.labels) {\n        this.margin = [30, 80, 30, 80];\n      }\n\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin,\n        showLegend: this.legend,\n        columns: 10\n      });\n\n      let xOffset = this.margin[3] + this.dims.width / 2;\n      let yOffset = this.margin[0] + this.dims.height / 2;\n      this.translation = `translate(${xOffset}, ${yOffset})`;\n      this.outerRadius = Math.min(this.dims.width, this.dims.height);\n      if (this.labels) {\n        // make room for labels\n        this.outerRadius /= 3;\n      } else {\n        this.outerRadius /= 2;\n      }\n      this.innerRadius = 0;\n      if (this.doughnut) {\n        this.innerRadius = this.outerRadius * 0.75;\n      }\n\n      this.domain = this.getDomain();\n\n      // sort data according to domain\n      this.data = this.results.sort((a, b) => {\n        return this.domain.indexOf(a.name) - this.domain.indexOf(b.name);\n      });\n\n      this.setColors();\n      this.legendOptions = this.getLegendOptions();\n    });\n  }\n\n  getDomain(): any[] {\n    let items = [];\n\n    this.results.map(d => {\n      let label = d.name;\n      if (label.constructor.name === 'Date') {\n        label = label.toLocaleDateString();\n      } else {\n        label = label.toLocaleString();\n      }\n\n      if (items.indexOf(label) === -1) {\n        items.push(label);\n      }\n    });\n\n    return items;\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  setColors(): void {\n    this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n  }\n\n  getLegendOptions() {\n    return {\n      scaleType: 'ordinal',\n      domain: this.domain,\n      colors: this.colors\n    };\n  }\n\n  onActivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n    if (idx > -1) {\n      return;\n    }\n    \n    this.activeEntries = [ item, ...this.activeEntries ];\n    this.activate.emit({ value: item, entries: this.activeEntries });\n  }\n\n  onDeactivate(item) {\n    const idx = this.activeEntries.findIndex(d => {\n      return d.name === item.name && d.value === item.value;\n    });\n\n    this.activeEntries.splice(idx, 1);\n    this.activeEntries = [...this.activeEntries];\n\n    this.deactivate.emit({ value: event, entries: this.activeEntries });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/pie-chart.component.ts","import { NgModule } from '@angular/core';\nimport { ChartCommonModule } from '../common/chart-common.module';\nimport { AdvancedPieChartComponent } from './advanced-pie-chart.component';\nimport { PieLabelComponent } from './pie-label.component';\nimport { PieArcComponent } from './pie-arc.component';\nimport { PieChartComponent } from './pie-chart.component';\nimport { PieGridComponent } from './pie-grid.component';\nimport { PieGridSeriesComponent } from './pie-grid-series.component';\nimport { PieSeriesComponent } from './pie-series.component';\n\nexport {\n  AdvancedPieChartComponent, PieLabelComponent, PieArcComponent,\n  PieChartComponent, PieGridComponent, PieGridSeriesComponent,\n  PieSeriesComponent\n};\n\n@NgModule({\n  imports: [ChartCommonModule],\n  declarations: [\n    AdvancedPieChartComponent,\n    PieLabelComponent,\n    PieArcComponent,\n    PieChartComponent,\n    PieGridComponent,\n    PieGridSeriesComponent,\n    PieSeriesComponent\n  ],\n  exports: [\n    AdvancedPieChartComponent,\n    PieLabelComponent,\n    PieArcComponent,\n    PieChartComponent,\n    PieGridComponent,\n    PieGridSeriesComponent,\n    PieSeriesComponent\n  ]\n})\nexport class PieChartModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/pie-chart.module.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ElementRef,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'g[ngx-charts-pie-grid-series]',\n  template: `\n    <svg:g class=\"pie-grid-arcs\">\n      <svg:g ngx-charts-pie-arc *ngFor=\"let arc of arcs; trackBy:trackBy\"\n        [attr.class]=\"arc.class\"\n        [startAngle]=\"arc.startAngle\"\n        [endAngle]=\"arc.endAngle\"\n        [innerRadius]=\"innerRadius\"\n        [outerRadius]=\"outerRadius\"\n        [fill]=\"color(arc)\"\n        [value]=\"arc.data.value\"\n        [data]=\"arc.data\"\n        [max]=\"max\"\n        [gradient]=\"false\"\n        [pointerEvents]=\"arc.pointerEvents\"\n        [animate]=\"arc.animate\"\n        (select)=\"onClick($event)\">\n      </svg:g>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\n\nexport class PieGridSeriesComponent implements OnChanges {\n\n  @Input() colors;\n  @Input() data;\n  @Input() innerRadius = 70;\n  @Input() outerRadius = 80;\n\n  @Output() select = new EventEmitter();\n\n  element: HTMLElement;\n  layout: any;\n  arcs: any;\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    this.layout = d3.pie()\n      .value((d) => d.data.value).sort(null);\n\n    this.arcs = this.getArcs();\n  }\n\n  getArcs(): any[] {\n    return this.layout(this.data).map((arc, index) => {\n      let label = arc.data.data.name;\n      let other = arc.data.data.other;\n\n      if (index === 0) {\n        arc.startAngle = 0;\n      }\n\n      let color = this.colors(label);\n      return {\n        data: arc.data.data,\n        class: 'arc ' + 'arc' + index,\n        fill: color,\n        startAngle: other ? 0 : arc.startAngle,\n        endAngle: arc.endAngle,\n        animate: !other,\n        pointerEvents: !other\n      };\n    });\n  }\n\n  onClick(data): void {\n    this.select.emit({\n      name: this.data[0].data.name,\n      value: this.data[0].data.value\n    });\n  }\n\n  trackBy(index, item): string {\n    return item.data.name;\n  }\n\n  label(arc): string {\n    return arc.data.name;\n  }\n\n  color(arc): any {\n    return this.colors(this.label(arc));\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/pie-grid-series.component.ts","import {\n  Component,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\nimport d3 from '../d3';\nimport { calculateViewDimensions, ViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport { trimLabel } from '../common/trim-label.helper';\nimport { gridLayout } from '../common/grid-layout.helper';\nimport { formatLabel } from '../common/label.helper';\n\n@Component({\n  selector: 'ngx-charts-pie-grid',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"false\">\n      <svg:g [attr.transform]=\"transform\" class=\"pie-grid chart\">\n        <svg:g\n          *ngFor=\"let series of series\"\n          class=\"pie-grid-item\"\n          [attr.transform]=\"series.transform\">\n          <svg:g ngx-charts-pie-grid-series\n            [colors]=\"series.colors\"\n            [data]=\"series.data\"\n            [innerRadius]=\"series.innerRadius\"\n            [outerRadius]=\"series.outerRadius\"\n            (select)=\"onClick($event)\"\n            ngx-tooltip\n            [tooltipPlacement]=\"'top'\"\n            [tooltipType]=\"'tooltip'\"\n            [tooltipTitle]=\"getTooltipText(series.label, series.value.toLocaleString())\"\n          />\n          <svg:text\n            class=\"label percent-label\"\n            dy=\"-0.5em\"\n            x=\"0\"\n            y=\"5\"\n            ngx-charts-count-up \n            [countTo]=\"series.percent\"\n            [countSuffix]=\"'%'\"\n            text-anchor=\"middle\">\n          </svg:text>\n          <svg:text\n            class=\"label\"\n            dy=\"0.5em\"\n            x=\"0\"\n            y=\"5\"\n            text-anchor=\"middle\">\n            {{series.label}}\n          </svg:text>\n          <svg:text\n            class=\"label\"\n            dy=\"1.23em\"\n            x=\"0\"\n            [attr.y]=\"series.outerRadius\"\n            text-anchor=\"middle\"\n            ngx-charts-count-up \n            [countTo]=\"series.total\"\n            [countPrefix]=\"'Total: '\">\n          </svg:text>\n        </svg:g>\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PieGridComponent extends BaseChartComponent {\n  \n  dims: ViewDimensions;\n  data: any[];\n  transform: string;\n  series: any[];\n  domain: any[];\n  colorScale: ColorHelper;\n  margin = [20, 20, 20, 20];\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin\n      });\n\n      this.domain = this.getDomain();\n\n      this.data = gridLayout(this.dims, this.results, 150);\n      this.transform = `translate(${this.margin[3]} , ${this.margin[0]})`;\n\n      this.series = this.getSeries();\n      this.setColors();\n    });\n  }\n\n  getTooltipText(label, val): string {\n    return `\n      <span class=\"tooltip-label\">${label}</span>\n      <span class=\"tooltip-val\">${val}</span>\n    `;\n  }\n\n  getDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  getSeries(): any[] {\n    let total = this.getTotal();\n\n    return this.data.map((d) => {\n      const baselineLabelHeight = 20;\n      const padding = 10;\n      const label = formatLabel(d.data.name);\n      const value = d.data.value;\n      const radius = (d3.min([d.width - padding, d.height - baselineLabelHeight]) / 2) - 5;\n      const innerRadius = radius * 0.9;\n\n      let count = 0;\n      const colors = () => {\n        count += 1;\n        if (count === 1) {\n          return 'rgba(100,100,100,0.3)';\n        } else {\n          return this.colorScale.getColor(label);\n        }\n      };\n\n      const xPos = d.x + (d.width - padding) / 2;\n      const yPos = d.y + (d.height - baselineLabelHeight) / 2;\n\n      return {\n        transform: `translate(${xPos}, ${yPos})`,\n        colors,\n        innerRadius,\n        outerRadius: radius,\n        label: trimLabel(label),\n        total: value,\n        value,\n        percent: d3.format('.1p')(d.data.percent),\n        data: [d, {\n          data: {\n            other: true,\n            value: total - value,\n            name: d.data.name\n          }\n        }]\n      };\n    });\n  }\n\n  getTotal(): any {\n    return this.results\n      .map(d => d.value)\n      .reduce((sum, d) => { return sum + d; }, 0);\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  setColors(): void {\n    this.colorScale = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/pie-grid.component.ts","import {\n  Component,\n  Input,\n  ElementRef,\n  OnChanges,\n  SimpleChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport { trimLabel } from '../common/trim-label.helper';\nimport d3 from '../d3';\n\n@Component({\n  selector: 'g[ngx-charts-pie-label]',\n  template: `\n    <title>{{label}}</title>\n    <svg:text\n      class=\"pie-label\"\n      [attr.transform]=\"transform\"\n      dy=\".35em\"\n      [style.textAnchor]=\"textAnchor()\"\n      [style.shapeRendering]=\"'crispEdges'\"\n      [style.textTransform]=\"'uppercase'\">\n      {{trimLabel(label, 10)}}\n    </svg:text>\n    <svg:path\n      [attr.d]=\"line\"\n      [attr.stroke]=\"color\"\n      fill=\"none\"\n      class=\"line\"\n      [style.strokeDasharray]=\"2000\"\n      [style.strokeDashoffset]=\"0\">\n    </svg:path>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PieLabelComponent implements OnChanges {\n\n  @Input() data;\n  @Input() radius;\n  @Input() label;\n  @Input() color;\n  @Input() max;\n  @Input() value;\n  @Input() explodeSlices;\n\n  element: HTMLElement;\n  trimLabel: Function;\n  labelXY: any;\n  transform: string;\n  line: string;\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n    this.trimLabel = trimLabel;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    const factor = 1.5;\n\n    let outerArc = d3.arc()\n      .innerRadius(this.radius * factor)\n      .outerRadius(this.radius * factor);\n\n    let startRadius = this.radius;\n    if (this.explodeSlices) {\n      startRadius = this.radius * this.value / this.max;\n    }\n\n    let innerArc = d3.arc()\n      .innerRadius(startRadius)\n      .outerRadius(startRadius);\n\n    this.labelXY = outerArc.centroid(this.data);\n    this.labelXY[0] = this.radius * factor * (this.midAngle(this.data) < Math.PI ? 1 : -1);\n    this.labelXY[1] = this.data.pos[1];\n\n    this.line = `M${innerArc.centroid(this.data)}L${outerArc.centroid(this.data)}L${this.labelXY}`;\n    this.transform = `translate(${this.labelXY})`;\n\n    this.loadAnimation();\n  }\n\n  textAnchor(): any {\n    return this.midAngle(this.data) < Math.PI ? 'start' : 'end';\n  }\n\n  midAngle(d): number {\n    return d.startAngle + (d.endAngle - d.startAngle) / 2;\n  }\n\n  loadAnimation(): void {\n    let label = d3.select(this.element).select('.label');\n    let line = d3.select(this.element).select('.line');\n\n    label\n      .attr('opacity', 0)\n      .transition().delay(750).duration(750)\n      .attr('opacity', 1);\n\n    line\n      .style('stroke-dashoffset', 2000)\n      .transition().delay(750).duration(750)\n      .style('stroke-dashoffset', '0')\n      .transition()\n      .style('stroke-dasharray', 'none');\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/pie-label.component.ts","import {\n  Component,\n  SimpleChanges,\n  Input,\n  Output,\n  EventEmitter,\n  OnChanges,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport d3 from '../d3';\nimport { formatLabel } from '../common/label.helper';\n\n@Component({\n  selector: 'g[ngx-charts-pie-series]',\n  template: `\n    <svg:g *ngFor=\"let arc of data; trackBy:trackBy\">\n      <svg:g ngx-charts-pie-label\n        *ngIf=\"labelVisible(arc)\"\n        [data]=\"arc\"\n        [radius]=\"outerRadius\"\n        [color]=\"color(arc)\"\n        [label]=\"label(arc)\"\n        [max]=\"max\"\n        [value]=\"arc.value\"\n        [explodeSlices]=\"explodeSlices\">\n      </svg:g>\n      <svg:g \n        ngx-charts-pie-arc\n        [startAngle]=\"arc.startAngle\"\n        [endAngle]=\"arc.endAngle\"\n        [innerRadius]=\"innerRadius\"\n        [outerRadius]=\"outerRadius\"\n        [fill]=\"color(arc)\"\n        [value]=\"arc.data.value\"\n        [gradient]=\"gradient\" \n        [data]=\"arc.data\"\n        [max]=\"max\"\n        [explodeSlices]=\"explodeSlices\"\n        [isActive]=\"isActive(arc.data)\"\n        (select)=\"onClick($event)\"\n        (activate)=\"activate.emit($event)\"\n        (deactivate)=\"deactivate.emit($event)\"        \n        ngx-tooltip\n        [tooltipPlacement]=\"'top'\"\n        [tooltipType]=\"'tooltip'\"\n        [tooltipTitle]=\"tooltipText(arc)\">\n      </svg:g>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PieSeriesComponent implements OnChanges {\n\n  @Input() colors;\n  @Input() series: any = [];\n  @Input() dims;\n  @Input() innerRadius = 60;\n  @Input() outerRadius = 80;\n  @Input() explodeSlices;\n  @Input() showLabels;\n  @Input() gradient: boolean;\n  @Input() activeEntries: any[];\n\n  @Output() select = new EventEmitter();\n  @Output() activate = new EventEmitter();\n  @Output() deactivate = new EventEmitter();\n\n  max: number;\n  data: any;\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    let pie: any = d3.pie()\n      .value((d) => d.value)\n      .sort(null);\n\n    const arcData = pie(this.series);\n\n    this.max = d3.max(arcData, (d) => {\n      return d.value;\n    });\n\n    this.data = this.calculateLabelPositions(arcData);\n  }\n\n  midAngle(d): number {\n    return d.startAngle + (d.endAngle - d.startAngle) / 2;\n  }\n\n  outerArc(): any {\n    const factor = 1.5;\n\n    return d3.arc()\n      .innerRadius(this.outerRadius * factor)\n      .outerRadius(this.outerRadius * factor);\n  }\n\n  calculateLabelPositions(pieData): any {\n    const minDistance = 10;\n    let labelPositions = pieData;\n\n    labelPositions.forEach((d) => {\n      d.pos = this.outerArc().centroid(d);\n      d.pos[0] = this.outerRadius * (this.midAngle(d) < Math.PI ? 1 : -1);\n    });\n\n    for (let i = 0; i < labelPositions.length - 1; i++) {\n      let a = labelPositions[i];\n\n      for (let j = i + 1; j < labelPositions.length; j++) {\n        let b = labelPositions[j];\n        // if they're on the same side\n        if (b.pos[0] * a.pos[0] > 0) {\n          // if they're overlapping\n          if (Math.abs(b.pos[1] - a.pos[1]) <= minDistance) {\n            // push the second one down\n            labelPositions[j].pos[1] = b.pos[1] + minDistance;\n            j--;\n          }\n        }\n      }\n    }\n\n    return labelPositions;\n  }\n\n  labelVisible(arc): boolean {\n    return this.showLabels && (arc.endAngle - arc.startAngle > Math.PI / 30);\n  }\n\n  label(arc): string {\n    return formatLabel(arc.data.name);\n  }\n\n  tooltipText(arc) {\n    const label = this.label(arc);\n    const val = formatLabel(arc.data.value);\n\n    return `\n      <span class=\"tooltip-label\">${label}</span>\n      <span class=\"tooltip-val\">${val}</span>\n    `;\n  }\n\n  color(arc): any {\n    return this.colors.getColor(this.label(arc));\n  }\n\n  trackBy(index, item): string {\n    return item.data.name;\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  isActive(entry): boolean {\n    if(!this.activeEntries) return false;\n    let item = this.activeEntries.find(d => {\n      return entry.name === d.name && entry.series === d.series;\n    });\n    return item !== undefined;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/pie-chart/pie-series.component.ts","export * from './injection.service';\nexport * from './injection-registery.service';\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/index.ts","import { Injectable, ComponentRef } from '@angular/core';\nimport { InjectionService } from '.';\n\nexport abstract class InjectionRegistery {\n\n  protected abstract type: any;\n\n  protected defaults: any = {};\n  protected components: Map<any, any> = new Map();\n\n  constructor(public injectionService: InjectionService) { }\n\n  getByType(type: any = this.type) {\n    return this.components.get(type);\n  }\n\n  create(bindings: any): any {\n    return this.createByType(this.type, bindings);\n  }\n\n  createByType(type: any, bindings: any): any {\n    bindings = this.assignDefaults(bindings);\n\n    const component = this.injectComponent(type, bindings);\n    this.register(type, component);\n\n    return component;\n  }\n\n  destroy(instance): void {\n    let compsByType = this.components.get(instance.componentType);\n\n    if(compsByType) {\n      const idx = compsByType.indexOf(instance);\n\n      if(idx > -1) {\n        let component = compsByType[idx];\n        component.destroy();\n        compsByType.splice(idx, 1);\n      }\n    }\n  }\n\n  destroyAll(): void {\n    this.destroyByType(this.type);\n  }\n\n  destroyByType(type): void {\n    let comps = this.components.get(type);\n\n    if(comps) {\n      for(let comp of comps) {\n        this.destroy(comp);\n      }\n    }\n  }\n\n  protected assignDefaults(bindings): any {\n    const { inputs, outputs } = this.defaults;\n\n    if(!bindings.inputs && !bindings.outputs) {\n      bindings = { inputs: bindings };\n    }\n\n    if(inputs) {\n      bindings.inputs = Object.assign(inputs, bindings.inputs);\n    }\n\n    if(outputs) {\n      bindings.outputs = Object.assign(outputs, bindings.outputs);\n    }\n\n    return bindings;\n  }\n\n  protected injectComponent(type, bindings): ComponentRef<any> {\n    return this.injectionService.appendComponent(type, bindings);\n  }\n\n  protected register(type, component): void {\n    if(!this.components.has(type)) {\n      this.components.set(type, []);\n    }\n\n    let types = this.components.get(type);\n    types.push(component);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/injection-registery.service.ts","import {\n  ApplicationRef, ComponentFactoryResolver, ComponentRef, Injectable,\n  Injector, EmbeddedViewRef, Type\n} from '@angular/core';\n\n/**\n * Injection service is a helper to append components\n * dynamically to a known location in the DOM, most\n * noteably for dialogs/tooltips appending to body.\n *\n * @export\n * @class InjectionService\n */\n@Injectable()\nexport class InjectionService {\n\n  private _container: ComponentRef<any>;\n\n  constructor(\n    private applicationRef: ApplicationRef,\n    private componentFactoryResolver: ComponentFactoryResolver,\n    private injector: Injector) {\n  }\n\n  /**\n   * Gets the root view container to inject the component to.\n   *\n   * @returns {ComponentRef<any>}\n   *\n   * @memberOf InjectionService\n   */\n  getRootViewContainer(): ComponentRef<any> {\n    const rootComponents = this.applicationRef['_rootComponents'];\n    if (rootComponents.length) return rootComponents[0];\n\n    if(this._container) return this._container;\n\n    throw new Error('View Container not found! ngUpgrade needs to manually set this via setRootViewContainer.');\n  }\n\n  /**\n   * Overrides the default root view container. This is useful for\n   * things like ngUpgrade that doesn't have a ApplicationRef root.\n   *\n   * @param {any} container\n   *\n   * @memberOf InjectionService\n   */\n  setRootViewContainer(container): void {\n    this._container = container;\n  }\n\n  /**\n   * Gets the html element for a component ref.\n   *\n   * @param {ComponentRef<any>} componentRef\n   * @returns {HTMLElement}\n   *\n   * @memberOf InjectionService\n   */\n  getComponentRootNode(componentRef: any): HTMLElement {\n    // the top most component root node has no `hostView`\n    if(!componentRef.hostView) return componentRef.element.nativeElement;\n\n    return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n  }\n\n  /**\n   * Gets the root component container html element.\n   *\n   * @returns {HTMLElement}\n   *\n   * @memberOf InjectionService\n   */\n  getRootViewContainerNode(): HTMLElement {\n    return this.getComponentRootNode(this.getRootViewContainer());\n  }\n\n  /**\n   * Projects the bindings onto the component\n   *\n   * @param {ComponentRef<any>} component\n   * @param {*} options\n   * @returns {ComponentRef<any>}\n   *\n   * @memberOf InjectionService\n   */\n  projectComponentBindings(component: ComponentRef<any>, bindings: any): ComponentRef<any> {\n    if(bindings) {\n      if (bindings.inputs !== undefined) {\n        let bindingKeys = Object.getOwnPropertyNames(bindings.inputs);\n        for (let bindingName of bindingKeys) {\n          component.instance[bindingName] = bindings.inputs[bindingName];\n        }\n      }\n\n      if (bindings.outputs !== undefined) {\n        let eventKeys = Object.getOwnPropertyNames(bindings.outputs);\n        for (let eventName of eventKeys) {\n          component.instance[eventName] = bindings.outputs[eventName];\n        }\n      }\n    }\n\n    return component;\n  }\n\n  /**\n   * Appends a component to a adjacent location\n   *\n   * @template T\n   * @param {Type<T>} componentClass\n   * @param {*} [options={}]\n   * @param {Element} [location=this.getRootViewContainerNode()]\n   * @returns {ComponentRef<any>}\n   *\n   * @memberOf InjectionService\n   */\n  appendComponent<T>(\n    componentClass: Type<T>,\n    bindings: any = {},\n    location: Element = this.getRootViewContainerNode()): ComponentRef<any> {\n\n    let componentFactory = this.componentFactoryResolver.resolveComponentFactory(componentClass);\n    let componentRef = componentFactory.create(this.injector);\n    let appRef: any = this.applicationRef;\n    let componentRootNode = this.getComponentRootNode(componentRef);\n\n    // project the options passed to the component instance\n    this.projectComponentBindings(componentRef, bindings);\n\n    appRef.attachView(componentRef.hostView);\n\n    componentRef.onDestroy(() => {\n      appRef.detachView(componentRef.hostView);\n    });\n\n    location.appendChild(componentRootNode);\n\n    return componentRef;\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/services/injection.service.ts","export * from './tree-map.module';\nexport * from './tree-map.component';\nexport * from './tree-map-cell.component';\nexport * from './tree-map-cell-series.component';\n\n\n\n// WEBPACK FOOTER //\n// ./src/tree-map/index.ts","import {\n  Component,\n  OnChanges,\n  Input,\n  Output,\n  SimpleChanges,\n  EventEmitter,\n  ChangeDetectionStrategy\n} from '@angular/core';\n\n@Component({\n  selector: 'g[ngx-charts-tree-map-cell-series]',\n  template: `\n    <svg:g ngx-charts-tree-map-cell *ngFor=\"let c of cells; trackBy:trackBy\"\n      [x]=\"c.x\"\n      [y]=\"c.y\"\n      [width]=\"c.width\"\n      [height]=\"c.height\"\n      [fill]=\"c.fill\"\n      [label]=\"c.label\"\n      [value]=\"c.value\"\n      [valueType]=\"c.valueType\"\n      (select)=\"onClick($event)\"\n      ngx-tooltip\n      [tooltipPlacement]=\"'top'\"\n      [tooltipType]=\"'tooltip'\"\n      [tooltipTitle]=\"getTooltipText(c)\"\n    />\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TreeMapCellSeriesComponent implements OnChanges {\n\n  @Input() data;\n  @Input() dims;\n  @Input() colors;\n\n  @Output() select = new EventEmitter();\n\n  cells: any[];\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.cells = this.getCells();\n  }\n\n  getCells(): any[] {\n    return this.data.children\n      .filter((d) => {\n        return d.depth === 1;\n      })\n      .map((d, index) => {\n        let label = d.id;\n\n        return {\n          x: d.x0,\n          y: d.y0,\n          width: d.x1 - d.x0,\n          height: d.y1 - d.y0,\n          fill: this.colors.getColor(label),\n          label,\n          value: d.value,\n          valueType: d.valueType\n        };\n      });\n  }\n\n  getTooltipText({ label, value }): string {\n    return `\n      <span class=\"tooltip-label\">${label}</span>\n      <span class=\"tooltip-val\">${value.toLocaleString()}</span>\n    `;\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  trackBy(index, item): string {\n    return item.label;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/tree-map/tree-map-cell-series.component.ts","import {\n  Component, Input, Output, EventEmitter, ElementRef,\n  OnChanges, SimpleChanges, ChangeDetectionStrategy\n} from '@angular/core';\nimport d3 from '../d3';\nimport { invertColor } from '../utils/color-utils';\n\n@Component({\n  selector: 'g[ngx-charts-tree-map-cell]',\n  template: `\n    <svg:g>\n      <svg:rect\n        [attr.fill]=\"fill\"\n        [attr.width]=\"width\"\n        [attr.height]=\"height\"\n        [style.cursor]=\"'pointer'\"\n        class=\"cell\"\n        (click)=\"onClick()\"\n      />\n      <svg:foreignObject\n        *ngIf=\"width >= 70 && height >= 35\"\n        [attr.x]=\"x\"\n        [attr.y]=\"y\"\n        [attr.width]=\"width\"\n        [attr.height]=\"height\"\n        class=\"label\"\n        [style.pointer-events]=\"'none'\">\n        <xhtml:p\n          [style.color]=\"getTextColor()\"\n          [style.height]=\"height + 'px'\"\n          [style.width]=\"width + 'px'\">\n          <xhtml:span class=\"treemap-label\">\n            {{label}}\n          </xhtml:span>\n          <xhtml:br />\n          <xhtml:span \n            class=\"treemap-val\" \n            ngx-charts-count-up \n            [countTo]=\"value\">\n          </xhtml:span>\n        </xhtml:p>\n      </svg:foreignObject>\n    </svg:g>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TreeMapCellComponent implements OnChanges {\n\n  @Input() fill;\n  @Input() x;\n  @Input() y;\n  @Input() width;\n  @Input() height;\n  @Input() label;\n  @Input() value;\n  @Input() valueType;\n\n  @Output() select = new EventEmitter();\n\n  element: HTMLElement;\n  transform: string;\n  formattedValue: string; // todo check string or number ?\n  initialized: boolean = false;\n\n  constructor(element: ElementRef) {\n    this.element = element.nativeElement;\n  }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    this.update();\n  }\n\n  update(): void {\n    if (this.initialized) {\n      this.animateToCurrentForm();\n    } else {\n      this.loadAnimation();\n      this.initialized = true;\n    }\n  }\n\n  loadAnimation(): void {\n    let node = d3.select(this.element).select('.cell');\n\n    node\n      .attr('opacity', 0)\n      .attr('x', this.x)\n      .attr('y', this.y);\n\n    this.animateToCurrentForm();\n  }\n\n  getTextColor(): string {\n    return invertColor(this.fill);\n  }\n\n  animateToCurrentForm(): void {\n    let node = d3.select(this.element).select('.cell');\n\n    node.transition().duration(750)\n      .attr('opacity', 1)\n      .attr('x', this.x)\n      .attr('y', this.y)\n      .attr('width', this.width)\n      .attr('height', this.height);\n  }\n\n  onClick(): void {\n    this.select.emit({\n      name: this.label,\n      value: this.value\n    });\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/tree-map/tree-map-cell.component.ts","import {\n  Component,\n  Input,\n  Output,\n  EventEmitter,\n  ChangeDetectionStrategy\n} from '@angular/core';\nimport d3 from '../d3';\nimport { BaseChartComponent } from '../common/base-chart.component';\nimport { calculateViewDimensions } from '../common/view-dimensions.helper';\nimport { ColorHelper } from '../common/color.helper';\n\n@Component({\n  selector: 'ngx-charts-tree-map',\n  template: `\n    <ngx-charts-chart\n      [view]=\"[width, height]\"\n      [showLegend]=\"false\">\n      <svg:g [attr.transform]=\"transform\" class=\"tree-map chart\">\n        <svg:g ngx-charts-tree-map-cell-series\n          [colors]=\"colors\"\n          [data]=\"data\"\n          [dims]=\"dims\"\n          (select)=\"onClick($event)\"\n        />\n      </svg:g>\n    </ngx-charts-chart>\n  `,\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class TreeMapComponent extends BaseChartComponent {\n\n  @Input() results;\n\n  @Output() select = new EventEmitter();\n\n  dims: any;\n  domain: any;\n  transform: any;\n  colors: ColorHelper;\n  treemap: any;\n  data: any;\n  margin = [10, 10, 10, 10];\n\n  update(): void {\n    super.update();\n\n    this.zone.run(() => {\n      this.dims = calculateViewDimensions({\n        width: this.width,\n        height: this.height,\n        margins: this.margin\n      });\n\n      this.domain = this.getDomain();\n\n      this.treemap = d3.treemap()\n        .size([this.dims.width, this.dims.height]);\n\n      let rootNode = {\n        name: 'root',\n        value: 0,\n        isRoot: true\n      };\n\n      let root = d3.stratify()\n        .id(d => {\n          let label = d.name;\n\n          if (label.constructor.name === 'Date') {\n            label = label.toLocaleDateString();\n          } else {\n            label = label.toLocaleString();\n          }\n          return label;\n        })\n        .parentId(d => { return d.isRoot ? null : 'root'; })\n        ([rootNode, ...this.results])\n        .sum(d => d.value);\n\n      this.data = this.treemap(root);\n\n      this.setColors();\n\n      this.transform = `translate(${ this.dims.xOffset } , ${ this.margin[0] })`;\n    });\n  }\n\n  getDomain(): any[] {\n    return this.results.map(d => d.name);\n  }\n\n  onClick(data): void {\n    this.select.emit(data);\n  }\n\n  setColors(): void {\n    this.colors = new ColorHelper(this.scheme, 'ordinal', this.domain, this.customColors);\n  }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/tree-map/tree-map.component.ts","import { NgModule } from '@angular/core';\nimport { ChartCommonModule } from '../common/chart-common.module';\nimport { TreeMapCellComponent } from './tree-map-cell.component';\nimport { TreeMapCellSeriesComponent } from './tree-map-cell-series.component';\nimport { TreeMapComponent } from './tree-map.component';\n\nexport { TreeMapCellComponent, TreeMapCellSeriesComponent, TreeMapComponent };\n\n@NgModule({\n  imports: [ChartCommonModule],\n  declarations: [\n    TreeMapCellComponent,\n    TreeMapCellSeriesComponent,\n    TreeMapComponent\n  ],\n  exports: [\n    TreeMapCellComponent,\n    TreeMapCellSeriesComponent,\n    TreeMapComponent\n  ]\n})\nexport class TreeMapModule {}\n\n\n\n// WEBPACK FOOTER //\n// ./src/tree-map/tree-map.module.ts","export let colorSets = [\n  {\n    name: 'vivid',\n    selectable: true,\n    group: 'Ordinal',\n    domain: [\n      '#647c8a', '#3f51b5', '#2196f3', '#00b862', '#afdf0a', '#a7b61a', '#f3e562', '#ff9800', '#ff5722', '#ff4514'\n    ]\n  },\n  {\n    name: 'natural',\n    selectable: true,\n    group: 'Ordinal',\n    domain: [\n      '#bf9d76', '#e99450', '#d89f59', '#f2dfa7', '#a5d7c6', '#7794b1', '#afafaf', '#707160', '#ba9383', '#d9d5c3'\n    ]\n  },\n  {\n    name: 'cool',\n    selectable: true,\n    group: 'Ordinal',\n    domain: [\n      '#a8385d', '#7aa3e5', '#a27ea8', '#aae3f5', '#adcded', '#a95963', '#8796c0', '#7ed3ed', '#50abcc', '#ad6886'\n    ]\n  },\n  {\n    name: 'fire',\n    selectable: true,\n    group: 'Ordinal',\n    domain: [\n      '#ff3d00', '#bf360c', '#ff8f00', '#ff6f00', '#ff5722', '#e65100', '#ffca28', '#ffab00'\n    ]\n  },\n  {\n    name: 'solar',\n    selectable: true,\n    group: 'Continuous',\n    domain: [\n      '#fff8e1', '#ffecb3', '#ffe082', '#ffd54f', '#ffca28', '#ffc107', '#ffb300', '#ffa000', '#ff8f00', '#ff6f00'\n    ]\n  },\n  {\n    name: 'air',\n    selectable: true,\n    group: 'Continuous',\n    domain: [\n      '#e1f5fe', '#b3e5fc', '#81d4fa', '#4fc3f7', '#29b6f6', '#03a9f4', '#039be5', '#0288d1', '#0277bd', '#01579b'\n    ]\n  },\n  {\n    name: 'aqua',\n    selectable: true,\n    group: 'Continuous',\n    domain: [\n      '#e0f7fa', '#b2ebf2', '#80deea', '#4dd0e1', '#26c6da', '#00bcd4', '#00acc1', '#0097a7', '#00838f', '#006064'\n    ]\n  },\n  {\n    name: 'flame',\n    selectable: false,\n    group: 'Ordinal',\n    domain: [\n      '#A10A28', '#D3342D', '#EF6D49', '#FAAD67', '#FDDE90', '#DBED91', '#A9D770', '#6CBA67', '#2C9653', '#146738'\n    ]\n  },\n  {\n    name: 'ocean',\n    selectable: false,\n    group: 'Ordinal',\n    domain: [\n      '#1D68FB', '#33C0FC', '#4AFFFE', '#AFFFFF', '#FFFC63', '#FDBD2D', '#FC8A25', '#FA4F1E', '#FA141B', '#BA38D1'\n    ]\n  },\n  {\n    name: 'forest',\n    selectable: false,\n    group: 'Ordinal',\n    domain: [\n      '#55C22D', '#C1F33D', '#3CC099', '#AFFFFF', '#8CFC9D', '#76CFFA', '#BA60FB', '#EE6490', '#C42A1C', '#FC9F32'\n    ]\n  },\n  {\n    name: 'horizon',\n    selectable: false,\n    group: 'Ordinal',\n    domain: [\n      '#2597FB', '#65EBFD', '#99FDD0', '#FCEE4B', '#FEFCFA', '#FDD6E3', '#FCB1A8', '#EF6F7B', '#CB96E8', '#EFDEE0'\n    ]\n  },\n  {\n    name: 'neons',\n    selectable: false,\n    group: 'Ordinal',\n    domain: [\n      '#FF3333', '#FF33FF', '#CC33FF', '#0000FF', '#33CCFF', '#33FFFF', '#33FF66', '#CCFF33', '#FFCC00', '#FF6600'\n    ]\n  },\n  {\n    name: 'picnic',\n    selectable: false,\n    group: 'Ordinal',\n    domain: [\n      '#FAC51D', '#66BD6D', '#FAA026', '#29BB9C', '#E96B56', '#55ACD2', '#B7332F', '#2C83C9', '#9166B8', '#92E7E8'\n    ]\n  },\n  {\n    name: 'night',\n    selectable: false,\n    group: 'Ordinal',\n    domain: [\n      '#2B1B5A', '#501356', '#183356', '#28203F', '#391B3C', '#1E2B3C', '#120634',\n      '#2D0432', '#051932', '#453080', '#75267D', '#2C507D', '#4B3880', '#752F7D', '#35547D'\n    ]\n  },\n  {\n    name: 'nightLights',\n    selectable: false,\n    group: 'Ordinal',\n    domain: [\n      '#4e31a5', '#9c25a7', '#3065ab', '#57468b', '#904497', '#46648b', \n      '#32118d', '#a00fb3', '#1052a2', '#6e51bd', '#b63cc3', '#6c97cb', '#8671c1', '#b455be', '#7496c3'\n    ]\n  }\n];\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/color-sets.ts","/**\n * Converts a hex to RGB\n * http://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb\n *\n * @export\n * @param {string} hex\n * @returns {*}\n */\nexport function hexToRgb(hex: string): any {\n  const result =\n    hex.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i\n      , (m, r, g, b) => '#' + r + r + g + g + b + b)\n    .substring(1).match(/.{2}/g)\n    .map(x => parseInt(x, 16));\n\n  return {\n    r: result[0],\n    g: result[1],\n    b: result[2]\n  };\n}\n\n/**\n * Accepts a hex color and returns a inverted hex color\n * http://stackoverflow.com/questions/9600295/automatically-change-text-color-to-assure-readability\n *\n * @export\n * @param {any} color\n * @returns {string}\n */\nexport function invertColor(hex): any {\n  const { r, g, b } = hexToRgb(hex);\n  const yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;\n  const darken = (yiq >= 128);\n  const depth = darken ? -.8 : .8;\n\n  return shadeRGBColor({ r, g, b }, depth);\n}\n\n/**\n * Given a rgb, it will darken/lighten\n * http://stackoverflow.com/questions/5560248/programmatically-lighten-or-darken-a-hex-color-or-rgb-and-blend-colors\n *\n * @export\n * @param {any} { r, g, b }\n * @param {any} percent\n * @returns\n */\nexport function shadeRGBColor({ r, g, b }, percent) {\n  const t = percent < 0 ? 0 : 255;\n  const p = percent < 0 ? percent * -1 : percent;\n\n  r = (Math.round((t - r) * p) + r);\n  g = (Math.round((t - g) * p) + g);\n  b = (Math.round((t - b) * p) + b);\n\n  return `rgb(${r}, ${g}, ${b})`;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/color-utils.ts","let cache = {};\n\n/**\n * Generates a short id.\n *\n * Description:\n *   A 4-character alphanumeric sequence (364 = 1.6 million)\n *   This should only be used for JavaScript specific models.\n *   http://stackoverflow.com/questions/6248666/how-to-generate-short-uid-like-ax4j9z-in-js\n *\n *   Example: `ebgf`\n */\nexport function id(): string {\n  let newId = ('0000' + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\n\n  // append a 'a' because neo gets mad\n  newId = `a${newId}`;\n\n  // ensure not already used\n  if(!cache[newId]) {\n    cache[newId] = true;\n    return newId;\n  }\n\n  return id();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/id.ts","import * as moment from 'moment';\nexport function sortLinear(data, property, direction = 'asc') {\n  return data.sort((a, b) => {\n    if (direction === 'asc') {\n      return a[property] - b[property];\n    } else {\n      return b[property] - a[property];\n    }\n  });\n}\n\nexport function sortByDomain(data, property, direction = 'asc', domain) {\n  return data.sort((a, b) => {\n    let aVal = a[property];\n    let bVal = b[property];\n\n    let aIdx = domain.indexOf(aVal);\n    let bIdx = domain.indexOf(bVal);\n\n    if (direction === 'asc') {\n      return aIdx - bIdx;\n    } else {\n      return bIdx - aIdx;\n    }\n  });\n}\n\nexport function sortByTime(data, property, direction = 'asc') {\n  return data.sort((a, b) => {\n    let aDate = moment(a[property]);\n    let bDate = moment(b[property]);\n\n    if (direction === 'asc') {\n      if (aDate.isAfter(bDate)) return 1;\n      if (bDate.isAfter(aDate)) return -1;\n      return 0;\n    } else {\n      if (aDate.isAfter(bDate)) return -1;\n      if (bDate.isAfter(aDate)) return 1;\n      return 0;\n    }\n  });\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/sort.ts","\n/**\n * Throttle a function\n *\n * @export\n * @param {*}      func\n * @param {number} wait\n * @param {*}      [options]\n * @returns\n */\nexport function throttle(func: any, wait: number, options?: any) {\n  options = options || {};\n  let context;\n  let args;\n  let result;\n  let timeout = null;\n  let previous = 0;\n\n  function later() {\n    previous = options.leading === false ? 0 : +new Date();\n    timeout = null;\n    result = func.apply(context, args);\n  }\n\n  return function() {\n    let now = +new Date();\n\n    if (!previous && options.leading === false) {\n      previous = now;\n    }\n\n    let remaining = wait - (now - previous);\n    context = this;\n    args = arguments;\n\n    if (remaining <= 0) {\n      clearTimeout(timeout);\n      timeout = null;\n      previous = now;\n      result = func.apply(context, args);\n    } else if (!timeout && options.trailing !== false) {\n      timeout = setTimeout(later, remaining);\n    }\n\n    return result;\n  };\n}\n\n/**\n * Throttle decorator\n *\n *  class MyClass {\n *    throttleable(10)\n *    myFn() { ... }\n *  }\n *\n * @export\n * @param {number} duration\n * @param {*} [options]\n * @returns\n */\nexport function throttleable(duration: number, options?: any) {\n  return function innerDecorator (target, key, descriptor) {\n    return {\n      configurable: true,\n      enumerable: descriptor.enumerable,\n      get: function getter () {\n        Object.defineProperty(this, key, {\n          configurable: true,\n          enumerable: descriptor.enumerable,\n          value: throttle(descriptor.value, duration, options)\n        });\n\n        return this[key];\n      }\n    };\n  };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/utils/throttle.ts","module.exports = __WEBPACK_EXTERNAL_MODULE_0__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/core\"\n// module id = 0\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_1__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"moment\"\n// module id = 1\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_10__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-interpolate\"\n// module id = 10\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_11__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-scale\"\n// module id = 11\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_12__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-selection\"\n// module id = 12\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_13__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-shape\"\n// module id = 13\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_14__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"rxjs/Rx\"\n// module id = 14\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_2__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/common\"\n// module id = 2\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_3__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"@angular/platform-browser\"\n// module id = 3\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_4__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-array\"\n// module id = 4\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_5__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-brush\"\n// module id = 5\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_6__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-color\"\n// module id = 6\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_7__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-force\"\n// module id = 7\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_8__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-format\"\n// module id = 8\n// module chunks = 0","module.exports = __WEBPACK_EXTERNAL_MODULE_9__;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"d3-hierarchy\"\n// module id = 9\n// module chunks = 0"],"sourceRoot":""}