@ember-eui/core 8.0.59 → 8.0.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/declarations/components/eui-page-template.d.ts.map +1 -1
- package/declarations/helpers/hex-to-rgb.d.ts +1 -0
- package/declarations/helpers/hex-to-rgb.d.ts.map +1 -1
- package/dist/components/eui-page-template.js +5 -1
- package/dist/components/eui-page-template.js.map +1 -1
- package/dist/helpers/hex-to-rgb.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-page-template.d.ts","sourceRoot":"","sources":["../../src/components/eui-page-template.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"eui-page-template.d.ts","sourceRoot":"","sources":["../../src/components/eui-page-template.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex-to-rgb.d.ts","sourceRoot":"","sources":["../../src/helpers/hex-to-rgb.ts"],"names":[],"mappings":"AAwBA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB5C;;;;;;;;AAED,wBAEG"}
|
|
1
|
+
{"version":3,"file":"hex-to-rgb.d.ts","sourceRoot":"","sources":["../../src/helpers/hex-to-rgb.ts"],"names":[],"mappings":"AAwBA,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAmB5C;;;;;;;;AAED,wBAEG"}
|
|
@@ -427,7 +427,11 @@ let EuiPageTemplate = setComponentTemplate(precompileTemplate(`
|
|
|
427
427
|
{{style (inlineStyles min-height=this.minHeight)}}
|
|
428
428
|
...attributes
|
|
429
429
|
>
|
|
430
|
-
<EuiPageSideBar
|
|
430
|
+
<EuiPageSideBar
|
|
431
|
+
class={{@pageSideBarProps.className}}
|
|
432
|
+
@sticky={{true}}
|
|
433
|
+
@paddingSize={{paddingSize}}
|
|
434
|
+
>
|
|
431
435
|
{{yield to="pageSideBar"}}
|
|
432
436
|
</EuiPageSideBar>
|
|
433
437
|
<EuiPageBody
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-page-template.js","sources":["../../src/components/eui-page-template.ts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nimport style from 'ember-style-modifier/modifiers/style';\n// import { tabbable } from 'tabbable';\n// import {\n// anchorPositionMapping,\n// displayMapping\n// } from '../../utils/css-mappings/eui-popover';\n// import { paddingSizeMapping } from '../../utils/css-mappings/eui-panel';\n// import { scheduleOnce, later, cancel } from '@ember/runloop';\n// import { assert } from '@ember/debug';\n// import { htmlSafe } from '@ember/template';\nimport { and, eq,or } from 'ember-truth-helpers';\n\n// import { action } from '@ember/object';\n// import { tracked } from '@glimmer/tracking';\n// import {\n// getTransitionTimings,\n// getWaitDuration,\n// performOnFrame\n// } from '../../utils/transition';\n// import { findPopoverPosition, getElementZIndex } from '../../utils/popover';\n// import { EuiPopoverPosition } from '../../utils/popover/types';\n// import { cascadingMenuKeys } from '../../utils/accesibility';\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default';\nimport classNames from '../helpers/class-names';\nimport inlineStyles from '../helpers/inline-styles';\nimport useIsWithinBreakpoints from '../modifiers/use-is-within-breakpoints';\nimport EuiBottomBar from './eui-bottom-bar.gts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiPage from './eui-page.gts';\nimport EuiPageBody from './eui-page-body.gts';\nimport EuiPageContent from './eui-page-content.gts';\nimport EuiPageContentBody from './eui-page-content-body.gts';\nimport EuiPageHeader from './eui-page-header.gts';\nimport EuiPageSideBar from './eui-page-side-bar.gts';\n\nimport type { EuiBreakpointSize } from '../utils/breakpoint';\nimport type { EuiButtomBarArgs } from './eui-bottom-bar';\nimport type { EuiPageBodySignature } from './eui-page-body';\nimport type { EuiPageContentSignature } from './eui-page-content';\nimport type { EuiPageContentBodySignature } from './eui-page-content-body';\nimport type { EuiPageHeaderSignature } from './eui-page-header';\nimport type { EuiPageSideBarSignature } from './eui-page-side-bar';\n\nexport const TEMPLATES = [\n 'default',\n 'centeredBody',\n 'centeredContent',\n 'empty'\n] as const;\n\nconst BREAKPOINTS: EuiBreakpointSize[] = ['m', 'l', 'xl'];\n\ninterface NormalProps {\n className?: string;\n}\n\nexport type EuiPageTemplateProps = {\n template?: (typeof TEMPLATES)[number];\n\n pageBodyProps: NormalProps & EuiPageBodySignature['Args'];\n pageContentProps: NormalProps & EuiPageContentSignature['Args'];\n pageContentBodyProps: NormalProps & EuiPageContentBodySignature['Args'];\n\n pageHeader: NormalProps & EuiPageHeaderSignature['Args'];\n\n pageSideBarProps: NormalProps & EuiPageSideBarSignature['Args'];\n\n /**\n * Adds a bottom bar to the page template\n */\n bottomBar?: any;\n\n /**\n * Adds a bottom bar to the page template\n */\n hasBottomBarBlock?: boolean;\n\n /**\n * Gets passed along to the #EuiBottomBar component if `bottomBar` has contents\n */\n bottomBarProps?: EuiButtomBarArgs;\n /* Stretches or restricts the height to 100% of the parent;\n * `true`: scrolls the EuiPageContentBody;\n * `noscroll`: removes all scroll ability;\n * Only works when `template = 'default | empty'` and breakpoint is `m` and above\n */\n fullHeight?: boolean;\n /**\n * Minimum height in which to enforce scrolling\n */\n minHeight?: number;\n\n restrictWidth?: boolean | number | string;\n\n grow?: boolean;\n paddingSize?: EuiPageSideBarSignature['Args']['paddingSize'];\n hasPageSideBarBlock?: boolean;\n hasPageHeaderPageTitleBlock?: boolean;\n hasPageHeaderDefaultBlock?: boolean;\n hasPageHeaderRightSideItemsBlock?: boolean;\n hasPageHeaderDescriptionBlock?: boolean;\n hasPageHeader?: boolean;\n hasPageContent?: boolean;\n hasPageContentBody?: boolean;\n};\n\nexport interface EuiPageTemplateSignature {\n Element: HTMLElement;\n Args: EuiPageTemplateProps;\n Blocks: {\n default: [];\n pageSideBar: [];\n pageHeaderPageTitle: [];\n pageHeaderDefault: [];\n pageHeaderDescription: [];\n pageHeaderRightSideItems: EuiPageHeaderSignature['Blocks']['rightSideItems'];\n bottomBar: [];\n };\n}\n\nexport default class EuiPageTemplate extends Component<EuiPageTemplateSignature> {\n // Defaults\n @argOrDefaultDecorator(false) fullHeight!: boolean;\n @argOrDefaultDecorator('default') template!: (typeof TEMPLATES)[number];\n\n @tracked isWithinBreakpoints = false;\n\n setIsWithinBreakpoints = (value: boolean) => {\n this.isWithinBreakpoints = value;\n };\n\n get minHeight() {\n const minHeight = this.args.minHeight ?? 460;\n\n if (typeof this.args.minHeight === 'number') {\n return `${minHeight}px`;\n }\n\n return minHeight;\n }\n\n get restrictWidth() {\n const width = this.args.restrictWidth ?? true;\n\n if (typeof this.args.restrictWidth === 'number') {\n return `${width}px`;\n }\n\n return width;\n }\n\n get classes() {\n return `euiPageTemplate ${this.fullHeightClass}`;\n }\n\n get fullHeightClass() {\n return this.fullHeight && this.canFullHeight ? 'eui-fullHeight ' : '';\n }\n\n get yScrollClass() {\n return this.fullHeight && this.canFullHeight ? 'eui-yScroll ' : '';\n }\n\n get canFullHeight() {\n return (\n this.isWithinBreakpoints &&\n (this.template === 'default' || this.template === 'empty')\n );\n }\n\n get pageBodyPropsClass() {\n return `${this.fullHeightClass} ${this.args.pageBodyProps?.className}`;\n }\n\n get pageContentPropsClass() {\n return `${this.yScrollClass} ${this.args.pageContentProps?.className}`;\n }\n\n get pageContentBodyPropsClass() {\n return `${this.fullHeightClass} ${this.args.pageContentBodyProps?.className}`;\n }\n\n [__GLIMMER_TEMPLATE(`\n {{#let\n (argOrDefault @grow true)\n (argOrDefault @paddingSize \"l\")\n (and (argOrDefault @hasBottomBarBlock true) (has-block \"bottomBar\"))\n (and (argOrDefault @hasPageSideBarBlock true) (has-block \"pageSideBar\"))\n (and\n (argOrDefault @hasPageHeaderPageTitleBlock true)\n (has-block \"pageHeaderPageTitle\")\n )\n (and\n (argOrDefault @hasPageHeaderDefaultBlock true)\n (has-block \"pageHeaderDefault\")\n )\n (and\n (argOrDefault @hasPageHeaderRightSideItemsBlock true)\n (has-block \"pageHeaderRightSideItems\")\n )\n (and\n (argOrDefault @hasPageHeaderDescriptionBlock true)\n (has-block \"pageHeaderDescription\")\n )\n (modifier\n useIsWithinBreakpoints\n sizes=BREAKPOINTS\n isActive=true\n setIsWithinBreakpointsValue=this.setIsWithinBreakpoints\n )\n as |grow paddingSize hasBottomBarBlock hasPageSideBarBlock hasPageHeaderPageTitleBlock hasPageHeaderDefaultBlock hasPageHeaderRightSideItemsBlock hasPageHeaderDescriptionBlock isWithinBreakpointsModifier|\n }}\n {{#let\n (or\n @pageHeader\n hasPageHeaderPageTitleBlock\n hasPageHeaderDefaultBlock\n hasPageHeaderRightSideItemsBlock\n hasPageHeaderDescriptionBlock\n )\n as |hasPageHeader|\n }}\n {{#if (eq this.template \"centeredBody\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n @paddingSize={{paddingSize}}\n >\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n\n <EuiPageContent\n class={{this.pageContentPropsClass}}\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @paddingSize={{paddingSize}}\n >\n <EuiPageContentBody\n class={{this.pageContentBodyPropsClass}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize={{paddingSize}}\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @restrictWidth={{false}}\n @bottomBorder={{@pageHeader.bottomBorder}}\n @paddingSize=\"none\"\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageBody>\n <EuiPageContent\n class={{this.pageContentPropsClass}}\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasBorder={{@pageContentProps.hasBorder}}\n @hasShadow={{@pageContentProps.hasShadow}}\n @color={{@pageContentProps.color}}\n @borderRadius={{@pageContentProps.borderRadius}}\n @grow={{@pageContentProps.grow}}\n @role={{@pageContentProps.role}}\n @paddingSize={{paddingSize}}\n >\n <EuiPageContentBody\n class={{this.pageContentBodyPropsClass}}\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else if (eq this.template \"centeredContent\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @panelled={{true}}\n @paddingSize={{paddingSize}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasShadow={{false}}\n @color=\"subdued\"\n @paddingSize={{paddingSize}}\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody class={{this.pageBodyPropsClass}}>\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n {{!template-lint-disable}}\n <EuiPageContent\n role={{null}}\n @borderRadius=\"none\"\n @hasShadow={{false}}\n @paddingSize={{paddingSize}}\n style=\"display: flex\"\n >\n {{!template-lint-enable}}\n <EuiPageContent\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasShadow={{false}}\n @color=\"subdued\"\n @paddingSize={{paddingSize}}\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else if (eq this.template \"empty\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar @sticky={{true}} @paddingSize={{paddingSize}}>\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @paddingSize={{paddingSize}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"transparent\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize={{paddingSize}}\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @bottomBorder={{@pageHeader.bottomBorder}}\n @restrictWidth={{false}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"transparent\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n @restrictWidth={{false}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @panelled={{true}}\n @paddingSize=\"none\"\n class={{this.pageBodyPropsClass}}\n >\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n @paddingSize={{paddingSize}}\n @tagName=\"div\"\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @bottomBorder={{@pageHeader.bottomBorder}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasShadow={{false}}\n @hasBorder={{false}}\n @color=\"transparent\"\n @borderRadius=\"none\"\n @paddingSize=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n {{#if hasBottomBarBlock}}\n <EuiBottomBar\n @paddingSize={{paddingSize}}\n @position={{if\n (and this.canFullHeight this.fullHeight)\n \"static\"\n \"sticky\"\n }}\n >\n <EuiPageContentBody\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{yield to=\"bottomBar\"}}\n </EuiPageContentBody>\n </EuiBottomBar>\n {{/if}}\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody class={{this.pageBodyPropsClass}}>\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @bottomBorder={{@pageHeader.bottomBorder}}\n @paddingSize={{paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{if hasPageHeader false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"plain\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{paddingSize}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n {{#if hasBottomBarBlock}}\n <EuiBottomBar\n @paddingSize={{paddingSize}}\n @position={{if\n (and this.canFullHeight this.fullHeight)\n \"static\"\n \"sticky\"\n }}\n >\n <EuiPageContentBody\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{yield to=\"bottomBar\"}}\n </EuiPageContentBody>\n </EuiBottomBar>\n {{/if}}\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{/if}}\n {{/let}}\n {{/let}}\n `, { strictMode: true, scope: () => ({argOrDefault,and,useIsWithinBreakpoints,BREAKPOINTS,or,eq,EuiPage,style,inlineStyles,EuiPageSideBar,EuiPageBody,EuiPageHeader,EuiPageContent,EuiPageContentBody,EuiFlexGroup,EuiFlexItem,classNames,EuiBottomBar}) })]\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2UtdGVtcGxhdGUuanMiLCJzb3VyY2VzIjpbImV1aS1wYWdlLXRlbXBsYXRlLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnZW1iZXItc3R5bGUtbW9kaWZpZXIvbW9kaWZpZXJzL3N0eWxlJztcbi8vIGltcG9ydCB7IHRhYmJhYmxlIH0gZnJvbSAndGFiYmFibGUnO1xuLy8gaW1wb3J0IHtcbi8vICAgYW5jaG9yUG9zaXRpb25NYXBwaW5nLFxuLy8gICBkaXNwbGF5TWFwcGluZ1xuLy8gfSBmcm9tICcuLi8uLi91dGlscy9jc3MtbWFwcGluZ3MvZXVpLXBvcG92ZXInO1xuLy8gaW1wb3J0IHsgcGFkZGluZ1NpemVNYXBwaW5nIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3NzLW1hcHBpbmdzL2V1aS1wYW5lbCc7XG4vLyBpbXBvcnQgeyBzY2hlZHVsZU9uY2UsIGxhdGVyLCBjYW5jZWwgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG4vLyBpbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAZW1iZXIvZGVidWcnO1xuLy8gaW1wb3J0IHsgaHRtbFNhZmUgfSBmcm9tICdAZW1iZXIvdGVtcGxhdGUnO1xuaW1wb3J0IHsgYW5kLCBlcSxvciB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG4vLyBpbXBvcnQgeyBhY3Rpb24gfSBmcm9tICdAZW1iZXIvb2JqZWN0Jztcbi8vIGltcG9ydCB7IHRyYWNrZWQgfSBmcm9tICdAZ2xpbW1lci90cmFja2luZyc7XG4vLyBpbXBvcnQge1xuLy8gICBnZXRUcmFuc2l0aW9uVGltaW5ncyxcbi8vICAgZ2V0V2FpdER1cmF0aW9uLFxuLy8gICBwZXJmb3JtT25GcmFtZVxuLy8gfSBmcm9tICcuLi8uLi91dGlscy90cmFuc2l0aW9uJztcbi8vIGltcG9ydCB7IGZpbmRQb3BvdmVyUG9zaXRpb24sIGdldEVsZW1lbnRaSW5kZXggfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyJztcbi8vIGltcG9ydCB7IEV1aVBvcG92ZXJQb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3BvcG92ZXIvdHlwZXMnO1xuLy8gaW1wb3J0IHsgY2FzY2FkaW5nTWVudUtleXMgfSBmcm9tICcuLi8uLi91dGlscy9hY2Nlc2liaWxpdHknO1xuaW1wb3J0IGFyZ09yRGVmYXVsdCwgeyBhcmdPckRlZmF1bHREZWNvcmF0b3IgfSBmcm9tICcuLi9oZWxwZXJzL2FyZy1vci1kZWZhdWx0JztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJy4uL2hlbHBlcnMvY2xhc3MtbmFtZXMnO1xuaW1wb3J0IGlubGluZVN0eWxlcyBmcm9tICcuLi9oZWxwZXJzL2lubGluZS1zdHlsZXMnO1xuaW1wb3J0IHVzZUlzV2l0aGluQnJlYWtwb2ludHMgZnJvbSAnLi4vbW9kaWZpZXJzL3VzZS1pcy13aXRoaW4tYnJlYWtwb2ludHMnO1xuaW1wb3J0IEV1aUJvdHRvbUJhciBmcm9tICcuL2V1aS1ib3R0b20tYmFyLmd0cyc7XG5pbXBvcnQgRXVpRmxleEdyb3VwIGZyb20gJy4vZXVpLWZsZXgtZ3JvdXAuZ3RzJztcbmltcG9ydCBFdWlGbGV4SXRlbSBmcm9tICcuL2V1aS1mbGV4LWl0ZW0uZ3RzJztcbmltcG9ydCBFdWlQYWdlIGZyb20gJy4vZXVpLXBhZ2UuZ3RzJztcbmltcG9ydCBFdWlQYWdlQm9keSBmcm9tICcuL2V1aS1wYWdlLWJvZHkuZ3RzJztcbmltcG9ydCBFdWlQYWdlQ29udGVudCBmcm9tICcuL2V1aS1wYWdlLWNvbnRlbnQuZ3RzJztcbmltcG9ydCBFdWlQYWdlQ29udGVudEJvZHkgZnJvbSAnLi9ldWktcGFnZS1jb250ZW50LWJvZHkuZ3RzJztcbmltcG9ydCBFdWlQYWdlSGVhZGVyIGZyb20gJy4vZXVpLXBhZ2UtaGVhZGVyLmd0cyc7XG5pbXBvcnQgRXVpUGFnZVNpZGVCYXIgZnJvbSAnLi9ldWktcGFnZS1zaWRlLWJhci5ndHMnO1xuXG5pbXBvcnQgdHlwZSB7IEV1aUJyZWFrcG9pbnRTaXplIH0gZnJvbSAnLi4vdXRpbHMvYnJlYWtwb2ludCc7XG5pbXBvcnQgdHlwZSB7IEV1aUJ1dHRvbUJhckFyZ3MgfSBmcm9tICcuL2V1aS1ib3R0b20tYmFyJztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZUJvZHlTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLWJvZHknO1xuaW1wb3J0IHR5cGUgeyBFdWlQYWdlQ29udGVudFNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtY29udGVudCc7XG5pbXBvcnQgdHlwZSB7IEV1aVBhZ2VDb250ZW50Qm9keVNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtY29udGVudC1ib2R5JztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZUhlYWRlclNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXBhZ2UtaGVhZGVyJztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZVNpZGVCYXJTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLXNpZGUtYmFyJztcblxuZXhwb3J0IGNvbnN0IFRFTVBMQVRFUyA9IFtcbiAgJ2RlZmF1bHQnLFxuICAnY2VudGVyZWRCb2R5JyxcbiAgJ2NlbnRlcmVkQ29udGVudCcsXG4gICdlbXB0eSdcbl0gYXMgY29uc3Q7XG5cbmNvbnN0IEJSRUFLUE9JTlRTOiBFdWlCcmVha3BvaW50U2l6ZVtdID0gWydtJywgJ2wnLCAneGwnXTtcblxuaW50ZXJmYWNlIE5vcm1hbFByb3BzIHtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBFdWlQYWdlVGVtcGxhdGVQcm9wcyA9IHtcbiAgdGVtcGxhdGU/OiAodHlwZW9mIFRFTVBMQVRFUylbbnVtYmVyXTtcblxuICBwYWdlQm9keVByb3BzOiBOb3JtYWxQcm9wcyAmIEV1aVBhZ2VCb2R5U2lnbmF0dXJlWydBcmdzJ107XG4gIHBhZ2VDb250ZW50UHJvcHM6IE5vcm1hbFByb3BzICYgRXVpUGFnZUNvbnRlbnRTaWduYXR1cmVbJ0FyZ3MnXTtcbiAgcGFnZUNvbnRlbnRCb2R5UHJvcHM6IE5vcm1hbFByb3BzICYgRXVpUGFnZUNvbnRlbnRCb2R5U2lnbmF0dXJlWydBcmdzJ107XG5cbiAgcGFnZUhlYWRlcjogTm9ybWFsUHJvcHMgJiBFdWlQYWdlSGVhZGVyU2lnbmF0dXJlWydBcmdzJ107XG5cbiAgcGFnZVNpZGVCYXJQcm9wczogTm9ybWFsUHJvcHMgJiBFdWlQYWdlU2lkZUJhclNpZ25hdHVyZVsnQXJncyddO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgYm90dG9tIGJhciB0byB0aGUgcGFnZSB0ZW1wbGF0ZVxuICAgKi9cbiAgYm90dG9tQmFyPzogYW55O1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgYm90dG9tIGJhciB0byB0aGUgcGFnZSB0ZW1wbGF0ZVxuICAgKi9cbiAgaGFzQm90dG9tQmFyQmxvY2s/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBHZXRzIHBhc3NlZCBhbG9uZyB0byB0aGUgI0V1aUJvdHRvbUJhciBjb21wb25lbnQgaWYgYGJvdHRvbUJhcmAgaGFzIGNvbnRlbnRzXG4gICAqL1xuICBib3R0b21CYXJQcm9wcz86IEV1aUJ1dHRvbUJhckFyZ3M7XG4gIC8qIFN0cmV0Y2hlcyBvciByZXN0cmljdHMgdGhlIGhlaWdodCB0byAxMDAlIG9mIHRoZSBwYXJlbnQ7XG4gICAqIGB0cnVlYDogc2Nyb2xscyB0aGUgRXVpUGFnZUNvbnRlbnRCb2R5O1xuICAgKiBgbm9zY3JvbGxgOiByZW1vdmVzIGFsbCBzY3JvbGwgYWJpbGl0eTtcbiAgICogT25seSB3b3JrcyB3aGVuIGB0ZW1wbGF0ZSA9ICdkZWZhdWx0IHwgZW1wdHknYCBhbmQgYnJlYWtwb2ludCBpcyBgbWAgYW5kIGFib3ZlXG4gICAqL1xuICBmdWxsSGVpZ2h0PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIE1pbmltdW0gaGVpZ2h0IGluIHdoaWNoIHRvIGVuZm9yY2Ugc2Nyb2xsaW5nXG4gICAqL1xuICBtaW5IZWlnaHQ/OiBudW1iZXI7XG5cbiAgcmVzdHJpY3RXaWR0aD86IGJvb2xlYW4gfCBudW1iZXIgfCBzdHJpbmc7XG5cbiAgZ3Jvdz86IGJvb2xlYW47XG4gIHBhZGRpbmdTaXplPzogRXVpUGFnZVNpZGVCYXJTaWduYXR1cmVbJ0FyZ3MnXVsncGFkZGluZ1NpemUnXTtcbiAgaGFzUGFnZVNpZGVCYXJCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2s/OiBib29sZWFuO1xuICBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrPzogYm9vbGVhbjtcbiAgaGFzUGFnZUhlYWRlcj86IGJvb2xlYW47XG4gIGhhc1BhZ2VDb250ZW50PzogYm9vbGVhbjtcbiAgaGFzUGFnZUNvbnRlbnRCb2R5PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpUGFnZVRlbXBsYXRlU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIEFyZ3M6IEV1aVBhZ2VUZW1wbGF0ZVByb3BzO1xuICBCbG9ja3M6IHtcbiAgICBkZWZhdWx0OiBbXTtcbiAgICBwYWdlU2lkZUJhcjogW107XG4gICAgcGFnZUhlYWRlclBhZ2VUaXRsZTogW107XG4gICAgcGFnZUhlYWRlckRlZmF1bHQ6IFtdO1xuICAgIHBhZ2VIZWFkZXJEZXNjcmlwdGlvbjogW107XG4gICAgcGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zOiBFdWlQYWdlSGVhZGVyU2lnbmF0dXJlWydCbG9ja3MnXVsncmlnaHRTaWRlSXRlbXMnXTtcbiAgICBib3R0b21CYXI6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdWlQYWdlVGVtcGxhdGUgZXh0ZW5kcyBDb21wb25lbnQ8RXVpUGFnZVRlbXBsYXRlU2lnbmF0dXJlPiB7XG4gIC8vIERlZmF1bHRzXG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoZmFsc2UpIGZ1bGxIZWlnaHQhOiBib29sZWFuO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdkZWZhdWx0JykgdGVtcGxhdGUhOiAodHlwZW9mIFRFTVBMQVRFUylbbnVtYmVyXTtcblxuICBAdHJhY2tlZCBpc1dpdGhpbkJyZWFrcG9pbnRzID0gZmFsc2U7XG5cbiAgc2V0SXNXaXRoaW5CcmVha3BvaW50cyA9ICh2YWx1ZTogYm9vbGVhbikgPT4ge1xuICAgIHRoaXMuaXNXaXRoaW5CcmVha3BvaW50cyA9IHZhbHVlO1xuICB9O1xuXG4gIGdldCBtaW5IZWlnaHQoKSB7XG4gICAgY29uc3QgbWluSGVpZ2h0ID0gdGhpcy5hcmdzLm1pbkhlaWdodCA/PyA0NjA7XG5cbiAgICBpZiAodHlwZW9mIHRoaXMuYXJncy5taW5IZWlnaHQgPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gYCR7bWluSGVpZ2h0fXB4YDtcbiAgICB9XG5cbiAgICByZXR1cm4gbWluSGVpZ2h0O1xuICB9XG5cbiAgZ2V0IHJlc3RyaWN0V2lkdGgoKSB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLmFyZ3MucmVzdHJpY3RXaWR0aCA/PyB0cnVlO1xuXG4gICAgaWYgKHR5cGVvZiB0aGlzLmFyZ3MucmVzdHJpY3RXaWR0aCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBgJHt3aWR0aH1weGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgZ2V0IGNsYXNzZXMoKSB7XG4gICAgcmV0dXJuIGBldWlQYWdlVGVtcGxhdGUgJHt0aGlzLmZ1bGxIZWlnaHRDbGFzc31gO1xuICB9XG5cbiAgZ2V0IGZ1bGxIZWlnaHRDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5mdWxsSGVpZ2h0ICYmIHRoaXMuY2FuRnVsbEhlaWdodCA/ICdldWktZnVsbEhlaWdodCAnIDogJyc7XG4gIH1cblxuICBnZXQgeVNjcm9sbENsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLmZ1bGxIZWlnaHQgJiYgdGhpcy5jYW5GdWxsSGVpZ2h0ID8gJ2V1aS15U2Nyb2xsICcgOiAnJztcbiAgfVxuXG4gIGdldCBjYW5GdWxsSGVpZ2h0KCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzV2l0aGluQnJlYWtwb2ludHMgJiZcbiAgICAgICh0aGlzLnRlbXBsYXRlID09PSAnZGVmYXVsdCcgfHwgdGhpcy50ZW1wbGF0ZSA9PT0gJ2VtcHR5JylcbiAgICApO1xuICB9XG5cbiAgZ2V0IHBhZ2VCb2R5UHJvcHNDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5mdWxsSGVpZ2h0Q2xhc3N9ICR7dGhpcy5hcmdzLnBhZ2VCb2R5UHJvcHM/LmNsYXNzTmFtZX1gO1xuICB9XG5cbiAgZ2V0IHBhZ2VDb250ZW50UHJvcHNDbGFzcygpIHtcbiAgICByZXR1cm4gYCR7dGhpcy55U2Nyb2xsQ2xhc3N9ICR7dGhpcy5hcmdzLnBhZ2VDb250ZW50UHJvcHM/LmNsYXNzTmFtZX1gO1xuICB9XG5cbiAgZ2V0IHBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZnVsbEhlaWdodENsYXNzfSAke3RoaXMuYXJncy5wYWdlQ29udGVudEJvZHlQcm9wcz8uY2xhc3NOYW1lfWA7XG4gIH1cblxuICA8dGVtcGxhdGU+XG4gICAge3sjbGV0XG4gICAgICAoYXJnT3JEZWZhdWx0IEBncm93IHRydWUpXG4gICAgICAoYXJnT3JEZWZhdWx0IEBwYWRkaW5nU2l6ZSBcImxcIilcbiAgICAgIChhbmQgKGFyZ09yRGVmYXVsdCBAaGFzQm90dG9tQmFyQmxvY2sgdHJ1ZSkgKGhhcy1ibG9jayBcImJvdHRvbUJhclwiKSlcbiAgICAgIChhbmQgKGFyZ09yRGVmYXVsdCBAaGFzUGFnZVNpZGVCYXJCbG9jayB0cnVlKSAoaGFzLWJsb2NrIFwicGFnZVNpZGVCYXJcIikpXG4gICAgICAoYW5kXG4gICAgICAgIChhcmdPckRlZmF1bHQgQGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9jayB0cnVlKVxuICAgICAgICAoaGFzLWJsb2NrIFwicGFnZUhlYWRlclBhZ2VUaXRsZVwiKVxuICAgICAgKVxuICAgICAgKGFuZFxuICAgICAgICAoYXJnT3JEZWZhdWx0IEBoYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrIHRydWUpXG4gICAgICAgIChoYXMtYmxvY2sgXCJwYWdlSGVhZGVyRGVmYXVsdFwiKVxuICAgICAgKVxuICAgICAgKGFuZFxuICAgICAgICAoYXJnT3JEZWZhdWx0IEBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jayB0cnVlKVxuICAgICAgICAoaGFzLWJsb2NrIFwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCIpXG4gICAgICApXG4gICAgICAoYW5kXG4gICAgICAgIChhcmdPckRlZmF1bHQgQGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrIHRydWUpXG4gICAgICAgIChoYXMtYmxvY2sgXCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIilcbiAgICAgIClcbiAgICAgIChtb2RpZmllclxuICAgICAgICB1c2VJc1dpdGhpbkJyZWFrcG9pbnRzXG4gICAgICAgIHNpemVzPUJSRUFLUE9JTlRTXG4gICAgICAgIGlzQWN0aXZlPXRydWVcbiAgICAgICAgc2V0SXNXaXRoaW5CcmVha3BvaW50c1ZhbHVlPXRoaXMuc2V0SXNXaXRoaW5CcmVha3BvaW50c1xuICAgICAgKVxuICAgICAgYXMgfGdyb3cgcGFkZGluZ1NpemUgaGFzQm90dG9tQmFyQmxvY2sgaGFzUGFnZVNpZGVCYXJCbG9jayBoYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2sgaGFzUGFnZUhlYWRlckRlZmF1bHRCbG9jayBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9jayBoYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9jayBpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ8XG4gICAgfX1cbiAgICAgIHt7I2xldFxuICAgICAgICAob3JcbiAgICAgICAgICBAcGFnZUhlYWRlclxuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja1xuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2tcbiAgICAgICAgICBoYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja1xuICAgICAgICAgIGhhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrXG4gICAgICAgIClcbiAgICAgICAgYXMgfGhhc1BhZ2VIZWFkZXJ8XG4gICAgICB9fVxuICAgICAgICB7eyNpZiAoZXEgdGhpcy50ZW1wbGF0ZSBcImNlbnRlcmVkQm9keVwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyXG4gICAgICAgICAgICAgICAgY2xhc3M9e3tAcGFnZVNpZGVCYXJQcm9wcy5jbGFzc05hbWV9fVxuICAgICAgICAgICAgICAgIEBzdGlja3k9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxFdWlQYWdlSGVhZGVyXG4gICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIEBob3Jpem9udGFsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpfX1cbiAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBndXR0ZXJTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHRoaXMuZnVsbEhlaWdodCB0cnVlKSBcImV1aS15U2Nyb2xsXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4R3JvdXA+XG4gICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5XG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzUGFnZUhlYWRlcn19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUJvZHk+XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgQGhvcml6b250YWxQb3NpdGlvbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tAcGFnZUNvbnRlbnRQcm9wcy5oYXNCb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7QHBhZ2VDb250ZW50UHJvcHMuaGFzU2hhZG93fX1cbiAgICAgICAgICAgICAgICAgICAgQGNvbG9yPXt7QHBhZ2VDb250ZW50UHJvcHMuY29sb3J9fVxuICAgICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPXt7QHBhZ2VDb250ZW50UHJvcHMuYm9yZGVyUmFkaXVzfX1cbiAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3tAcGFnZUNvbnRlbnRQcm9wcy5ncm93fX1cbiAgICAgICAgICAgICAgICAgICAgQHJvbGU9e3tAcGFnZUNvbnRlbnRQcm9wcy5yb2xlfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIHt7ZWxzZSBpZiAoZXEgdGhpcy50ZW1wbGF0ZSBcImNlbnRlcmVkQ29udGVudFwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyXG4gICAgICAgICAgICAgICAgY2xhc3M9e3tAcGFnZVNpZGVCYXJQcm9wcy5jbGFzc05hbWV9fVxuICAgICAgICAgICAgICAgIEBzdGlja3k9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIEBwYW5lbGxlZD17e3RydWV9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7QHBhZ2VIZWFkZXIucGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIEBob3Jpem9udGFsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInN1YmR1ZWRcIlxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50Qm9keVxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4R3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBkaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgPEV1aVBhZ2VcbiAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLmNsYXNzZXN9fVxuICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keSBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX0+XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzUGFnZUhlYWRlcn19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e0BwYWdlSGVhZGVyLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgIEBkZXNjcmlwdGlvbj17e0BwYWdlSGVhZGVyLmRlc2NyaXB0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVzY3JpcHRpb25CbG9jaz17e2hhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw6cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDw6cmlnaHRTaWRlSXRlbXMgYXMgfGl0ZW18PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM+XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VIZWFkZXI+XG4gICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgIHt7IXRlbXBsYXRlLWxpbnQtZGlzYWJsZX19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICByb2xlPXt7bnVsbH19XG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJkaXNwbGF5OiBmbGV4XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyF0ZW1wbGF0ZS1saW50LWVuYWJsZX19XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgICAgQHZlcnRpY2FsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBAaG9yaXpvbnRhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgQGNvbG9yPVwic3ViZHVlZFwiXG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cblxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3svaWZ9fVxuICAgICAgICB7e2Vsc2UgaWYgKGVxIHRoaXMudGVtcGxhdGUgXCJlbXB0eVwiKX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyIEBzdGlja3k9e3t0cnVlfX0gQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fT5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7QHBhZ2VIZWFkZXIucGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3tAcGFnZUhlYWRlci5wYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e0BwYWdlSGVhZGVyLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgIEBkZXNjcmlwdGlvbj17e0BwYWdlSGVhZGVyLmRlc2NyaXB0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVzY3JpcHRpb25CbG9jaz17e2hhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw6cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDw6cmlnaHRTaWRlSXRlbXMgYXMgfGl0ZW18PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM+XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VIZWFkZXI+XG4gICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudFxuICAgICAgICAgICAgICAgICAgQGhhc0JvcmRlcj17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBoYXNTaGFkb3c9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgIEBib3JkZXJSYWRpdXM9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudFByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICB7eyNpZiBoYXNQYWdlU2lkZUJhckJsb2NrfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgIEBncm93PXt7Z3Jvd319XG4gICAgICAgICAgICAgIHt7aXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfX1cbiAgICAgICAgICAgICAge3tzdHlsZSAoaW5saW5lU3R5bGVzIG1pbi1oZWlnaHQ9dGhpcy5taW5IZWlnaHQpfX1cbiAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXVpUGFnZVNpZGVCYXJcbiAgICAgICAgICAgICAgICBjbGFzcz17e0BwYWdlU2lkZUJhclByb3BzLmNsYXNzTmFtZX19XG4gICAgICAgICAgICAgICAgQHN0aWNreT17e3RydWV9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlU2lkZUJhclwifX1cbiAgICAgICAgICAgICAgPC9FdWlQYWdlU2lkZUJhcj5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5XG4gICAgICAgICAgICAgICAgQHBhbmVsbGVkPXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUJvZHlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgQHRhZ05hbWU9XCJkaXZcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAgICAgIEBib3R0b21Cb3JkZXI9e3tAcGFnZUhlYWRlci5ib3R0b21Cb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3tAcGFnZUhlYWRlci5wYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICAgIEBoYXNTaGFkb3c9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICAgICAgQGJvcmRlclJhZGl1cz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc0JvdHRvbUJhckJsb2NrfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlCb3R0b21CYXJcbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcG9zaXRpb249e3tpZlxuICAgICAgICAgICAgICAgICAgICAgIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgICBcInN0YXRpY1wiXG4gICAgICAgICAgICAgICAgICAgICAgXCJzdGlja3lcIlxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImJvdHRvbUJhclwifX1cbiAgICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk+XG4gICAgICAgICAgICAgICAgICA8L0V1aUJvdHRvbUJhcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgIEBncm93PXt7Z3Jvd319XG4gICAgICAgICAgICAgIHt7aXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfX1cbiAgICAgICAgICAgICAge3tzdHlsZSAoaW5saW5lU3R5bGVzIG1pbi1oZWlnaHQ9dGhpcy5taW5IZWlnaHQpfX1cbiAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXVpUGFnZUJvZHkgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319PlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQGJvdHRvbUJvcmRlcj17e0BwYWdlSGVhZGVyLmJvdHRvbUJvcmRlcn19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgQGljb25UeXBlPXt7QHBhZ2VIZWFkZXIuaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgQGRlc2NyaXB0aW9uPXt7QHBhZ2VIZWFkZXIuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZXNjcmlwdGlvbkJsb2NrPXt7aGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPDpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPDpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgPDpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPDpyaWdodFNpZGVJdGVtcyBhcyB8aXRlbXw+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUhlYWRlcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICBAaGFzQm9yZGVyPXt7aWYgaGFzUGFnZUhlYWRlciBmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJwbGFpblwiXG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpfX1cbiAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBndXR0ZXJTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHRoaXMuZnVsbEhlaWdodCB0cnVlKSBcImV1aS15U2Nyb2xsXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4R3JvdXA+XG4gICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzQm90dG9tQmFyQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPEV1aUJvdHRvbUJhclxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEBwb3NpdGlvbj17e2lmXG4gICAgICAgICAgICAgICAgICAgICAgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KVxuICAgICAgICAgICAgICAgICAgICAgIFwic3RhdGljXCJcbiAgICAgICAgICAgICAgICAgICAgICBcInN0aWNreVwiXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiYm90dG9tQmFyXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICAgIDwvRXVpQm90dG9tQmFyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIHt7L2lmfX1cbiAgICAgIHt7L2xldH19XG4gICAge3svbGV0fX1cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3pELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRTtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEI7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0w7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLHFCQUFVO0FBQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0Ewd0JDLENBQUMsNFBBQVc7QUFDYixDQUFDOyJ9"],"names":["TEMPLATES","BREAKPOINTS","EuiPageTemplate","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","and","useIsWithinBreakpoints","or","eq","EuiPage","style","inlineStyles","EuiPageSideBar","EuiPageBody","EuiPageHeader","EuiPageContent","EuiPageContentBody","EuiFlexGroup","EuiFlexItem","classNames","EuiBottomBar","_dec","argOrDefaultDecorator","_dec2","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","value","isWithinBreakpoints","minHeight","restrictWidth","width","classes","fullHeightClass","fullHeight","canFullHeight","yScrollClass","template","pageBodyPropsClass","pageBodyProps","className","pageContentPropsClass","pageContentProps","pageContentBodyPropsClass","pageContentBodyProps","_applyDecoratedDescriptor","prototype","configurable","enumerable","writable","initializer","tracked"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-page-template.js","sources":["../../src/components/eui-page-template.ts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\n\nimport style from 'ember-style-modifier/modifiers/style';\n// import { tabbable } from 'tabbable';\n// import {\n// anchorPositionMapping,\n// displayMapping\n// } from '../../utils/css-mappings/eui-popover';\n// import { paddingSizeMapping } from '../../utils/css-mappings/eui-panel';\n// import { scheduleOnce, later, cancel } from '@ember/runloop';\n// import { assert } from '@ember/debug';\n// import { htmlSafe } from '@ember/template';\nimport { and, eq, or } from 'ember-truth-helpers';\n\n// import { action } from '@ember/object';\n// import { tracked } from '@glimmer/tracking';\n// import {\n// getTransitionTimings,\n// getWaitDuration,\n// performOnFrame\n// } from '../../utils/transition';\n// import { findPopoverPosition, getElementZIndex } from '../../utils/popover';\n// import { EuiPopoverPosition } from '../../utils/popover/types';\n// import { cascadingMenuKeys } from '../../utils/accesibility';\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default';\nimport classNames from '../helpers/class-names';\nimport inlineStyles from '../helpers/inline-styles';\nimport useIsWithinBreakpoints from '../modifiers/use-is-within-breakpoints';\nimport EuiBottomBar from './eui-bottom-bar.gts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\nimport EuiPage from './eui-page.gts';\nimport EuiPageBody from './eui-page-body.gts';\nimport EuiPageContent from './eui-page-content.gts';\nimport EuiPageContentBody from './eui-page-content-body.gts';\nimport EuiPageHeader from './eui-page-header.gts';\nimport EuiPageSideBar from './eui-page-side-bar.gts';\n\nimport type { EuiBreakpointSize } from '../utils/breakpoint';\nimport type { EuiButtomBarArgs } from './eui-bottom-bar';\nimport type { EuiPageBodySignature } from './eui-page-body';\nimport type { EuiPageContentSignature } from './eui-page-content';\nimport type { EuiPageContentBodySignature } from './eui-page-content-body';\nimport type { EuiPageHeaderSignature } from './eui-page-header';\nimport type { EuiPageSideBarSignature } from './eui-page-side-bar';\n\nexport const TEMPLATES = [\n 'default',\n 'centeredBody',\n 'centeredContent',\n 'empty'\n] as const;\n\nconst BREAKPOINTS: EuiBreakpointSize[] = ['m', 'l', 'xl'];\n\ninterface NormalProps {\n className?: string;\n}\n\nexport type EuiPageTemplateProps = {\n template?: (typeof TEMPLATES)[number];\n\n pageBodyProps: NormalProps & EuiPageBodySignature['Args'];\n pageContentProps: NormalProps & EuiPageContentSignature['Args'];\n pageContentBodyProps: NormalProps & EuiPageContentBodySignature['Args'];\n\n pageHeader: NormalProps & EuiPageHeaderSignature['Args'];\n\n pageSideBarProps: NormalProps & EuiPageSideBarSignature['Args'];\n\n /**\n * Adds a bottom bar to the page template\n */\n bottomBar?: any;\n\n /**\n * Adds a bottom bar to the page template\n */\n hasBottomBarBlock?: boolean;\n\n /**\n * Gets passed along to the #EuiBottomBar component if `bottomBar` has contents\n */\n bottomBarProps?: EuiButtomBarArgs;\n /* Stretches or restricts the height to 100% of the parent;\n * `true`: scrolls the EuiPageContentBody;\n * `noscroll`: removes all scroll ability;\n * Only works when `template = 'default | empty'` and breakpoint is `m` and above\n */\n fullHeight?: boolean;\n /**\n * Minimum height in which to enforce scrolling\n */\n minHeight?: number;\n\n restrictWidth?: boolean | number | string;\n\n grow?: boolean;\n paddingSize?: EuiPageSideBarSignature['Args']['paddingSize'];\n hasPageSideBarBlock?: boolean;\n hasPageHeaderPageTitleBlock?: boolean;\n hasPageHeaderDefaultBlock?: boolean;\n hasPageHeaderRightSideItemsBlock?: boolean;\n hasPageHeaderDescriptionBlock?: boolean;\n hasPageHeader?: boolean;\n hasPageContent?: boolean;\n hasPageContentBody?: boolean;\n};\n\nexport interface EuiPageTemplateSignature {\n Element: HTMLElement;\n Args: EuiPageTemplateProps;\n Blocks: {\n default: [];\n pageSideBar: [];\n pageHeaderPageTitle: [];\n pageHeaderDefault: [];\n pageHeaderDescription: [];\n pageHeaderRightSideItems: EuiPageHeaderSignature['Blocks']['rightSideItems'];\n bottomBar: [];\n };\n}\n\nexport default class EuiPageTemplate extends Component<EuiPageTemplateSignature> {\n // Defaults\n @argOrDefaultDecorator(false) fullHeight!: boolean;\n @argOrDefaultDecorator('default') template!: (typeof TEMPLATES)[number];\n\n @tracked isWithinBreakpoints = false;\n\n setIsWithinBreakpoints = (value: boolean) => {\n this.isWithinBreakpoints = value;\n };\n\n get minHeight() {\n const minHeight = this.args.minHeight ?? 460;\n\n if (typeof this.args.minHeight === 'number') {\n return `${minHeight}px`;\n }\n\n return minHeight;\n }\n\n get restrictWidth() {\n const width = this.args.restrictWidth ?? true;\n\n if (typeof this.args.restrictWidth === 'number') {\n return `${width}px`;\n }\n\n return width;\n }\n\n get classes() {\n return `euiPageTemplate ${this.fullHeightClass}`;\n }\n\n get fullHeightClass() {\n return this.fullHeight && this.canFullHeight ? 'eui-fullHeight ' : '';\n }\n\n get yScrollClass() {\n return this.fullHeight && this.canFullHeight ? 'eui-yScroll ' : '';\n }\n\n get canFullHeight() {\n return (\n this.isWithinBreakpoints &&\n (this.template === 'default' || this.template === 'empty')\n );\n }\n\n get pageBodyPropsClass() {\n return `${this.fullHeightClass} ${this.args.pageBodyProps?.className}`;\n }\n\n get pageContentPropsClass() {\n return `${this.yScrollClass} ${this.args.pageContentProps?.className}`;\n }\n\n get pageContentBodyPropsClass() {\n return `${this.fullHeightClass} ${this.args.pageContentBodyProps?.className}`;\n }\n\n [__GLIMMER_TEMPLATE(`\n {{#let\n (argOrDefault @grow true)\n (argOrDefault @paddingSize \"l\")\n (and (argOrDefault @hasBottomBarBlock true) (has-block \"bottomBar\"))\n (and (argOrDefault @hasPageSideBarBlock true) (has-block \"pageSideBar\"))\n (and\n (argOrDefault @hasPageHeaderPageTitleBlock true)\n (has-block \"pageHeaderPageTitle\")\n )\n (and\n (argOrDefault @hasPageHeaderDefaultBlock true)\n (has-block \"pageHeaderDefault\")\n )\n (and\n (argOrDefault @hasPageHeaderRightSideItemsBlock true)\n (has-block \"pageHeaderRightSideItems\")\n )\n (and\n (argOrDefault @hasPageHeaderDescriptionBlock true)\n (has-block \"pageHeaderDescription\")\n )\n (modifier\n useIsWithinBreakpoints\n sizes=BREAKPOINTS\n isActive=true\n setIsWithinBreakpointsValue=this.setIsWithinBreakpoints\n )\n as |grow paddingSize hasBottomBarBlock hasPageSideBarBlock hasPageHeaderPageTitleBlock hasPageHeaderDefaultBlock hasPageHeaderRightSideItemsBlock hasPageHeaderDescriptionBlock isWithinBreakpointsModifier|\n }}\n {{#let\n (or\n @pageHeader\n hasPageHeaderPageTitleBlock\n hasPageHeaderDefaultBlock\n hasPageHeaderRightSideItemsBlock\n hasPageHeaderDescriptionBlock\n )\n as |hasPageHeader|\n }}\n {{#if (eq this.template \"centeredBody\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n @paddingSize={{paddingSize}}\n >\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n\n <EuiPageContent\n class={{this.pageContentPropsClass}}\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @paddingSize={{paddingSize}}\n >\n <EuiPageContentBody\n class={{this.pageContentBodyPropsClass}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize={{paddingSize}}\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @restrictWidth={{false}}\n @bottomBorder={{@pageHeader.bottomBorder}}\n @paddingSize=\"none\"\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageBody>\n <EuiPageContent\n class={{this.pageContentPropsClass}}\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasBorder={{@pageContentProps.hasBorder}}\n @hasShadow={{@pageContentProps.hasShadow}}\n @color={{@pageContentProps.color}}\n @borderRadius={{@pageContentProps.borderRadius}}\n @grow={{@pageContentProps.grow}}\n @role={{@pageContentProps.role}}\n @paddingSize={{paddingSize}}\n >\n <EuiPageContentBody\n class={{this.pageContentBodyPropsClass}}\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else if (eq this.template \"centeredContent\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @panelled={{true}}\n @paddingSize={{paddingSize}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasShadow={{false}}\n @color=\"subdued\"\n @paddingSize={{paddingSize}}\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody class={{this.pageBodyPropsClass}}>\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n {{!template-lint-disable}}\n <EuiPageContent\n role={{null}}\n @borderRadius=\"none\"\n @hasShadow={{false}}\n @paddingSize={{paddingSize}}\n style=\"display: flex\"\n >\n {{!template-lint-enable}}\n <EuiPageContent\n @verticalPosition=\"center\"\n @horizontalPosition=\"center\"\n @hasShadow={{false}}\n @color=\"subdued\"\n @paddingSize={{paddingSize}}\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else if (eq this.template \"empty\")}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @paddingSize={{paddingSize}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"transparent\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize={{paddingSize}}\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageBodyPropsClass}}\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @bottomBorder={{@pageHeader.bottomBorder}}\n @restrictWidth={{false}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"transparent\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n @restrictWidth={{false}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{else}}\n {{#if hasPageSideBarBlock}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageSideBar\n class={{@pageSideBarProps.className}}\n @sticky={{true}}\n @paddingSize={{paddingSize}}\n >\n {{yield to=\"pageSideBar\"}}\n </EuiPageSideBar>\n <EuiPageBody\n @panelled={{true}}\n @paddingSize=\"none\"\n class={{this.pageBodyPropsClass}}\n >\n <EuiPageBody\n class={{this.pageBodyPropsClass}}\n @paddingSize={{paddingSize}}\n @tagName=\"div\"\n >\n {{#if hasPageHeader}}\n <EuiPageHeader\n @bottomBorder={{@pageHeader.bottomBorder}}\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{@pageHeader.paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasShadow={{false}}\n @hasBorder={{false}}\n @color=\"transparent\"\n @borderRadius=\"none\"\n @paddingSize=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n </EuiPageBody>\n {{#if hasBottomBarBlock}}\n <EuiBottomBar\n @paddingSize={{paddingSize}}\n @position={{if\n (and this.canFullHeight this.fullHeight)\n \"static\"\n \"sticky\"\n }}\n >\n <EuiPageContentBody\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{yield to=\"bottomBar\"}}\n </EuiPageContentBody>\n </EuiBottomBar>\n {{/if}}\n </EuiPageBody>\n </EuiPage>\n {{else}}\n <EuiPage\n class={{this.classes}}\n @paddingSize=\"none\"\n @grow={{grow}}\n {{isWithinBreakpointsModifier}}\n {{style (inlineStyles min-height=this.minHeight)}}\n ...attributes\n >\n <EuiPageBody class={{this.pageBodyPropsClass}}>\n {{#if hasPageHeader}}\n <EuiPageHeader\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @bottomBorder={{@pageHeader.bottomBorder}}\n @paddingSize={{paddingSize}}\n @responsive={{@pageHeader.responsive}}\n @iconType={{@pageHeader.iconType}}\n @tabs={{@pageHeader.tabs}}\n @pageTitle={{@pageHeader.pageTitle}}\n @description={{@pageHeader.description}}\n @hasPageTitleBlock={{hasPageHeaderPageTitleBlock}}\n @hasDefaultBlock={{hasPageHeaderDefaultBlock}}\n @hasDescriptionBlock={{hasPageHeaderDescriptionBlock}}\n @hasRightSideItemsBlock={{hasPageHeaderRightSideItemsBlock}}\n >\n <:pageTitle>\n {{yield to=\"pageHeaderPageTitle\"}}\n </:pageTitle>\n <:default>\n {{yield to=\"pageHeaderDefault\"}}\n </:default>\n <:description>\n {{yield to=\"pageHeaderDescription\"}}\n </:description>\n <:rightSideItems as |item|>\n {{yield item to=\"pageHeaderRightSideItems\"}}\n </:rightSideItems>\n </EuiPageHeader>\n {{/if}}\n <EuiPageContent\n @hasBorder={{if hasPageHeader false}}\n @hasShadow={{false}}\n @paddingSize=\"none\"\n @color=\"plain\"\n @borderRadius=\"none\"\n class={{this.pageContentPropsClass}}\n >\n <EuiPageContentBody\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n @paddingSize={{paddingSize}}\n class={{this.pageContentBodyPropsClass}}\n >\n {{#if (and this.canFullHeight this.fullHeight)}}\n <EuiFlexGroup\n class=\"eui-fullHeight\"\n @gutterSize=\"none\"\n @direction=\"column\"\n @responsive={{false}}\n >\n <EuiFlexItem\n class={{classNames\n (if (eq this.fullHeight true) \"eui-yScroll\")\n (if\n (eq this.fullHeight \"noscroll\") \"eui-fullHeight\"\n )\n }}\n @grow={{true}}\n >\n {{yield to=\"default\"}}\n </EuiFlexItem>\n </EuiFlexGroup>\n {{else}}\n {{yield to=\"default\"}}\n {{/if}}\n </EuiPageContentBody>\n </EuiPageContent>\n {{#if hasBottomBarBlock}}\n <EuiBottomBar\n @paddingSize={{paddingSize}}\n @position={{if\n (and this.canFullHeight this.fullHeight)\n \"static\"\n \"sticky\"\n }}\n >\n <EuiPageContentBody\n @paddingSize=\"none\"\n {{!@glint-expect-error}}\n @restrictWidth={{this.restrictWidth}}\n >\n {{yield to=\"bottomBar\"}}\n </EuiPageContentBody>\n </EuiBottomBar>\n {{/if}}\n </EuiPageBody>\n </EuiPage>\n {{/if}}\n {{/if}}\n {{/let}}\n {{/let}}\n `, { strictMode: true, scope: () => ({argOrDefault,and,useIsWithinBreakpoints,BREAKPOINTS,or,eq,EuiPage,style,inlineStyles,EuiPageSideBar,EuiPageBody,EuiPageHeader,EuiPageContent,EuiPageContentBody,EuiFlexGroup,EuiFlexItem,classNames,EuiBottomBar}) })]\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXBhZ2UtdGVtcGxhdGUuanMiLCJzb3VyY2VzIjpbImV1aS1wYWdlLXRlbXBsYXRlLmd0cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQ29tcG9uZW50IGZyb20gJ0BnbGltbWVyL2NvbXBvbmVudCc7XG5pbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnZW1iZXItc3R5bGUtbW9kaWZpZXIvbW9kaWZpZXJzL3N0eWxlJztcbi8vIGltcG9ydCB7IHRhYmJhYmxlIH0gZnJvbSAndGFiYmFibGUnO1xuLy8gaW1wb3J0IHtcbi8vICAgYW5jaG9yUG9zaXRpb25NYXBwaW5nLFxuLy8gICBkaXNwbGF5TWFwcGluZ1xuLy8gfSBmcm9tICcuLi8uLi91dGlscy9jc3MtbWFwcGluZ3MvZXVpLXBvcG92ZXInO1xuLy8gaW1wb3J0IHsgcGFkZGluZ1NpemVNYXBwaW5nIH0gZnJvbSAnLi4vLi4vdXRpbHMvY3NzLW1hcHBpbmdzL2V1aS1wYW5lbCc7XG4vLyBpbXBvcnQgeyBzY2hlZHVsZU9uY2UsIGxhdGVyLCBjYW5jZWwgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG4vLyBpbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdAZW1iZXIvZGVidWcnO1xuLy8gaW1wb3J0IHsgaHRtbFNhZmUgfSBmcm9tICdAZW1iZXIvdGVtcGxhdGUnO1xuaW1wb3J0IHsgYW5kLCBlcSwgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcblxuLy8gaW1wb3J0IHsgYWN0aW9uIH0gZnJvbSAnQGVtYmVyL29iamVjdCc7XG4vLyBpbXBvcnQgeyB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuLy8gaW1wb3J0IHtcbi8vICAgZ2V0VHJhbnNpdGlvblRpbWluZ3MsXG4vLyAgIGdldFdhaXREdXJhdGlvbixcbi8vICAgcGVyZm9ybU9uRnJhbWVcbi8vIH0gZnJvbSAnLi4vLi4vdXRpbHMvdHJhbnNpdGlvbic7XG4vLyBpbXBvcnQgeyBmaW5kUG9wb3ZlclBvc2l0aW9uLCBnZXRFbGVtZW50WkluZGV4IH0gZnJvbSAnLi4vLi4vdXRpbHMvcG9wb3Zlcic7XG4vLyBpbXBvcnQgeyBFdWlQb3BvdmVyUG9zaXRpb24gfSBmcm9tICcuLi8uLi91dGlscy9wb3BvdmVyL3R5cGVzJztcbi8vIGltcG9ydCB7IGNhc2NhZGluZ01lbnVLZXlzIH0gZnJvbSAnLi4vLi4vdXRpbHMvYWNjZXNpYmlsaXR5JztcbmltcG9ydCBhcmdPckRlZmF1bHQsIHsgYXJnT3JEZWZhdWx0RGVjb3JhdG9yIH0gZnJvbSAnLi4vaGVscGVycy9hcmctb3ItZGVmYXVsdCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLW5hbWVzJztcbmltcG9ydCBpbmxpbmVTdHlsZXMgZnJvbSAnLi4vaGVscGVycy9pbmxpbmUtc3R5bGVzJztcbmltcG9ydCB1c2VJc1dpdGhpbkJyZWFrcG9pbnRzIGZyb20gJy4uL21vZGlmaWVycy91c2UtaXMtd2l0aGluLWJyZWFrcG9pbnRzJztcbmltcG9ydCBFdWlCb3R0b21CYXIgZnJvbSAnLi9ldWktYm90dG9tLWJhci5ndHMnO1xuaW1wb3J0IEV1aUZsZXhHcm91cCBmcm9tICcuL2V1aS1mbGV4LWdyb3VwLmd0cyc7XG5pbXBvcnQgRXVpRmxleEl0ZW0gZnJvbSAnLi9ldWktZmxleC1pdGVtLmd0cyc7XG5pbXBvcnQgRXVpUGFnZSBmcm9tICcuL2V1aS1wYWdlLmd0cyc7XG5pbXBvcnQgRXVpUGFnZUJvZHkgZnJvbSAnLi9ldWktcGFnZS1ib2R5Lmd0cyc7XG5pbXBvcnQgRXVpUGFnZUNvbnRlbnQgZnJvbSAnLi9ldWktcGFnZS1jb250ZW50Lmd0cyc7XG5pbXBvcnQgRXVpUGFnZUNvbnRlbnRCb2R5IGZyb20gJy4vZXVpLXBhZ2UtY29udGVudC1ib2R5Lmd0cyc7XG5pbXBvcnQgRXVpUGFnZUhlYWRlciBmcm9tICcuL2V1aS1wYWdlLWhlYWRlci5ndHMnO1xuaW1wb3J0IEV1aVBhZ2VTaWRlQmFyIGZyb20gJy4vZXVpLXBhZ2Utc2lkZS1iYXIuZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBFdWlCcmVha3BvaW50U2l6ZSB9IGZyb20gJy4uL3V0aWxzL2JyZWFrcG9pbnQnO1xuaW1wb3J0IHR5cGUgeyBFdWlCdXR0b21CYXJBcmdzIH0gZnJvbSAnLi9ldWktYm90dG9tLWJhcic7XG5pbXBvcnQgdHlwZSB7IEV1aVBhZ2VCb2R5U2lnbmF0dXJlIH0gZnJvbSAnLi9ldWktcGFnZS1ib2R5JztcbmltcG9ydCB0eXBlIHsgRXVpUGFnZUNvbnRlbnRTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLWNvbnRlbnQnO1xuaW1wb3J0IHR5cGUgeyBFdWlQYWdlQ29udGVudEJvZHlTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLWNvbnRlbnQtYm9keSc7XG5pbXBvcnQgdHlwZSB7IEV1aVBhZ2VIZWFkZXJTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1wYWdlLWhlYWRlcic7XG5pbXBvcnQgdHlwZSB7IEV1aVBhZ2VTaWRlQmFyU2lnbmF0dXJlIH0gZnJvbSAnLi9ldWktcGFnZS1zaWRlLWJhcic7XG5cbmV4cG9ydCBjb25zdCBURU1QTEFURVMgPSBbXG4gICdkZWZhdWx0JyxcbiAgJ2NlbnRlcmVkQm9keScsXG4gICdjZW50ZXJlZENvbnRlbnQnLFxuICAnZW1wdHknXG5dIGFzIGNvbnN0O1xuXG5jb25zdCBCUkVBS1BPSU5UUzogRXVpQnJlYWtwb2ludFNpemVbXSA9IFsnbScsICdsJywgJ3hsJ107XG5cbmludGVyZmFjZSBOb3JtYWxQcm9wcyB7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgRXVpUGFnZVRlbXBsYXRlUHJvcHMgPSB7XG4gIHRlbXBsYXRlPzogKHR5cGVvZiBURU1QTEFURVMpW251bWJlcl07XG5cbiAgcGFnZUJvZHlQcm9wczogTm9ybWFsUHJvcHMgJiBFdWlQYWdlQm9keVNpZ25hdHVyZVsnQXJncyddO1xuICBwYWdlQ29udGVudFByb3BzOiBOb3JtYWxQcm9wcyAmIEV1aVBhZ2VDb250ZW50U2lnbmF0dXJlWydBcmdzJ107XG4gIHBhZ2VDb250ZW50Qm9keVByb3BzOiBOb3JtYWxQcm9wcyAmIEV1aVBhZ2VDb250ZW50Qm9keVNpZ25hdHVyZVsnQXJncyddO1xuXG4gIHBhZ2VIZWFkZXI6IE5vcm1hbFByb3BzICYgRXVpUGFnZUhlYWRlclNpZ25hdHVyZVsnQXJncyddO1xuXG4gIHBhZ2VTaWRlQmFyUHJvcHM6IE5vcm1hbFByb3BzICYgRXVpUGFnZVNpZGVCYXJTaWduYXR1cmVbJ0FyZ3MnXTtcblxuICAvKipcbiAgICogQWRkcyBhIGJvdHRvbSBiYXIgdG8gdGhlIHBhZ2UgdGVtcGxhdGVcbiAgICovXG4gIGJvdHRvbUJhcj86IGFueTtcblxuICAvKipcbiAgICogQWRkcyBhIGJvdHRvbSBiYXIgdG8gdGhlIHBhZ2UgdGVtcGxhdGVcbiAgICovXG4gIGhhc0JvdHRvbUJhckJsb2NrPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2V0cyBwYXNzZWQgYWxvbmcgdG8gdGhlICNFdWlCb3R0b21CYXIgY29tcG9uZW50IGlmIGBib3R0b21CYXJgIGhhcyBjb250ZW50c1xuICAgKi9cbiAgYm90dG9tQmFyUHJvcHM/OiBFdWlCdXR0b21CYXJBcmdzO1xuICAvKiBTdHJldGNoZXMgb3IgcmVzdHJpY3RzIHRoZSBoZWlnaHQgdG8gMTAwJSBvZiB0aGUgcGFyZW50O1xuICAgKiBgdHJ1ZWA6IHNjcm9sbHMgdGhlIEV1aVBhZ2VDb250ZW50Qm9keTtcbiAgICogYG5vc2Nyb2xsYDogcmVtb3ZlcyBhbGwgc2Nyb2xsIGFiaWxpdHk7XG4gICAqIE9ubHkgd29ya3Mgd2hlbiBgdGVtcGxhdGUgPSAnZGVmYXVsdCB8IGVtcHR5J2AgYW5kIGJyZWFrcG9pbnQgaXMgYG1gIGFuZCBhYm92ZVxuICAgKi9cbiAgZnVsbEhlaWdodD86IGJvb2xlYW47XG4gIC8qKlxuICAgKiBNaW5pbXVtIGhlaWdodCBpbiB3aGljaCB0byBlbmZvcmNlIHNjcm9sbGluZ1xuICAgKi9cbiAgbWluSGVpZ2h0PzogbnVtYmVyO1xuXG4gIHJlc3RyaWN0V2lkdGg/OiBib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nO1xuXG4gIGdyb3c/OiBib29sZWFuO1xuICBwYWRkaW5nU2l6ZT86IEV1aVBhZ2VTaWRlQmFyU2lnbmF0dXJlWydBcmdzJ11bJ3BhZGRpbmdTaXplJ107XG4gIGhhc1BhZ2VTaWRlQmFyQmxvY2s/OiBib29sZWFuO1xuICBoYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2s/OiBib29sZWFuO1xuICBoYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrPzogYm9vbGVhbjtcbiAgaGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2s/OiBib29sZWFuO1xuICBoYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9jaz86IGJvb2xlYW47XG4gIGhhc1BhZ2VIZWFkZXI/OiBib29sZWFuO1xuICBoYXNQYWdlQ29udGVudD86IGJvb2xlYW47XG4gIGhhc1BhZ2VDb250ZW50Qm9keT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV1aVBhZ2VUZW1wbGF0ZVNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBBcmdzOiBFdWlQYWdlVGVtcGxhdGVQcm9wcztcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW107XG4gICAgcGFnZVNpZGVCYXI6IFtdO1xuICAgIHBhZ2VIZWFkZXJQYWdlVGl0bGU6IFtdO1xuICAgIHBhZ2VIZWFkZXJEZWZhdWx0OiBbXTtcbiAgICBwYWdlSGVhZGVyRGVzY3JpcHRpb246IFtdO1xuICAgIHBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtczogRXVpUGFnZUhlYWRlclNpZ25hdHVyZVsnQmxvY2tzJ11bJ3JpZ2h0U2lkZUl0ZW1zJ107XG4gICAgYm90dG9tQmFyOiBbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXVpUGFnZVRlbXBsYXRlIGV4dGVuZHMgQ29tcG9uZW50PEV1aVBhZ2VUZW1wbGF0ZVNpZ25hdHVyZT4ge1xuICAvLyBEZWZhdWx0c1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKGZhbHNlKSBmdWxsSGVpZ2h0ITogYm9vbGVhbjtcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcignZGVmYXVsdCcpIHRlbXBsYXRlITogKHR5cGVvZiBURU1QTEFURVMpW251bWJlcl07XG5cbiAgQHRyYWNrZWQgaXNXaXRoaW5CcmVha3BvaW50cyA9IGZhbHNlO1xuXG4gIHNldElzV2l0aGluQnJlYWtwb2ludHMgPSAodmFsdWU6IGJvb2xlYW4pID0+IHtcbiAgICB0aGlzLmlzV2l0aGluQnJlYWtwb2ludHMgPSB2YWx1ZTtcbiAgfTtcblxuICBnZXQgbWluSGVpZ2h0KCkge1xuICAgIGNvbnN0IG1pbkhlaWdodCA9IHRoaXMuYXJncy5taW5IZWlnaHQgPz8gNDYwO1xuXG4gICAgaWYgKHR5cGVvZiB0aGlzLmFyZ3MubWluSGVpZ2h0ID09PSAnbnVtYmVyJykge1xuICAgICAgcmV0dXJuIGAke21pbkhlaWdodH1weGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1pbkhlaWdodDtcbiAgfVxuXG4gIGdldCByZXN0cmljdFdpZHRoKCkge1xuICAgIGNvbnN0IHdpZHRoID0gdGhpcy5hcmdzLnJlc3RyaWN0V2lkdGggPz8gdHJ1ZTtcblxuICAgIGlmICh0eXBlb2YgdGhpcy5hcmdzLnJlc3RyaWN0V2lkdGggPT09ICdudW1iZXInKSB7XG4gICAgICByZXR1cm4gYCR7d2lkdGh9cHhgO1xuICAgIH1cblxuICAgIHJldHVybiB3aWR0aDtcbiAgfVxuXG4gIGdldCBjbGFzc2VzKCkge1xuICAgIHJldHVybiBgZXVpUGFnZVRlbXBsYXRlICR7dGhpcy5mdWxsSGVpZ2h0Q2xhc3N9YDtcbiAgfVxuXG4gIGdldCBmdWxsSGVpZ2h0Q2xhc3MoKSB7XG4gICAgcmV0dXJuIHRoaXMuZnVsbEhlaWdodCAmJiB0aGlzLmNhbkZ1bGxIZWlnaHQgPyAnZXVpLWZ1bGxIZWlnaHQgJyA6ICcnO1xuICB9XG5cbiAgZ2V0IHlTY3JvbGxDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5mdWxsSGVpZ2h0ICYmIHRoaXMuY2FuRnVsbEhlaWdodCA/ICdldWkteVNjcm9sbCAnIDogJyc7XG4gIH1cblxuICBnZXQgY2FuRnVsbEhlaWdodCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc1dpdGhpbkJyZWFrcG9pbnRzICYmXG4gICAgICAodGhpcy50ZW1wbGF0ZSA9PT0gJ2RlZmF1bHQnIHx8IHRoaXMudGVtcGxhdGUgPT09ICdlbXB0eScpXG4gICAgKTtcbiAgfVxuXG4gIGdldCBwYWdlQm9keVByb3BzQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuZnVsbEhlaWdodENsYXNzfSAke3RoaXMuYXJncy5wYWdlQm9keVByb3BzPy5jbGFzc05hbWV9YDtcbiAgfVxuXG4gIGdldCBwYWdlQ29udGVudFByb3BzQ2xhc3MoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMueVNjcm9sbENsYXNzfSAke3RoaXMuYXJncy5wYWdlQ29udGVudFByb3BzPy5jbGFzc05hbWV9YDtcbiAgfVxuXG4gIGdldCBwYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmZ1bGxIZWlnaHRDbGFzc30gJHt0aGlzLmFyZ3MucGFnZUNvbnRlbnRCb2R5UHJvcHM/LmNsYXNzTmFtZX1gO1xuICB9XG5cbiAgPHRlbXBsYXRlPlxuICAgIHt7I2xldFxuICAgICAgKGFyZ09yRGVmYXVsdCBAZ3JvdyB0cnVlKVxuICAgICAgKGFyZ09yRGVmYXVsdCBAcGFkZGluZ1NpemUgXCJsXCIpXG4gICAgICAoYW5kIChhcmdPckRlZmF1bHQgQGhhc0JvdHRvbUJhckJsb2NrIHRydWUpIChoYXMtYmxvY2sgXCJib3R0b21CYXJcIikpXG4gICAgICAoYW5kIChhcmdPckRlZmF1bHQgQGhhc1BhZ2VTaWRlQmFyQmxvY2sgdHJ1ZSkgKGhhcy1ibG9jayBcInBhZ2VTaWRlQmFyXCIpKVxuICAgICAgKGFuZFxuICAgICAgICAoYXJnT3JEZWZhdWx0IEBoYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2sgdHJ1ZSlcbiAgICAgICAgKGhhcy1ibG9jayBcInBhZ2VIZWFkZXJQYWdlVGl0bGVcIilcbiAgICAgIClcbiAgICAgIChhbmRcbiAgICAgICAgKGFyZ09yRGVmYXVsdCBAaGFzUGFnZUhlYWRlckRlZmF1bHRCbG9jayB0cnVlKVxuICAgICAgICAoaGFzLWJsb2NrIFwicGFnZUhlYWRlckRlZmF1bHRcIilcbiAgICAgIClcbiAgICAgIChhbmRcbiAgICAgICAgKGFyZ09yRGVmYXVsdCBAaGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2sgdHJ1ZSlcbiAgICAgICAgKGhhcy1ibG9jayBcInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wiKVxuICAgICAgKVxuICAgICAgKGFuZFxuICAgICAgICAoYXJnT3JEZWZhdWx0IEBoYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9jayB0cnVlKVxuICAgICAgICAoaGFzLWJsb2NrIFwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCIpXG4gICAgICApXG4gICAgICAobW9kaWZpZXJcbiAgICAgICAgdXNlSXNXaXRoaW5CcmVha3BvaW50c1xuICAgICAgICBzaXplcz1CUkVBS1BPSU5UU1xuICAgICAgICBpc0FjdGl2ZT10cnVlXG4gICAgICAgIHNldElzV2l0aGluQnJlYWtwb2ludHNWYWx1ZT10aGlzLnNldElzV2l0aGluQnJlYWtwb2ludHNcbiAgICAgIClcbiAgICAgIGFzIHxncm93IHBhZGRpbmdTaXplIGhhc0JvdHRvbUJhckJsb2NrIGhhc1BhZ2VTaWRlQmFyQmxvY2sgaGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrIGhhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2sgaGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2sgaGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2sgaXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfFxuICAgIH19XG4gICAgICB7eyNsZXRcbiAgICAgICAgKG9yXG4gICAgICAgICAgQHBhZ2VIZWFkZXJcbiAgICAgICAgICBoYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2tcbiAgICAgICAgICBoYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrXG4gICAgICAgICAgaGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2tcbiAgICAgICAgICBoYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja1xuICAgICAgICApXG4gICAgICAgIGFzIHxoYXNQYWdlSGVhZGVyfFxuICAgICAgfX1cbiAgICAgICAge3sjaWYgKGVxIHRoaXMudGVtcGxhdGUgXCJjZW50ZXJlZEJvZHlcIil9fVxuICAgICAgICAgIHt7I2lmIGhhc1BhZ2VTaWRlQmFyQmxvY2t9fVxuICAgICAgICAgICAgPEV1aVBhZ2VcbiAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLmNsYXNzZXN9fVxuICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFdWlQYWdlU2lkZUJhclxuICAgICAgICAgICAgICAgIGNsYXNzPXt7QHBhZ2VTaWRlQmFyUHJvcHMuY2xhc3NOYW1lfX1cbiAgICAgICAgICAgICAgICBAc3RpY2t5PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VTaWRlQmFyXCJ9fVxuICAgICAgICAgICAgICA8L0V1aVBhZ2VTaWRlQmFyPlxuICAgICAgICAgICAgICA8RXVpUGFnZUJvZHlcbiAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUhlYWRlclxuICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgQGljb25UeXBlPXt7QHBhZ2VIZWFkZXIuaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgQGRlc2NyaXB0aW9uPXt7QHBhZ2VIZWFkZXIuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgIEBoYXNEZXNjcmlwdGlvbkJsb2NrPXt7aGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPDpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgPDpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgPDpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgPDpyaWdodFNpZGVJdGVtcyBhcyB8aXRlbXw+XG4gICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUhlYWRlcj5cblxuICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudFxuICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICBAdmVydGljYWxQb3NpdGlvbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICBAaG9yaXpvbnRhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIEBib3R0b21Cb3JkZXI9e3tAcGFnZUhlYWRlci5ib3R0b21Cb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgQGljb25UeXBlPXt7QHBhZ2VIZWFkZXIuaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgQGRlc2NyaXB0aW9uPXt7QHBhZ2VIZWFkZXIuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZXNjcmlwdGlvbkJsb2NrPXt7aGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPDpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPDpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgPDpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPDpyaWdodFNpZGVJdGVtcyBhcyB8aXRlbXw+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUhlYWRlcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudFByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgICBAdmVydGljYWxQb3NpdGlvbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIEBob3Jpem9udGFsUG9zaXRpb249XCJjZW50ZXJcIlxuICAgICAgICAgICAgICAgICAgICBAaGFzQm9yZGVyPXt7QHBhZ2VDb250ZW50UHJvcHMuaGFzQm9yZGVyfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e0BwYWdlQ29udGVudFByb3BzLmhhc1NoYWRvd319XG4gICAgICAgICAgICAgICAgICAgIEBjb2xvcj17e0BwYWdlQ29udGVudFByb3BzLmNvbG9yfX1cbiAgICAgICAgICAgICAgICAgICAgQGJvcmRlclJhZGl1cz17e0BwYWdlQ29udGVudFByb3BzLmJvcmRlclJhZGl1c319XG4gICAgICAgICAgICAgICAgICAgIEBncm93PXt7QHBhZ2VDb250ZW50UHJvcHMuZ3Jvd319XG4gICAgICAgICAgICAgICAgICAgIEByb2xlPXt7QHBhZ2VDb250ZW50UHJvcHMucm9sZX19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50Qm9keVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4R3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBndXR0ZXJTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBkaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHRoaXMuZnVsbEhlaWdodCB0cnVlKSBcImV1aS15U2Nyb2xsXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4R3JvdXA+XG4gICAgICAgICAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk+XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3svaWZ9fVxuICAgICAgICB7e2Vsc2UgaWYgKGVxIHRoaXMudGVtcGxhdGUgXCJjZW50ZXJlZENvbnRlbnRcIil9fVxuICAgICAgICAgIHt7I2lmIGhhc1BhZ2VTaWRlQmFyQmxvY2t9fVxuICAgICAgICAgICAgPEV1aVBhZ2VcbiAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLmNsYXNzZXN9fVxuICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFdWlQYWdlU2lkZUJhclxuICAgICAgICAgICAgICAgIGNsYXNzPXt7QHBhZ2VTaWRlQmFyUHJvcHMuY2xhc3NOYW1lfX1cbiAgICAgICAgICAgICAgICBAc3RpY2t5PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VTaWRlQmFyXCJ9fVxuICAgICAgICAgICAgICA8L0V1aVBhZ2VTaWRlQmFyPlxuICAgICAgICAgICAgICA8RXVpUGFnZUJvZHlcbiAgICAgICAgICAgICAgICBAcGFuZWxsZWQ9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyNpZiBoYXNQYWdlSGVhZGVyfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlSGVhZGVyXG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e0BwYWdlSGVhZGVyLnBhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgQGljb25UeXBlPXt7QHBhZ2VIZWFkZXIuaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgQGRlc2NyaXB0aW9uPXt7QHBhZ2VIZWFkZXIuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZXNjcmlwdGlvbkJsb2NrPXt7aGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPDpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPDpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgPDpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPDpyaWdodFNpZGVJdGVtcyBhcyB8aXRlbXw+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUhlYWRlcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICBAdmVydGljYWxQb3NpdGlvbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICBAaG9yaXpvbnRhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgIEBoYXNTaGFkb3c9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJzdWJkdWVkXCJcbiAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudFByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudEJvZHlcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50Qm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpfX1cbiAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEdyb3VwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBndXR0ZXJTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4SXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKGVxIHRoaXMuZnVsbEhlaWdodCB0cnVlKSBcImV1aS15U2Nyb2xsXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4R3JvdXA+XG4gICAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlQYWdlXG4gICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5jbGFzc2VzfX1cbiAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgIEBncm93PXt7Z3Jvd319XG4gICAgICAgICAgICAgIHt7aXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfX1cbiAgICAgICAgICAgICAge3tzdHlsZSAoaW5saW5lU3R5bGVzIG1pbi1oZWlnaHQ9dGhpcy5taW5IZWlnaHQpfX1cbiAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXVpUGFnZUJvZHkgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319PlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc1BhZ2VIZWFkZXJ9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICB7eyF0ZW1wbGF0ZS1saW50LWRpc2FibGV9fVxuICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudFxuICAgICAgICAgICAgICAgICAgcm9sZT17e251bGx9fVxuICAgICAgICAgICAgICAgICAgQGJvcmRlclJhZGl1cz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZGlzcGxheTogZmxleFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3shdGVtcGxhdGUtbGludC1lbmFibGV9fVxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICAgIEB2ZXJ0aWNhbFBvc2l0aW9uPVwiY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgQGhvcml6b250YWxQb3NpdGlvbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgIEBoYXNTaGFkb3c9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInN1YmR1ZWRcIlxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudFByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAge3tlbHNlIGlmIChlcSB0aGlzLnRlbXBsYXRlIFwiZW1wdHlcIil9fVxuICAgICAgICAgIHt7I2lmIGhhc1BhZ2VTaWRlQmFyQmxvY2t9fVxuICAgICAgICAgICAgPEV1aVBhZ2VcbiAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLmNsYXNzZXN9fVxuICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgQGdyb3c9e3tncm93fX1cbiAgICAgICAgICAgICAge3tpc1dpdGhpbkJyZWFrcG9pbnRzTW9kaWZpZXJ9fVxuICAgICAgICAgICAgICB7e3N0eWxlIChpbmxpbmVTdHlsZXMgbWluLWhlaWdodD10aGlzLm1pbkhlaWdodCl9fVxuICAgICAgICAgICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxFdWlQYWdlU2lkZUJhclxuICAgICAgICAgICAgICAgIGNsYXNzPXt7QHBhZ2VTaWRlQmFyUHJvcHMuY2xhc3NOYW1lfX1cbiAgICAgICAgICAgICAgICBAc3RpY2t5PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VTaWRlQmFyXCJ9fVxuICAgICAgICAgICAgICA8L0V1aVBhZ2VTaWRlQmFyPlxuICAgICAgICAgICAgICA8RXVpUGFnZUJvZHlcbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyNpZiBoYXNQYWdlSGVhZGVyfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlSGVhZGVyXG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e0BwYWdlSGVhZGVyLnBhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tAcGFnZUhlYWRlci5yZXNwb25zaXZlfX1cbiAgICAgICAgICAgICAgICAgICAgQGljb25UeXBlPXt7QHBhZ2VIZWFkZXIuaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgICBAdGFicz17e0BwYWdlSGVhZGVyLnRhYnN9fVxuICAgICAgICAgICAgICAgICAgICBAcGFnZVRpdGxlPXt7QHBhZ2VIZWFkZXIucGFnZVRpdGxlfX1cbiAgICAgICAgICAgICAgICAgICAgQGRlc2NyaXB0aW9uPXt7QHBhZ2VIZWFkZXIuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUGFnZVRpdGxlQmxvY2s9e3toYXNQYWdlSGVhZGVyUGFnZVRpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVmYXVsdEJsb2NrPXt7aGFzUGFnZUhlYWRlckRlZmF1bHRCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZXNjcmlwdGlvbkJsb2NrPXt7aGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzUmlnaHRTaWRlSXRlbXNCbG9jaz17e2hhc1BhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc0Jsb2NrfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPDpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJQYWdlVGl0bGVcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPDpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgPDpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlc2NyaXB0aW9uXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPDpyaWdodFNpZGVJdGVtcyBhcyB8aXRlbXw+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCBpdGVtIHRvPVwicGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpyaWdodFNpZGVJdGVtcz5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUhlYWRlcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50XG4gICAgICAgICAgICAgICAgICBAaGFzQm9yZGVyPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgQGNvbG9yPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgQGJvcmRlclJhZGl1cz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50Qm9keVxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4R3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBkaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgPEV1aVBhZ2VcbiAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLmNsYXNzZXN9fVxuICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgIEBncm93PXt7Z3Jvd319XG4gICAgICAgICAgICAgIHt7aXNXaXRoaW5CcmVha3BvaW50c01vZGlmaWVyfX1cbiAgICAgICAgICAgICAge3tzdHlsZSAoaW5saW5lU3R5bGVzIG1pbi1oZWlnaHQ9dGhpcy5taW5IZWlnaHQpfX1cbiAgICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8RXVpUGFnZUJvZHlcbiAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyNpZiBoYXNQYWdlSGVhZGVyfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlSGVhZGVyXG4gICAgICAgICAgICAgICAgICAgIEBib3R0b21Cb3JkZXI9e3tAcGFnZUhlYWRlci5ib3R0b21Cb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7QHBhZ2VIZWFkZXIucGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e0BwYWdlSGVhZGVyLnJlc3BvbnNpdmV9fVxuICAgICAgICAgICAgICAgICAgICBAaWNvblR5cGU9e3tAcGFnZUhlYWRlci5pY29uVHlwZX19XG4gICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgIEBwYWdlVGl0bGU9e3tAcGFnZUhlYWRlci5wYWdlVGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICBAZGVzY3JpcHRpb249e3tAcGFnZUhlYWRlci5kZXNjcmlwdGlvbn19XG4gICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNEZWZhdWx0QmxvY2s9e3toYXNQYWdlSGVhZGVyRGVmYXVsdEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0Rlc2NyaXB0aW9uQmxvY2s9e3toYXNQYWdlSGVhZGVyRGVzY3JpcHRpb25CbG9ja319XG4gICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8OnBhZ2VUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8OmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICA8OmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8OnJpZ2h0U2lkZUl0ZW1zIGFzIHxpdGVtfD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOnJpZ2h0U2lkZUl0ZW1zPlxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlSGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRcbiAgICAgICAgICAgICAgICAgIEBoYXNCb3JkZXI9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBAY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICBAYm9yZGVyUmFkaXVzPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUNvbnRlbnRCb2R5UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgIDxFdWlGbGV4R3JvdXBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBkaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcSB0aGlzLmZ1bGxIZWlnaHQgXCJub3Njcm9sbFwiKSBcImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIEBncm93PXt7dHJ1ZX19XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9FdWlGbGV4SXRlbT5cbiAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwiZGVmYXVsdFwifX1cbiAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudD5cbiAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgIDwvRXVpUGFnZT5cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAge3sjaWYgaGFzUGFnZVNpZGVCYXJCbG9ja319XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VTaWRlQmFyXG4gICAgICAgICAgICAgICAgY2xhc3M9e3tAcGFnZVNpZGVCYXJQcm9wcy5jbGFzc05hbWV9fVxuICAgICAgICAgICAgICAgIEBzdGlja3k9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZVNpZGVCYXJcIn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZVNpZGVCYXI+XG4gICAgICAgICAgICAgIDxFdWlQYWdlQm9keVxuICAgICAgICAgICAgICAgIEBwYW5lbGxlZD17e3RydWV9fVxuICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5XG4gICAgICAgICAgICAgICAgICBjbGFzcz17e3RoaXMucGFnZUJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgIEB0YWdOYW1lPVwiZGl2XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyNpZiBoYXNQYWdlSGVhZGVyfX1cbiAgICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VIZWFkZXJcbiAgICAgICAgICAgICAgICAgICAgICBAYm90dG9tQm9yZGVyPXt7QHBhZ2VIZWFkZXIuYm90dG9tQm9yZGVyfX1cbiAgICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7QHBhZ2VIZWFkZXIucGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICAgICAgQGljb25UeXBlPXt7QHBhZ2VIZWFkZXIuaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgICAgIEB0YWJzPXt7QHBhZ2VIZWFkZXIudGFic319XG4gICAgICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgQGRlc2NyaXB0aW9uPXt7QHBhZ2VIZWFkZXIuZGVzY3JpcHRpb259fVxuICAgICAgICAgICAgICAgICAgICAgIEBoYXNQYWdlVGl0bGVCbG9jaz17e2hhc1BhZ2VIZWFkZXJQYWdlVGl0bGVCbG9ja319XG4gICAgICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICAgIEBoYXNEZXNjcmlwdGlvbkJsb2NrPXt7aGFzUGFnZUhlYWRlckRlc2NyaXB0aW9uQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICAgIEBoYXNSaWdodFNpZGVJdGVtc0Jsb2NrPXt7aGFzUGFnZUhlYWRlclJpZ2h0U2lkZUl0ZW1zQmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPDpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlclBhZ2VUaXRsZVwifX1cbiAgICAgICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPDpkZWZhdWx0PlxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgICAgPDpkZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyRGVzY3JpcHRpb25cIn19XG4gICAgICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPDpyaWdodFNpZGVJdGVtcyBhcyB8aXRlbXw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIGl0ZW0gdG89XCJwYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNcIn19XG4gICAgICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM+XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUhlYWRlcj5cbiAgICAgICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudFxuICAgICAgICAgICAgICAgICAgICBAaGFzU2hhZG93PXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzQm9yZGVyPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICBAY29sb3I9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgICAgIEBib3JkZXJSYWRpdXM9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudFByb3BzQ2xhc3N9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7I2lmIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodCl9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aS1mdWxsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGd1dHRlclNpemU9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAoZXEgdGhpcy5mdWxsSGVpZ2h0IHRydWUpIFwiZXVpLXlTY3JvbGxcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXEgdGhpcy5mdWxsSGVpZ2h0IFwibm9zY3JvbGxcIikgXCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3Jvdz17e3RydWV9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEl0ZW0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhHcm91cD5cbiAgICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPC9FdWlQYWdlQm9keT5cbiAgICAgICAgICAgICAgICB7eyNpZiBoYXNCb3R0b21CYXJCbG9ja319XG4gICAgICAgICAgICAgICAgICA8RXVpQm90dG9tQmFyXG4gICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT17e3BhZGRpbmdTaXplfX1cbiAgICAgICAgICAgICAgICAgICAgQHBvc2l0aW9uPXt7aWZcbiAgICAgICAgICAgICAgICAgICAgICAoYW5kIHRoaXMuY2FuRnVsbEhlaWdodCB0aGlzLmZ1bGxIZWlnaHQpXG4gICAgICAgICAgICAgICAgICAgICAgXCJzdGF0aWNcIlxuICAgICAgICAgICAgICAgICAgICAgIFwic3RpY2t5XCJcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50Qm9keVxuICAgICAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICAgIEByZXN0cmljdFdpZHRoPXt7dGhpcy5yZXN0cmljdFdpZHRofX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJib3R0b21CYXJcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpUGFnZUNvbnRlbnRCb2R5PlxuICAgICAgICAgICAgICAgICAgPC9FdWlCb3R0b21CYXI+XG4gICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICA8L0V1aVBhZ2VCb2R5PlxuICAgICAgICAgICAgPC9FdWlQYWdlPlxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICA8RXVpUGFnZVxuICAgICAgICAgICAgICBjbGFzcz17e3RoaXMuY2xhc3Nlc319XG4gICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICBAZ3Jvdz17e2dyb3d9fVxuICAgICAgICAgICAgICB7e2lzV2l0aGluQnJlYWtwb2ludHNNb2RpZmllcn19XG4gICAgICAgICAgICAgIHt7c3R5bGUgKGlubGluZVN0eWxlcyBtaW4taGVpZ2h0PXRoaXMubWluSGVpZ2h0KX19XG4gICAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPEV1aVBhZ2VCb2R5IGNsYXNzPXt7dGhpcy5wYWdlQm9keVByb3BzQ2xhc3N9fT5cbiAgICAgICAgICAgICAgICB7eyNpZiBoYXNQYWdlSGVhZGVyfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlQYWdlSGVhZGVyXG4gICAgICAgICAgICAgICAgICAgIHt7IUBnbGludC1leHBlY3QtZXJyb3J9fVxuICAgICAgICAgICAgICAgICAgICBAcmVzdHJpY3RXaWR0aD17e3RoaXMucmVzdHJpY3RXaWR0aH19XG4gICAgICAgICAgICAgICAgICAgIEBib3R0b21Cb3JkZXI9e3tAcGFnZUhlYWRlci5ib3R0b21Cb3JkZXJ9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIEByZXNwb25zaXZlPXt7QHBhZ2VIZWFkZXIucmVzcG9uc2l2ZX19XG4gICAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e0BwYWdlSGVhZGVyLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgICAgICAgQHRhYnM9e3tAcGFnZUhlYWRlci50YWJzfX1cbiAgICAgICAgICAgICAgICAgICAgQHBhZ2VUaXRsZT17e0BwYWdlSGVhZGVyLnBhZ2VUaXRsZX19XG4gICAgICAgICAgICAgICAgICAgIEBkZXNjcmlwdGlvbj17e0BwYWdlSGVhZGVyLmRlc2NyaXB0aW9ufX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1BhZ2VUaXRsZUJsb2NrPXt7aGFzUGFnZUhlYWRlclBhZ2VUaXRsZUJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc0RlZmF1bHRCbG9jaz17e2hhc1BhZ2VIZWFkZXJEZWZhdWx0QmxvY2t9fVxuICAgICAgICAgICAgICAgICAgICBAaGFzRGVzY3JpcHRpb25CbG9jaz17e2hhc1BhZ2VIZWFkZXJEZXNjcmlwdGlvbkJsb2NrfX1cbiAgICAgICAgICAgICAgICAgICAgQGhhc1JpZ2h0U2lkZUl0ZW1zQmxvY2s9e3toYXNQYWdlSGVhZGVyUmlnaHRTaWRlSXRlbXNCbG9ja319XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDw6cGFnZVRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJwYWdlSGVhZGVyUGFnZVRpdGxlXCJ9fVxuICAgICAgICAgICAgICAgICAgICA8LzpwYWdlVGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVmYXVsdD5cbiAgICAgICAgICAgICAgICAgICAgICB7e3lpZWxkIHRvPVwicGFnZUhlYWRlckRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgIDwvOmRlZmF1bHQ+XG4gICAgICAgICAgICAgICAgICAgIDw6ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cInBhZ2VIZWFkZXJEZXNjcmlwdGlvblwifX1cbiAgICAgICAgICAgICAgICAgICAgPC86ZGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIDw6cmlnaHRTaWRlSXRlbXMgYXMgfGl0ZW18PlxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgaXRlbSB0bz1cInBhZ2VIZWFkZXJSaWdodFNpZGVJdGVtc1wifX1cbiAgICAgICAgICAgICAgICAgICAgPC86cmlnaHRTaWRlSXRlbXM+XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VIZWFkZXI+XG4gICAgICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgICAgICAgIDxFdWlQYWdlQ29udGVudFxuICAgICAgICAgICAgICAgICAgQGhhc0JvcmRlcj17e2lmIGhhc1BhZ2VIZWFkZXIgZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgQGhhc1NoYWRvdz17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgIEBwYWRkaW5nU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgQGNvbG9yPVwicGxhaW5cIlxuICAgICAgICAgICAgICAgICAgQGJvcmRlclJhZGl1cz1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgY2xhc3M9e3t0aGlzLnBhZ2VDb250ZW50UHJvcHNDbGFzc319XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEV1aVBhZ2VDb250ZW50Qm9keVxuICAgICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICBAcGFkZGluZ1NpemU9e3twYWRkaW5nU2l6ZX19XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7dGhpcy5wYWdlQ29udGVudEJvZHlQcm9wc0NsYXNzfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3sjaWYgKGFuZCB0aGlzLmNhbkZ1bGxIZWlnaHQgdGhpcy5mdWxsSGVpZ2h0KX19XG4gICAgICAgICAgICAgICAgICAgICAgPEV1aUZsZXhHcm91cFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWktZnVsbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAZ3V0dGVyU2l6ZT1cIm5vbmVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgQGRpcmVjdGlvbj1cImNvbHVtblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBAcmVzcG9uc2l2ZT17e2ZhbHNlfX1cbiAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8RXVpRmxleEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSB0aGlzLmZ1bGxIZWlnaHQgdHJ1ZSkgXCJldWkteVNjcm9sbFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVxIHRoaXMuZnVsbEhlaWdodCBcIm5vc2Nyb2xsXCIpIFwiZXVpLWZ1bGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgQGdyb3c9e3t0cnVlfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImRlZmF1bHRcIn19XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0V1aUZsZXhJdGVtPlxuICAgICAgICAgICAgICAgICAgICAgIDwvRXVpRmxleEdyb3VwPlxuICAgICAgICAgICAgICAgICAgICB7e2Vsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJkZWZhdWx0XCJ9fVxuICAgICAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50Qm9keT5cbiAgICAgICAgICAgICAgICA8L0V1aVBhZ2VDb250ZW50PlxuICAgICAgICAgICAgICAgIHt7I2lmIGhhc0JvdHRvbUJhckJsb2NrfX1cbiAgICAgICAgICAgICAgICAgIDxFdWlCb3R0b21CYXJcbiAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPXt7cGFkZGluZ1NpemV9fVxuICAgICAgICAgICAgICAgICAgICBAcG9zaXRpb249e3tpZlxuICAgICAgICAgICAgICAgICAgICAgIChhbmQgdGhpcy5jYW5GdWxsSGVpZ2h0IHRoaXMuZnVsbEhlaWdodClcbiAgICAgICAgICAgICAgICAgICAgICBcInN0YXRpY1wiXG4gICAgICAgICAgICAgICAgICAgICAgXCJzdGlja3lcIlxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8RXVpUGFnZUNvbnRlbnRCb2R5XG4gICAgICAgICAgICAgICAgICAgICAgQHBhZGRpbmdTaXplPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAge3shQGdsaW50LWV4cGVjdC1lcnJvcn19XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3RyaWN0V2lkdGg9e3t0aGlzLnJlc3RyaWN0V2lkdGh9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImJvdHRvbUJhclwifX1cbiAgICAgICAgICAgICAgICAgICAgPC9FdWlQYWdlQ29udGVudEJvZHk+XG4gICAgICAgICAgICAgICAgICA8L0V1aUJvdHRvbUJhcj5cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgIDwvRXVpUGFnZUJvZHk+XG4gICAgICAgICAgICA8L0V1aVBhZ2U+XG4gICAgICAgICAge3svaWZ9fVxuICAgICAgICB7ey9pZn19XG4gICAgICB7ey9sZXR9fVxuICAgIHt7L2xldH19XG4gIDwvdGVtcGxhdGU+XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JCLENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEM7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0Q7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRTtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEI7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQjtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFDRDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNiLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUU7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QztBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNKO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pEO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2xELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNMO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckIsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEQ7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDMUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ0w7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakIsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDLENBQUM7QUFDSDtBQUNBLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RSxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzNFLENBQUMsQ0FBQyxDQUFDO0FBQ0g7QUFDQSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsRixDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDLHFCQUFVO0FBQ1o7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBOHdCQyxDQUFDLDRQQUFXO0FBQ2IsQ0FBQzsifQ=="],"names":["TEMPLATES","BREAKPOINTS","EuiPageTemplate","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","and","useIsWithinBreakpoints","or","eq","EuiPage","style","inlineStyles","EuiPageSideBar","EuiPageBody","EuiPageHeader","EuiPageContent","EuiPageContentBody","EuiFlexGroup","EuiFlexItem","classNames","EuiBottomBar","_dec","argOrDefaultDecorator","_dec2","_class","Component","constructor","args","_initializerDefineProperty","_descriptor","_descriptor2","_descriptor3","_defineProperty","value","isWithinBreakpoints","minHeight","restrictWidth","width","classes","fullHeightClass","fullHeight","canFullHeight","yScrollClass","template","pageBodyPropsClass","pageBodyProps","className","pageContentPropsClass","pageContentProps","pageContentBodyPropsClass","pageContentBodyProps","_applyDecoratedDescriptor","prototype","configurable","enumerable","writable","initializer","tracked"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex-to-rgb.js","sources":["../../src/helpers/hex-to-rgb.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// Convert hexadecimal color into an array of RGB integer values\n// Modified from https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb\n\nimport { helper } from '@ember/component/helper';\n\nexport function hexToRgb(hex: string): rgbDef {\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\n hex = hex.replace(\n shorthandRegex,\n (_m, r1, g1, b1) => r1 + r1 + g1 + g1 + b1 + b1\n );\n\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)!;\n\n if (result) {\n const [, r, g, b] = result;\n\n return [parseInt(r!, 16), parseInt(g!, 16), parseInt(b!, 16)];\n }\n\n // fallback to prevent errors\n return [0, 0, 0];\n}\n\nexport default helper(function ([hex]: [string]) {\n return hexToRgb(hex);\n});\n"],"names":["hexToRgb","hex","shorthandRegex","replace","_m","r1","g1","b1","result","exec","r","g","b","parseInt","helper"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;
|
|
1
|
+
{"version":3,"file":"hex-to-rgb.js","sources":["../../src/helpers/hex-to-rgb.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// Convert hexadecimal color into an array of RGB integer values\n// Modified from https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb\n\nimport { helper } from '@ember/component/helper';\n\ntype rgbDef = [number, number, number];\n\nexport function hexToRgb(hex: string): rgbDef {\n // Expand shorthand form (e.g. \"03F\") to full form (e.g. \"0033FF\")\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\n hex = hex.replace(\n shorthandRegex,\n (_m, r1, g1, b1) => r1 + r1 + g1 + g1 + b1 + b1\n );\n\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)!;\n\n if (result) {\n const [, r, g, b] = result;\n\n return [parseInt(r!, 16), parseInt(g!, 16), parseInt(b!, 16)];\n }\n\n // fallback to prevent errors\n return [0, 0, 0];\n}\n\nexport default helper(function ([hex]: [string]) {\n return hexToRgb(hex);\n});\n"],"names":["hexToRgb","hex","shorthandRegex","replace","_m","r1","g1","b1","result","exec","r","g","b","parseInt","helper"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASO,SAASA,QAAQA,CAACC,GAAW,EAAU;AAC5C;EACA,MAAMC,cAAc,GAAG,kCAAkC,CAAA;EAEzDD,GAAG,GAAGA,GAAG,CAACE,OAAO,CACfD,cAAc,EACd,CAACE,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,KAAKF,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAC/C,CAAC,CAAA;AAED,EAAA,MAAMC,MAAM,GAAG,2CAA2C,CAACC,IAAI,CAACR,GAAG,CAAE,CAAA;AAErE,EAAA,IAAIO,MAAM,EAAE;IACV,MAAM,GAAGE,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,GAAGJ,MAAM,CAAA;IAE1B,OAAO,CAACK,QAAQ,CAACH,CAAC,EAAG,EAAE,CAAC,EAAEG,QAAQ,CAACF,CAAC,EAAG,EAAE,CAAC,EAAEE,QAAQ,CAACD,CAAC,EAAG,EAAE,CAAC,CAAC,CAAA;AAC/D,GAAA;;AAEA;AACA,EAAA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAClB,CAAA;AAEA,iBAAeE,MAAM,CAAC,UAAU,CAACb,GAAG,CAAW,EAAE;EAC/C,OAAOD,QAAQ,CAACC,GAAG,CAAC,CAAA;AACtB,CAAC,CAAC;;;;"}
|