@amboss/design-system 3.15.5 → 3.15.7
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/build/cjs/components/Badge/Badge.d.ts +1 -1
- package/build/cjs/components/Badge/Badge.js +1 -1
- package/build/cjs/components/PromptInput/PromptInput.js +1 -1
- package/build/cjs/web-tokens/assets/icons.json +3 -1
- package/build/cjs/web-tokens/assets/icons16.json +3 -1
- package/build/esm/components/Badge/Badge.d.ts +1 -1
- package/build/esm/components/Badge/Badge.js +1 -1
- package/build/esm/components/PromptInput/PromptInput.js +1 -1
- package/build/esm/web-tokens/assets/icons.json +3 -1
- package/build/esm/web-tokens/assets/icons16.json +3 -1
- package/package.json +7 -5
|
@@ -8,4 +8,4 @@ export type BadgeProps = {
|
|
|
8
8
|
icon?: IconName;
|
|
9
9
|
"data-e2e-test-id"?: string;
|
|
10
10
|
};
|
|
11
|
-
export declare function Badge({ text, color, icon, "data-e2e-test-id": dataE2eTestId, }: BadgeProps): React.ReactElement;
|
|
11
|
+
export declare function Badge({ text, color, icon, "data-e2e-test-id": dataE2eTestId, ...rest }: BadgeProps): React.ReactElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Badge",{enumerable:!0,get:function(){return Badge}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_Box=require("../Box/Box"),_Icon=require("../Icon/Icon"),_Inline=require("../Inline/Inline"),BadgeContainer=(0,_styled.default)("div",{target:"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"Badge",{enumerable:!0,get:function(){return Badge}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/_interop_require_default._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_Box=require("../Box/Box"),_Icon=require("../Icon/Icon"),_Inline=require("../Inline/Inline"),BadgeContainer=(0,_styled.default)("div",{target:"e1wwxhj00",label:"BadgeContainer"})(({theme,color})=>({borderRadius:theme.variables.size.borderRadius.xl,display:"inline-block",textTransform:"uppercase",fontFamily:theme.variables.fontFamily.lato,fontSize:theme.variables.size.font.xs,lineHeight:theme.variables.size.lineHeight.m,fontWeight:"bold",letterSpacing:theme.variables.size.letterSpacing.m,border:"solid 1px",borderColor:color?theme.values.color.badge.borderSubtle[color]:theme.values.color.badge.borderSubtle.default,backgroundColor:color?theme.values.color.badge.background[color]:theme.values.color.badge.background.default,color:color?theme.values.color.badge.foreground[color]:theme.values.color.badge.foreground.default}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvQmFkZ2UvQmFkZ2UudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9CYWRnZS9CYWRnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5cbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgdHlwZSB7IEljb25OYW1lIH0gZnJvbSBcIi4uL0ljb24vSWNvblwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCIuLi9JY29uL0ljb25cIjtcbmltcG9ydCB7IElubGluZSB9IGZyb20gXCIuLi9JbmxpbmUvSW5saW5lXCI7XG5cbmV4cG9ydCB0eXBlIEJhZGdlUHJvcHMgPSB7XG4gIC8qKiBUaGlzIGlzIGEgdGV4dCBmb3IgYSBjb21wb25lbnQgcHJvcGVydHkgKi9cbiAgdGV4dDogc3RyaW5nO1xuICAvKiogQSBjb2xvciBkb2Vzbid0IHJlZmxlY3QgYW55IGludGVudCBvdGhlciB0aGFuIHRvIHZhcmlldHkgKi9cbiAgY29sb3I/OiBgZ3JlZW5gIHwgYGJsdWVgIHwgYHllbGxvd2AgfCBgYnJhbmRgIHwgYHB1cnBsZWAgfCBgcmVkYCB8IGBncmF5YDtcblxuICBpY29uPzogSWNvbk5hbWU7XG4gIFwiZGF0YS1lMmUtdGVzdC1pZFwiPzogc3RyaW5nO1xufTtcblxuY29uc3QgQmFkZ2VDb250YWluZXIgPSBzdHlsZWQuZGl2PFBhcnRpYWw8QmFkZ2VQcm9wcz4+KCh7IHRoZW1lLCBjb2xvciB9KSA9PiAoe1xuICBib3JkZXJSYWRpdXM6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmJvcmRlclJhZGl1cy54bCxcbiAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgdGV4dFRyYW5zZm9ybTogXCJ1cHBlcmNhc2VcIixcbiAgZm9udEZhbWlseTogdGhlbWUudmFyaWFibGVzLmZvbnRGYW1pbHkubGF0byxcbiAgZm9udFNpemU6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmZvbnQueHMsXG4gIGxpbmVIZWlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxpbmVIZWlnaHQubSxcbiAgZm9udFdlaWdodDogXCJib2xkXCIsXG4gIGxldHRlclNwYWNpbmc6IHRoZW1lLnZhcmlhYmxlcy5zaXplLmxldHRlclNwYWNpbmcubSxcbiAgYm9yZGVyOiBcInNvbGlkIDFweFwiLFxuICBib3JkZXJDb2xvcjogY29sb3JcbiAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWRnZS5ib3JkZXJTdWJ0bGVbY29sb3JdXG4gICAgOiB0aGVtZS52YWx1ZXMuY29sb3IuYmFkZ2UuYm9yZGVyU3VidGxlLmRlZmF1bHQsXG4gIGJhY2tncm91bmRDb2xvcjogY29sb3JcbiAgICA/IHRoZW1lLnZhbHVlcy5jb2xvci5iYWRnZS5iYWNrZ3JvdW5kW2NvbG9yXVxuICAgIDogdGhlbWUudmFsdWVzLmNvbG9yLmJhZGdlLmJhY2tncm91bmQuZGVmYXVsdCxcbiAgY29sb3I6IGNvbG9yXG4gICAgPyB0aGVtZS52YWx1ZXMuY29sb3IuYmFkZ2UuZm9yZWdyb3VuZFtjb2xvcl1cbiAgICA6IHRoZW1lLnZhbHVlcy5jb2xvci5iYWRnZS5mb3JlZ3JvdW5kLmRlZmF1bHQsXG59KSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBCYWRnZSh7XG4gIHRleHQsXG4gIGNvbG9yID0gbnVsbCxcbiAgaWNvbixcbiAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gIC4uLnJlc3Rcbn06IEJhZGdlUHJvcHMpOiBSZWFjdC5SZWFjdEVsZW1lbnQge1xuICByZXR1cm4gKFxuICAgIDxCYWRnZUNvbnRhaW5lclxuICAgICAgZGF0YS1lMmUtdGVzdC1pZD17ZGF0YUUyZVRlc3RJZH1cbiAgICAgIGRhdGEtZHMtaWQ9XCJCYWRnZVwiXG4gICAgICBjb2xvcj17Y29sb3J9XG4gICAgICB7Li4ucmVzdH1cbiAgICA+XG4gICAgICA8Qm94IHNwYWNlPVwieHNcIiB2U3BhY2U9XCJ4eHNcIj5cbiAgICAgICAgPElubGluZSB2QWxpZ25JdGVtcz1cImNlbnRlclwiIHNwYWNlPVwieHhzXCIgbm9XcmFwPlxuICAgICAgICAgIHtpY29uICYmIDxJY29uIG5hbWU9e2ljb259IHNpemU9XCJzXCIgYXJpYS1oaWRkZW4gLz59XG4gICAgICAgICAgPHNwYW4+e3RleHR9PC9zcGFuPlxuICAgICAgICA8L0lubGluZT5cbiAgICAgIDwvQm94PlxuICAgIDwvQmFkZ2VDb250YWluZXI+XG4gICk7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0J1QiJ9 */");function Badge({text,color=null,icon,"data-e2e-test-id":dataE2eTestId,...rest}){return _react.default.createElement(BadgeContainer,{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"Badge",color:color,...rest},_react.default.createElement(_Box.Box,{space:"xs",vSpace:"xxs"},_react.default.createElement(_Inline.Inline,{vAlignItems:"center",space:"xxs",noWrap:!0},icon&&_react.default.createElement(_Icon.Icon,{name:icon,size:"s","aria-hidden":!0}),_react.default.createElement("span",null,text))))}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"PromptInput",{enumerable:!0,get:function(){return PromptInput}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_PromptTextArea=require("./PromptTextArea"),_Container=require("../Container"),_AutocompleteList=require("./AutocompleteList"),_CategoryList=require("./CategoryList"),_Box=require("../Box/Box"),_Text=require("../Typography/Text"),_Columns=require("../Column/Columns"),_Button=require("../Button/Button"),_Inline=require("../Inline/Inline"),_RoundButton=require("../RoundButton/RoundButton"),_PictogramButton=require("../PictogramButton/PictogramButton"),_Stack=require("../Stack/Stack"),_useOutsideClick=require("../../shared/useOutsideClick"),CustomContainer=(0,_styled.default)(_Container.Container,{target:"etqpd640",label:"CustomContainer"})(({theme,hideBorder})=>({border:`1px solid ${theme.values.color.border.primary.default}`,...hideBorder&&{borderColor:"transparent"},"&:has(textarea:focus-visible)":{outlineWidth:1,outlineStyle:"solid",outlineOffset:-1,outlineColor:theme.values.color.border.accent.default,boxShadow:theme.values.shadow.focusRing,"@media (-webkit-min-device-pixel-ratio:0)":{outlineColor:theme.values.color.border.accent.default}}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8QywgT21pdDxCdXR0b25Qcm9wcywgJ3ZhcmlhbnQnIHwgJ3NpemUnIHwgJ3JlZic+PixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkN3QiJ9 */"),StyledTextAreaContainer=(0,_styled.default)("div",{target:"etqpd641",label:"StyledTextAreaContainer"})({position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8QywgT21pdDxCdXR0b25Qcm9wcywgJ3ZhcmlhbnQnIHwgJ3NpemUnIHwgJ3JlZic+PixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUVnQyJ9 */"),StyledEmptyStateTopRightContentContainer=(0,_styled.default)("div",{target:"etqpd642",label:"StyledEmptyStateTopRightContentContainer"})(({theme,isNavBarVariant})=>({position:"absolute",top:isNavBarVariant?theme.variables.size.spacing.xxs:theme.variables.size.spacing.m,right:theme.variables.size.spacing.m,userSelect:"none",pointerEvents:"none"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8QywgT21pdDxCdXR0b25Qcm9wcywgJ3ZhcmlhbnQnIHwgJ3NpemUnIHwgJ3JlZic+PixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkVFIn0= */"),StyledClearButton=(0,_styled.default)(_PictogramButton.PictogramButton,{target:"etqpd643",label:"StyledClearButton"})(({theme,isNavBarVariant})=>({position:"absolute",right:theme.variables.size.spacing.s,top:isNavBarVariant?0:theme.variables.size.spacing.s}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8QywgT21pdDxCdXR0b25Qcm9wcywgJ3ZhcmlhbnQnIHwgJ3NpemUnIHwgJ3JlZic+PixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEYwQiJ9 */"),PromptInputComponent=(0,_react.forwardRef)(({"data-e2e-test-id":dataE2eTestId,name,autocompleteListItems=[],value,bottomToolbar={leftContent:null,rightContent:null},isProcessing,sendButtonProps={type:"submit",icon:"arrow-up"},autocompleteListFooter,clearButtonAriaLabel="Clear input",hint,emptyStateTopRightContent,isNavBarVariant,portalContainer,onChange,onComplete,onClear,onEnterKey,onFocus,onBlur,onKeyDown,...rest},ref)=>{let containerRef=(0,_react.useRef)(null),textAreaContainerRef=(0,_react.useRef)(null),internalRef=(0,_react.useRef)(null),[selectedIndex,setSelectedIndex]=(0,_react.useState)(-1),[isCollapsed,setIsCollapsed]=(0,_react.useState)(isNavBarVariant),userTypedQuery=(0,_react.useRef)(""),[isAutocompleteListOpen,setIsAutocompleteListOpen]=(0,_react.useState)(!1),textAreaRef=ref||internalRef;(0,_useOutsideClick.useOutsideClick)(containerRef,evt=>{containerRef.current.contains(evt.target)||portalContainer?.contains(evt.target)||null===evt.target||setIsCollapsed(!0)},!isCollapsed&&isNavBarVariant);let closeAutocompleteList=(0,_react.useCallback)(()=>{setIsAutocompleteListOpen(!1),setSelectedIndex(-1)},[]),openAutocompleteList=(0,_react.useCallback)(()=>{autocompleteListItems.length&&(setIsAutocompleteListOpen(!0),setSelectedIndex(-1))},[autocompleteListItems]),acceptTextSelection=()=>{userTypedQuery.current=value,textAreaRef.current.setSelectionRange(value.length,value.length)};(0,_react.useEffect)(()=>{autocompleteListItems.length&&!isCollapsed?openAutocompleteList():closeAutocompleteList()},[autocompleteListItems,openAutocompleteList,closeAutocompleteList,isCollapsed]),(0,_react.useEffect)(()=>{value&&value!==userTypedQuery.current&&isAutocompleteListOpen&&textAreaRef.current.setSelectionRange(userTypedQuery.current.length,value.length)},[value,textAreaRef,isAutocompleteListOpen]),(0,_react.useEffect)(()=>{let handler,container=containerRef.current;return isNavBarVariant&&container&&(handler=evt=>{containerRef.current.contains(evt.relatedTarget)||portalContainer?.contains(evt.relatedTarget)||null===evt.relatedTarget||setIsCollapsed(!0)},window.addEventListener("focusout",handler)),()=>{container&&window.removeEventListener("focusout",handler)}},[isNavBarVariant,containerRef,portalContainer]);let flattenedListItems=(0,_react.useMemo)(()=>{let list=[];return autocompleteListItems.forEach(listItem=>{listItem.items.forEach((item,index)=>{list.push({category:listItem.category,indexInCategory:index,value:item.value,id:(0,_CategoryList.getListItemId)(name,listItem.category,index)})})}),list},[autocompleteListItems,name]),handleSelectedIndexChange=(index,evt)=>{if(setSelectedIndex(index),-1!==index){let{category,value:itemValue}=flattenedListItems[index];onComplete({value:itemValue,category,evt,index})}},selectedListItem=-1!==selectedIndex?flattenedListItems[selectedIndex]:null,emptyStateTopRightContentElm=emptyStateTopRightContent?_react.default.createElement(StyledEmptyStateTopRightContentContainer,{isNavBarVariant:isNavBarVariant},_react.default.createElement(_Text.Text,{color:"tertiary"},emptyStateTopRightContent)):null,clearButtonElm=value?_react.default.createElement(StyledClearButton,{size:"s",icon:"x-circle-filled","aria-label":clearButtonAriaLabel,isNavBarVariant:isNavBarVariant,onPointerDown:evt=>evt.preventDefault(),onClick:onClear}):emptyStateTopRightContentElm,hintElm=!!hint&&_react.default.createElement(_Inline.Inline,{alignItems:"center"},_react.default.createElement(_Text.Text,{size:"s",color:"tertiary"},hint)),bottomToolbarElm=!isCollapsed&&_react.default.createElement(_Box.Box,{space:"m","data-e2e-test-id":"bottomToolbar"},_react.default.createElement(_Columns.Columns,{gap:"s",alignItems:"spaceBetween",vAlignItems:"center"},_react.default.createElement(_Columns.Column,null,bottomToolbar.leftContent),_react.default.createElement(_Columns.Column,{size:"narrow"},_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center"},bottomToolbar.rightContent,_react.default.createElement(_RoundButton.RoundButton,{...sendButtonProps,onClick:evt=>{sendButtonProps.onClick?.(evt),closeAutocompleteList(),isNavBarVariant&&setIsCollapsed(!0)},ariaAttributes:{"aria-label":isProcessing?"Processing query":"Submit query"},variant:"primary",disabled:!value,icon:isProcessing?"stop-filled":sendButtonProps.icon})))));return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement("div",{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"PromptInput",ref:containerRef,translate:"no"},_react.default.createElement(_Stack.Stack,{space:"s"},_react.default.createElement("div",{ref:textAreaContainerRef},_react.default.createElement(CustomContainer,{elevation:0,borderRadius:isCollapsed?"xs":"m",hideBorder:isCollapsed},_react.default.createElement(StyledTextAreaContainer,null,_react.default.createElement(_PromptTextArea.PromptTextArea,{...rest,dataE2eTestId:dataE2eTestId?`${dataE2eTestId}-input`:void 0,name:name,value:value,ref:textAreaRef,isNavBarVariant:isNavBarVariant,selectedListItem:selectedListItem,isAutocompleteListOpen:isAutocompleteListOpen,isCollapsed:isCollapsed,onFocus:evt=>{setIsCollapsed(!1),onFocus?.(evt)},onBlur:evt=>{value!==userTypedQuery.current&&onComplete?.({value:userTypedQuery.current,evt}),onBlur?.(evt)},onChange:evt=>{userTypedQuery.current=evt.target.value,onChange(evt)},onKeyDown:evt=>{if(isAutocompleteListOpen)switch(evt.key){case"Escape":closeAutocompleteList(),onComplete({value:userTypedQuery.current,evt}),isNavBarVariant&&setIsCollapsed(!0);break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),closeAutocompleteList(),acceptTextSelection(),value&&(onEnterKey?.(),isNavBarVariant&&setIsCollapsed(!0)));break;case" ":acceptTextSelection();break;case"ArrowUp":evt.preventDefault(),selectedIndex>-1&&handleSelectedIndexChange(selectedIndex-1,evt);break;case"ArrowDown":evt.preventDefault(),selectedIndex<flattenedListItems.length-1&&handleSelectedIndexChange(selectedIndex+1,evt)}else switch(evt.key){case"Escape":onClear?.();break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),value&&onEnterKey?.())}onKeyDown?.(evt)}}),clearButtonElm),bottomToolbarElm)),hintElm)),_react.default.createElement(_AutocompleteList.AutocompleteList,{name:name,value:value,autocompleteListItems:autocompleteListItems,triggerRef:textAreaContainerRef,selectedListItem:selectedListItem,isOpen:isAutocompleteListOpen,autocompleteListFooter:autocompleteListFooter,portalContainer:portalContainer,onListItemClick:(category,indexInCategory,evt)=>{handleSelectedIndexChange(flattenedListItems.findIndex(listItem=>listItem.category===category&&listItem.indexInCategory===indexInCategory),evt),closeAutocompleteList(),isNavBarVariant&&setIsCollapsed(!0)}}))}),CustomButton=(0,_styled.default)(_Button.Button,{target:"etqpd644",label:"CustomButton"})(({theme})=>({borderRadius:theme.variables.size.borderRadius.l}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8QywgT21pdDxCdXR0b25Qcm9wcywgJ3ZhcmlhbnQnIHwgJ3NpemUnIHwgJ3JlZic+PixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcWZxQiJ9 */"),PromptInput=Object.assign(PromptInputComponent,{SuggestionButton:(0,_react.forwardRef)((props,ref)=>_react.default.createElement(CustomButton,{...props,variant:"secondary",size:"s",ref:ref}))});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"PromptInput",{enumerable:!0,get:function(){return PromptInput}});const _interop_require_default=require("@swc/helpers/_/_interop_require_default"),_react=/*#__PURE__*/require("@swc/helpers/_/_interop_require_wildcard")._(require("react")),_styled=/*#__PURE__*/_interop_require_default._(require("@emotion/styled")),_PromptTextArea=require("./PromptTextArea"),_Container=require("../Container"),_AutocompleteList=require("./AutocompleteList"),_CategoryList=require("./CategoryList"),_Box=require("../Box/Box"),_Text=require("../Typography/Text"),_Columns=require("../Column/Columns"),_Button=require("../Button/Button"),_Inline=require("../Inline/Inline"),_RoundButton=require("../RoundButton/RoundButton"),_PictogramButton=require("../PictogramButton/PictogramButton"),_Stack=require("../Stack/Stack"),_useOutsideClick=require("../../shared/useOutsideClick"),CustomContainer=(0,_styled.default)(_Container.Container,{target:"eypbura0",label:"CustomContainer"})(({theme,hideBorder})=>({border:`1px solid ${theme.values.color.border.primary.default}`,...hideBorder&&{borderColor:"transparent"},"&:has(textarea:focus-visible)":{outlineWidth:1,outlineStyle:"solid",outlineOffset:-1,outlineColor:theme.values.color.border.accent.default,boxShadow:theme.values.shadow.focusRing,"@media (-webkit-min-device-pixel-ratio:0)":{outlineColor:theme.values.color.border.accent.default}}}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8XG4gICAgICBDLFxuICAgICAgT21pdDxCdXR0b25Qcm9wcywgXCJ2YXJpYW50XCIgfCBcInNpemVcIiB8IFwicmVmXCI+XG4gICAgPixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkN3QiJ9 */"),StyledTextAreaContainer=(0,_styled.default)("div",{target:"eypbura1",label:"StyledTextAreaContainer"})({position:"relative"},"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8XG4gICAgICBDLFxuICAgICAgT21pdDxCdXR0b25Qcm9wcywgXCJ2YXJpYW50XCIgfCBcInNpemVcIiB8IFwicmVmXCI+XG4gICAgPixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUVnQyJ9 */"),StyledEmptyStateTopRightContentContainer=(0,_styled.default)("div",{target:"eypbura2",label:"StyledEmptyStateTopRightContentContainer"})(({theme,isNavBarVariant})=>({position:"absolute",top:isNavBarVariant?theme.variables.size.spacing.xxs:theme.variables.size.spacing.m,right:theme.variables.size.spacing.m,userSelect:"none",pointerEvents:"none"}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8XG4gICAgICBDLFxuICAgICAgT21pdDxCdXR0b25Qcm9wcywgXCJ2YXJpYW50XCIgfCBcInNpemVcIiB8IFwicmVmXCI+XG4gICAgPixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkVFIn0= */"),StyledClearButton=(0,_styled.default)(_PictogramButton.PictogramButton,{target:"eypbura3",label:"StyledClearButton"})(({theme,isNavBarVariant})=>({position:"absolute",right:theme.variables.size.spacing.s,top:isNavBarVariant?0:theme.variables.size.spacing.s}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8XG4gICAgICBDLFxuICAgICAgT21pdDxCdXR0b25Qcm9wcywgXCJ2YXJpYW50XCIgfCBcInNpemVcIiB8IFwicmVmXCI+XG4gICAgPixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEYwQiJ9 */"),PromptInputComponent=(0,_react.forwardRef)(({"data-e2e-test-id":dataE2eTestId,name,autocompleteListItems=[],value,bottomToolbar={leftContent:null,rightContent:null},isProcessing,sendButtonProps={type:"submit",icon:"arrow-up"},autocompleteListFooter,clearButtonAriaLabel="Clear input",hint,emptyStateTopRightContent,isNavBarVariant,portalContainer,onChange,onComplete,onClear,onEnterKey,onFocus,onBlur,onKeyDown,...rest},ref)=>{let containerRef=(0,_react.useRef)(null),textAreaContainerRef=(0,_react.useRef)(null),internalRef=(0,_react.useRef)(null),[selectedIndex,setSelectedIndex]=(0,_react.useState)(-1),[isCollapsed,setIsCollapsed]=(0,_react.useState)(isNavBarVariant),userTypedQuery=(0,_react.useRef)(""),[isAutocompleteListOpen,setIsAutocompleteListOpen]=(0,_react.useState)(!1),textAreaRef=ref||internalRef;(0,_useOutsideClick.useOutsideClick)(containerRef,evt=>{containerRef.current.contains(evt.target)||portalContainer?.contains(evt.target)||null===evt.target||setIsCollapsed(!0)},!isCollapsed&&isNavBarVariant);let closeAutocompleteList=(0,_react.useCallback)(()=>{setIsAutocompleteListOpen(!1),setSelectedIndex(-1)},[]),openAutocompleteList=(0,_react.useCallback)(()=>{autocompleteListItems.length&&(setIsAutocompleteListOpen(!0),setSelectedIndex(-1))},[autocompleteListItems]),acceptTextSelection=()=>{userTypedQuery.current=value,textAreaRef.current.setSelectionRange(value.length,value.length)};(0,_react.useEffect)(()=>{autocompleteListItems.length&&!isCollapsed?openAutocompleteList():closeAutocompleteList()},[autocompleteListItems,openAutocompleteList,closeAutocompleteList,isCollapsed]),(0,_react.useEffect)(()=>{value&&value!==userTypedQuery.current&&isAutocompleteListOpen&&textAreaRef.current.setSelectionRange(userTypedQuery.current.length,value.length)},[value,textAreaRef,isAutocompleteListOpen]),(0,_react.useEffect)(()=>{let handler,container=containerRef.current;return isNavBarVariant&&container&&(handler=evt=>{containerRef.current.contains(evt.relatedTarget)||portalContainer?.contains(evt.relatedTarget)||null===evt.relatedTarget||setIsCollapsed(!0)},window.addEventListener("focusout",handler)),()=>{container&&window.removeEventListener("focusout",handler)}},[isNavBarVariant,containerRef,portalContainer]);let flattenedListItems=(0,_react.useMemo)(()=>{let list=[];return autocompleteListItems.forEach(listItem=>{listItem.items.forEach((item,index)=>{list.push({category:listItem.category,indexInCategory:index,value:item.value,id:(0,_CategoryList.getListItemId)(name,listItem.category,index)})})}),list},[autocompleteListItems,name]),handleSelectedIndexChange=(index,evt)=>{if(setSelectedIndex(index),-1!==index){let{category,value:itemValue}=flattenedListItems[index];onComplete({value:itemValue,category,evt,index})}},selectedListItem=-1!==selectedIndex?flattenedListItems[selectedIndex]:null,emptyStateTopRightContentElm=emptyStateTopRightContent?_react.default.createElement(StyledEmptyStateTopRightContentContainer,{isNavBarVariant:isNavBarVariant},_react.default.createElement(_Text.Text,{color:"tertiary"},emptyStateTopRightContent)):null,clearButtonElm=value?_react.default.createElement(StyledClearButton,{size:"s",icon:"x-circle-filled","aria-label":clearButtonAriaLabel,isNavBarVariant:isNavBarVariant,onPointerDown:evt=>evt.preventDefault(),onClick:onClear}):emptyStateTopRightContentElm,hintElm=!!hint&&_react.default.createElement(_Inline.Inline,{alignItems:"center"},_react.default.createElement(_Text.Text,{size:"s",color:"tertiary"},hint)),bottomToolbarElm=!isCollapsed&&_react.default.createElement(_Box.Box,{space:"m","data-e2e-test-id":"bottomToolbar"},_react.default.createElement(_Columns.Columns,{gap:"s",alignItems:"spaceBetween",vAlignItems:"center"},_react.default.createElement(_Columns.Column,null,bottomToolbar.leftContent),_react.default.createElement(_Columns.Column,{size:"narrow"},_react.default.createElement(_Inline.Inline,{space:"xs",vAlignItems:"center"},bottomToolbar.rightContent,_react.default.createElement(_RoundButton.RoundButton,{...sendButtonProps,onClick:evt=>{sendButtonProps.onClick?.(evt),closeAutocompleteList(),isNavBarVariant&&setIsCollapsed(!0)},ariaAttributes:{"aria-label":isProcessing?"Processing query":"Submit query"},variant:"primary",disabled:!value,icon:isProcessing?"stop-filled":sendButtonProps.icon})))));return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement("div",{"data-e2e-test-id":dataE2eTestId,"data-ds-id":"PromptInput",ref:containerRef,translate:"no"},_react.default.createElement(_Stack.Stack,{space:"s"},_react.default.createElement("div",{ref:textAreaContainerRef},_react.default.createElement(CustomContainer,{elevation:0,borderRadius:isCollapsed?"xs":"m",hideBorder:isCollapsed},_react.default.createElement(StyledTextAreaContainer,null,_react.default.createElement(_PromptTextArea.PromptTextArea,{...rest,dataE2eTestId:dataE2eTestId?`${dataE2eTestId}-input`:void 0,name:name,value:value,ref:textAreaRef,isNavBarVariant:isNavBarVariant,selectedListItem:selectedListItem,isAutocompleteListOpen:isAutocompleteListOpen,isCollapsed:isCollapsed,onFocus:evt=>{setIsCollapsed(!1),onFocus?.(evt)},onBlur:evt=>{value!==userTypedQuery.current&&onComplete?.({value:userTypedQuery.current,evt}),onBlur?.(evt)},onChange:evt=>{userTypedQuery.current=evt.target.value,onChange(evt)},onKeyDown:evt=>{if(isAutocompleteListOpen)switch(evt.key){case"Escape":closeAutocompleteList(),onComplete({value:userTypedQuery.current,evt}),isNavBarVariant&&setIsCollapsed(!0);break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),closeAutocompleteList(),acceptTextSelection(),value&&(onEnterKey?.(),isNavBarVariant&&setIsCollapsed(!0)));break;case" ":acceptTextSelection();break;case"ArrowUp":evt.preventDefault(),selectedIndex>-1&&handleSelectedIndexChange(selectedIndex-1,evt);break;case"ArrowDown":evt.preventDefault(),selectedIndex<flattenedListItems.length-1&&handleSelectedIndexChange(selectedIndex+1,evt)}else switch(evt.key){case"Escape":onClear?.();break;case"Enter":!evt.shiftKey&&(evt.preventDefault(),value&&onEnterKey?.())}onKeyDown?.(evt)}}),clearButtonElm),bottomToolbarElm)),hintElm)),_react.default.createElement(_AutocompleteList.AutocompleteList,{name:name,value:value,autocompleteListItems:autocompleteListItems,triggerRef:textAreaContainerRef,selectedListItem:selectedListItem,isOpen:isAutocompleteListOpen,autocompleteListFooter:autocompleteListFooter,portalContainer:portalContainer,onListItemClick:(category,indexInCategory,evt)=>{handleSelectedIndexChange(flattenedListItems.findIndex(listItem=>listItem.category===category&&listItem.indexInCategory===indexInCategory),evt),closeAutocompleteList(),isNavBarVariant&&setIsCollapsed(!0)}}))}),CustomButton=(0,_styled.default)(_Button.Button,{target:"eypbura4",label:"CustomButton"})(({theme})=>({borderRadius:theme.variables.size.borderRadius.l}),"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3JjL2NvbXBvbmVudHMvUHJvbXB0SW5wdXQvUHJvbXB0SW5wdXQudHN4Iiwic291cmNlcyI6WyJzcmMvY29tcG9uZW50cy9Qcm9tcHRJbnB1dC9Qcm9tcHRJbnB1dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSZWFjdEVsZW1lbnQsXG4gIENoYW5nZUV2ZW50SGFuZGxlcixcbiAgS2V5Ym9hcmRFdmVudEhhbmRsZXIsXG4gIFJlZk9iamVjdCxcbiAgRm9jdXNFdmVudEhhbmRsZXIsXG4gIFN5bnRoZXRpY0V2ZW50LFxuICBNb3VzZUV2ZW50LFxufSBmcm9tIFwicmVhY3RcIjtcblxuaW1wb3J0IFJlYWN0LCB7XG4gIHVzZVJlZixcbiAgdXNlTWVtbyxcbiAgdXNlU3RhdGUsXG4gIHVzZUVmZmVjdCxcbiAgdXNlQ2FsbGJhY2ssXG4gIGZvcndhcmRSZWYsXG59IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgdHlwZSB7IFByb21wdFRleHRBcmVhUHJvcHMgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgUHJvbXB0VGV4dEFyZWEgfSBmcm9tIFwiLi9Qcm9tcHRUZXh0QXJlYVwiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIi4uL0NvbnRhaW5lclwiO1xuaW1wb3J0IHR5cGUgeyBBdXRvY29tcGxldGVMaXN0UHJvcHMgfSBmcm9tIFwiLi9BdXRvY29tcGxldGVMaXN0XCI7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVMaXN0IH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlTGlzdFwiO1xuaW1wb3J0IHtcbiAgZ2V0TGlzdEl0ZW1JZCxcbiAgdHlwZSBGbGF0dGVuZWRMaXN0SXRlbSxcbiAgdHlwZSBMaXN0SXRlbVZhbHVlLFxufSBmcm9tIFwiLi9DYXRlZ29yeUxpc3RcIjtcbmltcG9ydCB7IEJveCB9IGZyb20gXCIuLi9Cb3gvQm94XCI7XG5pbXBvcnQgeyBUZXh0IH0gZnJvbSBcIi4uL1R5cG9ncmFwaHkvVGV4dFwiO1xuaW1wb3J0IHsgQ29sdW1uLCBDb2x1bW5zIH0gZnJvbSBcIi4uL0NvbHVtbi9Db2x1bW5zXCI7XG5pbXBvcnQgeyBCdXR0b24sIHR5cGUgQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vQnV0dG9uL0J1dHRvblwiO1xuaW1wb3J0IHR5cGUge1xuICBQb2x5bW9ycGhpY1JlZixcbiAgUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWYsXG59IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgSW5saW5lIH0gZnJvbSBcIi4uL0lubGluZS9JbmxpbmVcIjtcbmltcG9ydCB0eXBlIHsgUm91bmRCdXR0b25Qcm9wcyB9IGZyb20gXCIuLi9Sb3VuZEJ1dHRvbi9Sb3VuZEJ1dHRvblwiO1xuaW1wb3J0IHsgUm91bmRCdXR0b24gfSBmcm9tIFwiLi4vUm91bmRCdXR0b24vUm91bmRCdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgUGljdG9ncmFtQnV0dG9uUHJvcHMgfSBmcm9tIFwiLi4vUGljdG9ncmFtQnV0dG9uL1BpY3RvZ3JhbUJ1dHRvblwiO1xuaW1wb3J0IHsgUGljdG9ncmFtQnV0dG9uIH0gZnJvbSBcIi4uL1BpY3RvZ3JhbUJ1dHRvbi9QaWN0b2dyYW1CdXR0b25cIjtcbmltcG9ydCB7IFN0YWNrIH0gZnJvbSBcIi4uL1N0YWNrL1N0YWNrXCI7XG5pbXBvcnQgeyB1c2VPdXRzaWRlQ2xpY2sgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL3VzZU91dHNpZGVDbGlja1wiO1xuXG5jb25zdCBDdXN0b21Db250YWluZXIgPSBzdHlsZWQoQ29udGFpbmVyKTx7IGhpZGVCb3JkZXI6IGJvb2xlYW4gfT4oXG4gICh7IHRoZW1lLCBoaWRlQm9yZGVyIH0pID0+ICh7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7dGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5wcmltYXJ5LmRlZmF1bHR9YCxcbiAgICAuLi4oaGlkZUJvcmRlciAmJiB7XG4gICAgICBib3JkZXJDb2xvcjogXCJ0cmFuc3BhcmVudFwiLFxuICAgIH0pLFxuICAgIFtgJjpoYXModGV4dGFyZWE6Zm9jdXMtdmlzaWJsZSlgXToge1xuICAgICAgb3V0bGluZVdpZHRoOiAxLFxuICAgICAgb3V0bGluZVN0eWxlOiBcInNvbGlkXCIsXG4gICAgICBvdXRsaW5lT2Zmc2V0OiAtMSxcbiAgICAgIG91dGxpbmVDb2xvcjogdGhlbWUudmFsdWVzLmNvbG9yLmJvcmRlci5hY2NlbnQuZGVmYXVsdCxcbiAgICAgIGJveFNoYWRvdzogdGhlbWUudmFsdWVzLnNoYWRvdy5mb2N1c1JpbmcsXG5cbiAgICAgIFwiQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MClcIjoge1xuICAgICAgICBvdXRsaW5lQ29sb3I6IHRoZW1lLnZhbHVlcy5jb2xvci5ib3JkZXIuYWNjZW50LmRlZmF1bHQsXG4gICAgICB9LFxuICAgIH0sXG4gIH0pXG4pO1xuXG5jb25zdCBTdHlsZWRUZXh0QXJlYUNvbnRhaW5lciA9IHN0eWxlZC5kaXYoe1xuICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxufSk7XG5cbnR5cGUgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzID0gUGljazxcbiAgUHJvbXB0SW5wdXRQcm9wcyxcbiAgXCJpc05hdkJhclZhcmlhbnRcIlxuPjtcblxuY29uc3QgU3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lciA9XG4gIHN0eWxlZC5kaXY8U3R5bGVkRW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudENvbnRhaW5lclByb3BzPihcbiAgICAoeyB0aGVtZSwgaXNOYXZCYXJWYXJpYW50IH0pID0+ICh7XG4gICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgdG9wOiBpc05hdkJhclZhcmlhbnRcbiAgICAgICAgPyB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnh4c1xuICAgICAgICA6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcubSxcbiAgICAgIHJpZ2h0OiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLm0sXG4gICAgICB1c2VyU2VsZWN0OiBcIm5vbmVcIixcbiAgICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICAgIH0pXG4gICk7XG5cbnR5cGUgU3R5bGVkQ2xlYXJCdXR0b25Qcm9wcyA9IFBpY3RvZ3JhbUJ1dHRvblByb3BzICZcbiAgUGljazxQcm9tcHRJbnB1dFByb3BzLCBcImlzTmF2QmFyVmFyaWFudFwiPjtcblxuY29uc3QgU3R5bGVkQ2xlYXJCdXR0b24gPSBzdHlsZWQoUGljdG9ncmFtQnV0dG9uKTxTdHlsZWRDbGVhckJ1dHRvblByb3BzPihcbiAgKHsgdGhlbWUsIGlzTmF2QmFyVmFyaWFudCB9KSA9PiAoe1xuICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgcmlnaHQ6IHRoZW1lLnZhcmlhYmxlcy5zaXplLnNwYWNpbmcucyxcbiAgICB0b3A6IGlzTmF2QmFyVmFyaWFudCA/IDAgOiB0aGVtZS52YXJpYWJsZXMuc2l6ZS5zcGFjaW5nLnMsXG4gIH0pXG4pO1xuXG5leHBvcnQgdHlwZSBQcm9tcHRJbnB1dFByb3BzID0ge1xuICBcImRhdGEtZTJlLXRlc3QtaWRcIj86IHN0cmluZztcbiAgLyoqIFRvb2xiYXIgZWxlbWVudHMgYmVsb3cgdGV4dCBhcmVhICovXG4gIGJvdHRvbVRvb2xiYXI/OiB7XG4gICAgbGVmdENvbnRlbnQ/OiBSZWFjdEVsZW1lbnQ7XG4gICAgcmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICB9O1xuICAvKiogQ3VycmVudGx5IHNob3dzIHNlbmQgYnV0dG9uIHByb2Nlc3Npbmcgc3RhdGUgICovXG4gIGlzUHJvY2Vzc2luZz86IGJvb2xlYW47XG4gIHNlbmRCdXR0b25Qcm9wcz86IE9taXQ8Um91bmRCdXR0b25Qcm9wcywgXCJpY29uXCIgfCBcInZhcmlhbnRcIj4gJiB7XG4gICAgaWNvbj86IFwiYXJyb3ctdXBcIiB8IFwic2VhcmNoXCIgfCBcImFycm93LXJpZ2h0XCI7XG4gIH07XG4gIGNsZWFyQnV0dG9uQXJpYUxhYmVsPzogc3RyaW5nO1xuICBoaW50PzogUmVhY3RFbGVtZW50O1xuICAvKiogU2hvd3MgaW4gdGhlIGNsZWFyIGJ1dHRvbiBzcGFjZSBpbiBlbXB0eSBzdGF0ZSAqL1xuICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50PzogUmVhY3RFbGVtZW50O1xuICBvbkNsZWFyOiAoKSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIHdoZW4gdXNlciBzZWxlY3RzIChvciByZWplY3RzKSBhIGxpc3QgaXRlbSBmcm9tIGF1dG9jb21wbGV0ZSBsaXN0ICovXG4gIG9uQ29tcGxldGU/OiAoe1xuICAgIHZhbHVlLFxuICAgIGNhdGVnb3J5LFxuICAgIGV2dCxcbiAgICBpbmRleCxcbiAgfToge1xuICAgIHZhbHVlOiBMaXN0SXRlbVZhbHVlO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xuICAgIGV2dD86IFN5bnRoZXRpY0V2ZW50O1xuICAgIGluZGV4PzogbnVtYmVyO1xuICB9KSA9PiB2b2lkO1xuICAvKiogQ2FsbGVkIG9uIEVudGVyIGtleSB0byBzdWJtaXQgdGhlIGZvcm0gICovXG4gIG9uRW50ZXJLZXk6ICgpID0+IHZvaWQ7XG59ICYgT21pdDxcbiAgUHJvbXB0VGV4dEFyZWFQcm9wcyxcbiAgXCJpc0NvbGxhcHNlZFwiIHwgXCJpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXCIgfCBcInNlbGVjdGVkTGlzdEl0ZW1cIlxuPiAmXG4gIFBpY2s8XG4gICAgQXV0b2NvbXBsZXRlTGlzdFByb3BzLFxuICAgIFwiYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXCIgfCBcImF1dG9jb21wbGV0ZUxpc3RGb290ZXJcIiB8IFwicG9ydGFsQ29udGFpbmVyXCJcbiAgPjtcblxuY29uc3QgUHJvbXB0SW5wdXRDb21wb25lbnQgPSBmb3J3YXJkUmVmKFxuICAoXG4gICAge1xuICAgICAgXCJkYXRhLWUyZS10ZXN0LWlkXCI6IGRhdGFFMmVUZXN0SWQsXG4gICAgICBuYW1lLFxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zID0gW10sXG4gICAgICB2YWx1ZSxcbiAgICAgIGJvdHRvbVRvb2xiYXIgPSB7IGxlZnRDb250ZW50OiBudWxsLCByaWdodENvbnRlbnQ6IG51bGwgfSxcbiAgICAgIGlzUHJvY2Vzc2luZyxcbiAgICAgIHNlbmRCdXR0b25Qcm9wcyA9IHtcbiAgICAgICAgdHlwZTogXCJzdWJtaXRcIixcbiAgICAgICAgaWNvbjogXCJhcnJvdy11cFwiLFxuICAgICAgfSxcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RGb290ZXIsXG4gICAgICBjbGVhckJ1dHRvbkFyaWFMYWJlbCA9IFwiQ2xlYXIgaW5wdXRcIixcbiAgICAgIGhpbnQsXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50LFxuICAgICAgaXNOYXZCYXJWYXJpYW50LFxuICAgICAgcG9ydGFsQ29udGFpbmVyLFxuICAgICAgb25DaGFuZ2UsXG4gICAgICBvbkNvbXBsZXRlLFxuICAgICAgb25DbGVhcixcbiAgICAgIG9uRW50ZXJLZXksXG4gICAgICBvbkZvY3VzLFxuICAgICAgb25CbHVyLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgLi4ucmVzdFxuICAgIH06IFByb21wdElucHV0UHJvcHMsXG4gICAgcmVmOiBSZWZPYmplY3Q8SFRNTFRleHRBcmVhRWxlbWVudD5cbiAgKTogUmVhY3RFbGVtZW50ID0+IHtcbiAgICBjb25zdCBjb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpO1xuICAgIGNvbnN0IHRleHRBcmVhQ29udGFpbmVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBpbnRlcm5hbFJlZiA9IHVzZVJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PihudWxsKTtcbiAgICBjb25zdCBbc2VsZWN0ZWRJbmRleCwgc2V0U2VsZWN0ZWRJbmRleF0gPSB1c2VTdGF0ZSgtMSk7XG4gICAgY29uc3QgW2lzQ29sbGFwc2VkLCBzZXRJc0NvbGxhcHNlZF0gPSB1c2VTdGF0ZShpc05hdkJhclZhcmlhbnQpO1xuICAgIGNvbnN0IHVzZXJUeXBlZFF1ZXJ5ID0gdXNlUmVmKFwiXCIpO1xuICAgIGNvbnN0IFtpc0F1dG9jb21wbGV0ZUxpc3RPcGVuLCBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCB0ZXh0QXJlYVJlZiA9IHJlZiB8fCBpbnRlcm5hbFJlZjtcblxuICAgIHVzZU91dHNpZGVDbGljayhcbiAgICAgIGNvbnRhaW5lclJlZixcbiAgICAgIChldnQpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQudGFyZ2V0IGFzIE5vZGUpICYmXG4gICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgIGV2dC50YXJnZXQgIT09IG51bGxcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAhaXNDb2xsYXBzZWQgJiYgaXNOYXZCYXJWYXJpYW50XG4gICAgKTtcblxuICAgIGNvbnN0IGNsb3NlQXV0b2NvbXBsZXRlTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICAgIHNldElzQXV0b2NvbXBsZXRlTGlzdE9wZW4oZmFsc2UpO1xuICAgICAgc2V0U2VsZWN0ZWRJbmRleCgtMSk7XG4gICAgfSwgW10pO1xuXG4gICAgY29uc3Qgb3BlbkF1dG9jb21wbGV0ZUxpc3QgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICBzZXRJc0F1dG9jb21wbGV0ZUxpc3RPcGVuKHRydWUpO1xuICAgICAgICBzZXRTZWxlY3RlZEluZGV4KC0xKTtcbiAgICAgIH1cbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zXSk7XG5cbiAgICBjb25zdCBhY2NlcHRUZXh0U2VsZWN0aW9uID0gKCkgPT4ge1xuICAgICAgdXNlclR5cGVkUXVlcnkuY3VycmVudCA9IHZhbHVlO1xuICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZSh2YWx1ZS5sZW5ndGgsIHZhbHVlLmxlbmd0aCk7XG4gICAgfTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAoYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmxlbmd0aCAmJiAhaXNDb2xsYXBzZWQpIHtcbiAgICAgICAgb3BlbkF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgfVxuICAgIH0sIFtcbiAgICAgIGF1dG9jb21wbGV0ZUxpc3RJdGVtcyxcbiAgICAgIG9wZW5BdXRvY29tcGxldGVMaXN0LFxuICAgICAgY2xvc2VBdXRvY29tcGxldGVMaXN0LFxuICAgICAgaXNDb2xsYXBzZWQsXG4gICAgXSk7XG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlICE9PSB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ICYmIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW4pIHtcbiAgICAgICAgdGV4dEFyZWFSZWYuY3VycmVudC5zZXRTZWxlY3Rpb25SYW5nZShcbiAgICAgICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50Lmxlbmd0aCxcbiAgICAgICAgICB2YWx1ZS5sZW5ndGhcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9LCBbdmFsdWUsIHRleHRBcmVhUmVmLCBpc0F1dG9jb21wbGV0ZUxpc3RPcGVuXSk7XG5cbiAgICAvLyBEZXRlcm1pbmUgd2hlbiBmb2N1cyBsZWF2ZXMgdGhlIGNvbnRhaW5lciB0byBjb2xsYXBzZSBpdFxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBsZXQgaGFuZGxlcjogKGV2dDogRm9jdXNFdmVudCkgPT4gdm9pZDtcbiAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGNvbnRhaW5lclJlZi5jdXJyZW50O1xuXG4gICAgICBpZiAoaXNOYXZCYXJWYXJpYW50ICYmIGNvbnRhaW5lcikge1xuICAgICAgICBoYW5kbGVyID0gKGV2dDogRm9jdXNFdmVudCkgPT4ge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluZXJSZWYuY3VycmVudC5jb250YWlucyhldnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSAmJlxuICAgICAgICAgICAgIXBvcnRhbENvbnRhaW5lcj8uY29udGFpbnMoZXZ0LnJlbGF0ZWRUYXJnZXQgYXMgTm9kZSkgJiZcbiAgICAgICAgICAgIGV2dC5yZWxhdGVkVGFyZ2V0ICE9PSBudWxsXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiZm9jdXNvdXRcIiwgaGFuZGxlcik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3Vzb3V0XCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0sIFtpc05hdkJhclZhcmlhbnQsIGNvbnRhaW5lclJlZiwgcG9ydGFsQ29udGFpbmVyXSk7XG5cbiAgICBjb25zdCBmbGF0dGVuZWRMaXN0SXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGNvbnN0IGxpc3Q6IEZsYXR0ZW5lZExpc3RJdGVtW10gPSBbXTtcblxuICAgICAgYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLmZvckVhY2goKGxpc3RJdGVtKSA9PiB7XG4gICAgICAgIGxpc3RJdGVtLml0ZW1zLmZvckVhY2goKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgbGlzdC5wdXNoKHtcbiAgICAgICAgICAgIGNhdGVnb3J5OiBsaXN0SXRlbS5jYXRlZ29yeSxcbiAgICAgICAgICAgIGluZGV4SW5DYXRlZ29yeTogaW5kZXgsXG4gICAgICAgICAgICB2YWx1ZTogaXRlbS52YWx1ZSxcbiAgICAgICAgICAgIGlkOiBnZXRMaXN0SXRlbUlkKG5hbWUsIGxpc3RJdGVtLmNhdGVnb3J5LCBpbmRleCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gbGlzdDtcbiAgICB9LCBbYXV0b2NvbXBsZXRlTGlzdEl0ZW1zLCBuYW1lXSk7XG5cbiAgICBjb25zdCBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlID0gKGluZGV4OiBudW1iZXIsIGV2dD86IFN5bnRoZXRpY0V2ZW50KSA9PiB7XG4gICAgICBzZXRTZWxlY3RlZEluZGV4KGluZGV4KTtcbiAgICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgICAgY29uc3QgeyBjYXRlZ29yeSwgdmFsdWU6IGl0ZW1WYWx1ZSB9ID0gZmxhdHRlbmVkTGlzdEl0ZW1zW2luZGV4XTtcblxuICAgICAgICBvbkNvbXBsZXRlKHsgdmFsdWU6IGl0ZW1WYWx1ZSwgY2F0ZWdvcnksIGV2dCwgaW5kZXggfSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxpc3RJdGVtQ2xpY2sgPSAoXG4gICAgICBjYXRlZ29yeTogc3RyaW5nLFxuICAgICAgaW5kZXhJbkNhdGVnb3J5OiBudW1iZXIsXG4gICAgICBldnQ/OiBNb3VzZUV2ZW50XG4gICAgKSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IGZsYXR0ZW5lZExpc3RJdGVtcy5maW5kSW5kZXgoXG4gICAgICAgIChsaXN0SXRlbSkgPT5cbiAgICAgICAgICBsaXN0SXRlbS5jYXRlZ29yeSA9PT0gY2F0ZWdvcnkgJiZcbiAgICAgICAgICBsaXN0SXRlbS5pbmRleEluQ2F0ZWdvcnkgPT09IGluZGV4SW5DYXRlZ29yeVxuICAgICAgKTtcblxuICAgICAgaGFuZGxlU2VsZWN0ZWRJbmRleENoYW5nZShpbmRleCwgZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlS2V5RG93bjogS2V5Ym9hcmRFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICBpZiAoaXNBdXRvY29tcGxldGVMaXN0T3Blbikge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBjbG9zZUF1dG9jb21wbGV0ZUxpc3QoKTtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgICAgICAgICBhY2NlcHRUZXh0U2VsZWN0aW9uKCk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgb25FbnRlcktleT8uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICAgICAgICAgICAgc2V0SXNDb2xsYXBzZWQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiIFwiOlxuICAgICAgICAgICAgYWNjZXB0VGV4dFNlbGVjdGlvbigpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93VXBcIjpcbiAgICAgICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RlZEluZGV4Q2hhbmdlKHNlbGVjdGVkSW5kZXggLSAxLCBldnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkFycm93RG93blwiOlxuICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCA8IGZsYXR0ZW5lZExpc3RJdGVtcy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdGVkSW5kZXhDaGFuZ2Uoc2VsZWN0ZWRJbmRleCArIDEsIGV2dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKGV2dC5rZXkpIHtcbiAgICAgICAgICBjYXNlIFwiRXNjYXBlXCI6XG4gICAgICAgICAgICBvbkNsZWFyPy4oKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFbnRlclwiOlxuICAgICAgICAgICAgaWYgKCFldnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIG9uRW50ZXJLZXk/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgb25LZXlEb3duPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlQ2hhbmdlOiBDaGFuZ2VFdmVudEhhbmRsZXI8SFRNTFRleHRBcmVhRWxlbWVudD4gPSAoZXZ0KSA9PiB7XG4gICAgICB1c2VyVHlwZWRRdWVyeS5jdXJyZW50ID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIG9uQ2hhbmdlKGV2dCk7XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUZvY3VzOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIHNldElzQ29sbGFwc2VkKGZhbHNlKTtcbiAgICAgIG9uRm9jdXM/LihldnQpO1xuICAgIH07XG5cbiAgICBjb25zdCBoYW5kbGVCbHVyOiBGb2N1c0V2ZW50SGFuZGxlcjxIVE1MVGV4dEFyZWFFbGVtZW50PiA9IChldnQpID0+IHtcbiAgICAgIGlmICh2YWx1ZSAhPT0gdXNlclR5cGVkUXVlcnkuY3VycmVudCkge1xuICAgICAgICBvbkNvbXBsZXRlPy4oeyB2YWx1ZTogdXNlclR5cGVkUXVlcnkuY3VycmVudCwgZXZ0IH0pO1xuICAgICAgfVxuICAgICAgb25CbHVyPy4oZXZ0KTtcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlU2VuZEJ1dHRvbkNsaWNrID0gKGV2dDogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pID0+IHtcbiAgICAgIHNlbmRCdXR0b25Qcm9wcy5vbkNsaWNrPy4oZXZ0KTtcbiAgICAgIGNsb3NlQXV0b2NvbXBsZXRlTGlzdCgpO1xuICAgICAgaWYgKGlzTmF2QmFyVmFyaWFudCkge1xuICAgICAgICBzZXRJc0NvbGxhcHNlZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRMaXN0SXRlbSA9XG4gICAgICBzZWxlY3RlZEluZGV4ICE9PSAtMSA/IGZsYXR0ZW5lZExpc3RJdGVtc1tzZWxlY3RlZEluZGV4XSA6IG51bGw7XG5cbiAgICBjb25zdCBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtID0gZW1wdHlTdGF0ZVRvcFJpZ2h0Q29udGVudCA/IChcbiAgICAgIDxTdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyXG4gICAgICAgIGlzTmF2QmFyVmFyaWFudD17aXNOYXZCYXJWYXJpYW50fVxuICAgICAgPlxuICAgICAgICA8VGV4dCBjb2xvcj1cInRlcnRpYXJ5XCI+e2VtcHR5U3RhdGVUb3BSaWdodENvbnRlbnR9PC9UZXh0PlxuICAgICAgPC9TdHlsZWRFbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50Q29udGFpbmVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgY2xlYXJCdXR0b25FbG0gPSB2YWx1ZSA/IChcbiAgICAgIDxTdHlsZWRDbGVhckJ1dHRvblxuICAgICAgICBzaXplPVwic1wiXG4gICAgICAgIGljb249XCJ4LWNpcmNsZS1maWxsZWRcIlxuICAgICAgICBhcmlhLWxhYmVsPXtjbGVhckJ1dHRvbkFyaWFMYWJlbH1cbiAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgIG9uUG9pbnRlckRvd249eyhldnQ6IGFueSkgPT4gZXZ0LnByZXZlbnREZWZhdWx0KCl9XG4gICAgICAgIG9uQ2xpY2s9e29uQ2xlYXJ9XG4gICAgICAvPlxuICAgICkgOiAoXG4gICAgICBlbXB0eVN0YXRlVG9wUmlnaHRDb250ZW50RWxtXG4gICAgKTtcblxuICAgIGNvbnN0IGhpbnRFbG0gPSAhIWhpbnQgJiYgKFxuICAgICAgPElubGluZSBhbGlnbkl0ZW1zPVwiY2VudGVyXCI+XG4gICAgICAgIDxUZXh0IHNpemU9XCJzXCIgY29sb3I9XCJ0ZXJ0aWFyeVwiPlxuICAgICAgICAgIHtoaW50fVxuICAgICAgICA8L1RleHQ+XG4gICAgICA8L0lubGluZT5cbiAgICApO1xuXG4gICAgY29uc3QgYm90dG9tVG9vbGJhckVsbSA9ICFpc0NvbGxhcHNlZCAmJiAoXG4gICAgICA8Qm94IHNwYWNlPVwibVwiIGRhdGEtZTJlLXRlc3QtaWQ9XCJib3R0b21Ub29sYmFyXCI+XG4gICAgICAgIDxDb2x1bW5zIGdhcD1cInNcIiBhbGlnbkl0ZW1zPVwic3BhY2VCZXR3ZWVuXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICA8Q29sdW1uPntib3R0b21Ub29sYmFyLmxlZnRDb250ZW50fTwvQ29sdW1uPlxuICAgICAgICAgIDxDb2x1bW4gc2l6ZT1cIm5hcnJvd1wiPlxuICAgICAgICAgICAgPElubGluZSBzcGFjZT1cInhzXCIgdkFsaWduSXRlbXM9XCJjZW50ZXJcIj5cbiAgICAgICAgICAgICAge2JvdHRvbVRvb2xiYXIucmlnaHRDb250ZW50fVxuICAgICAgICAgICAgICA8Um91bmRCdXR0b25cbiAgICAgICAgICAgICAgICB7Li4uc2VuZEJ1dHRvblByb3BzfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZVNlbmRCdXR0b25DbGlja31cbiAgICAgICAgICAgICAgICBhcmlhQXR0cmlidXRlcz17e1xuICAgICAgICAgICAgICAgICAgXCJhcmlhLWxhYmVsXCI6IGlzUHJvY2Vzc2luZ1xuICAgICAgICAgICAgICAgICAgICA/IFwiUHJvY2Vzc2luZyBxdWVyeVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJTdWJtaXQgcXVlcnlcIixcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17IXZhbHVlfVxuICAgICAgICAgICAgICAgIGljb249e2lzUHJvY2Vzc2luZyA/IFwic3RvcC1maWxsZWRcIiA6IHNlbmRCdXR0b25Qcm9wcy5pY29ufVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9JbmxpbmU+XG4gICAgICAgICAgPC9Db2x1bW4+XG4gICAgICAgIDwvQ29sdW1ucz5cbiAgICAgIDwvQm94PlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGRhdGEtZTJlLXRlc3QtaWQ9e2RhdGFFMmVUZXN0SWR9XG4gICAgICAgICAgZGF0YS1kcy1pZD1cIlByb21wdElucHV0XCJcbiAgICAgICAgICByZWY9e2NvbnRhaW5lclJlZn1cbiAgICAgICAgICAvLyBUcmFuc2xhdGlvbiBkaXNhYmxlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgYXV0b2NvbXBsZXRlIGxpc3RcbiAgICAgICAgICB0cmFuc2xhdGU9XCJub1wiXG4gICAgICAgID5cbiAgICAgICAgICA8U3RhY2sgc3BhY2U9XCJzXCI+XG4gICAgICAgICAgICA8ZGl2IHJlZj17dGV4dEFyZWFDb250YWluZXJSZWZ9PlxuICAgICAgICAgICAgICA8Q3VzdG9tQ29udGFpbmVyXG4gICAgICAgICAgICAgICAgZWxldmF0aW9uPXswfVxuICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1cz17aXNDb2xsYXBzZWQgPyBcInhzXCIgOiBcIm1cIn1cbiAgICAgICAgICAgICAgICBoaWRlQm9yZGVyPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxTdHlsZWRUZXh0QXJlYUNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgIDxQcm9tcHRUZXh0QXJlYVxuICAgICAgICAgICAgICAgICAgICB7Li4ucmVzdH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZD17XG4gICAgICAgICAgICAgICAgICAgICAgZGF0YUUyZVRlc3RJZCA/IGAke2RhdGFFMmVUZXN0SWR9LWlucHV0YCA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgcmVmPXt0ZXh0QXJlYVJlZn1cbiAgICAgICAgICAgICAgICAgICAgaXNOYXZCYXJWYXJpYW50PXtpc05hdkJhclZhcmlhbnR9XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkTGlzdEl0ZW09e3NlbGVjdGVkTGlzdEl0ZW19XG4gICAgICAgICAgICAgICAgICAgIGlzQXV0b2NvbXBsZXRlTGlzdE9wZW49e2lzQXV0b2NvbXBsZXRlTGlzdE9wZW59XG4gICAgICAgICAgICAgICAgICAgIGlzQ29sbGFwc2VkPXtpc0NvbGxhcHNlZH1cbiAgICAgICAgICAgICAgICAgICAgb25Gb2N1cz17aGFuZGxlRm9jdXN9XG4gICAgICAgICAgICAgICAgICAgIG9uQmx1cj17aGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIHtjbGVhckJ1dHRvbkVsbX1cbiAgICAgICAgICAgICAgICA8L1N0eWxlZFRleHRBcmVhQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtib3R0b21Ub29sYmFyRWxtfVxuICAgICAgICAgICAgICA8L0N1c3RvbUNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2hpbnRFbG19XG4gICAgICAgICAgPC9TdGFjaz5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPEF1dG9jb21wbGV0ZUxpc3RcbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0SXRlbXM9e2F1dG9jb21wbGV0ZUxpc3RJdGVtc31cbiAgICAgICAgICB0cmlnZ2VyUmVmPXt0ZXh0QXJlYUNvbnRhaW5lclJlZn1cbiAgICAgICAgICBzZWxlY3RlZExpc3RJdGVtPXtzZWxlY3RlZExpc3RJdGVtfVxuICAgICAgICAgIGlzT3Blbj17aXNBdXRvY29tcGxldGVMaXN0T3Blbn1cbiAgICAgICAgICBhdXRvY29tcGxldGVMaXN0Rm9vdGVyPXthdXRvY29tcGxldGVMaXN0Rm9vdGVyfVxuICAgICAgICAgIHBvcnRhbENvbnRhaW5lcj17cG9ydGFsQ29udGFpbmVyfVxuICAgICAgICAgIG9uTGlzdEl0ZW1DbGljaz17aGFuZGxlTGlzdEl0ZW1DbGlja31cbiAgICAgICAgLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH1cbik7XG5cbmNvbnN0IEN1c3RvbUJ1dHRvbiA9IHN0eWxlZChCdXR0b24pKCh7IHRoZW1lIH0pID0+ICh7XG4gIGJvcmRlclJhZGl1czogdGhlbWUudmFyaWFibGVzLnNpemUuYm9yZGVyUmFkaXVzLmwsXG59KSk7XG5cbi8vIG5lZWQgdG8gc2ltcGxpZnkgdGhpcyB0eXBlIGZvciByZXVzZVxuY29uc3QgU3VnZ2VzdGlvbkJ1dHRvbiA9IGZvcndhcmRSZWYoXG4gIDxDIGV4dGVuZHMgUmVhY3QuRWxlbWVudFR5cGUgPSBcImJ1dHRvblwiPihcbiAgICBwcm9wczogUG9seW1vcnBoaWNDb21wb25lbnRQcm9wc1dpdGhSZWY8XG4gICAgICBDLFxuICAgICAgT21pdDxCdXR0b25Qcm9wcywgXCJ2YXJpYW50XCIgfCBcInNpemVcIiB8IFwicmVmXCI+XG4gICAgPixcbiAgICByZWY6IFBvbHltb3JwaGljUmVmPEM+XG4gICkgPT4gPEN1c3RvbUJ1dHRvbiB7Li4ucHJvcHN9IHZhcmlhbnQ9XCJzZWNvbmRhcnlcIiBzaXplPVwic1wiIHJlZj17cmVmfSAvPlxuKTtcblxuZXhwb3J0IGNvbnN0IFByb21wdElucHV0ID0gT2JqZWN0LmFzc2lnbihQcm9tcHRJbnB1dENvbXBvbmVudCwge1xuICBTdWdnZXN0aW9uQnV0dG9uLFxufSkgYXMgdHlwZW9mIFByb21wdElucHV0Q29tcG9uZW50ICYge1xuICBTdWdnZXN0aW9uQnV0dG9uOiB0eXBlb2YgU3VnZ2VzdGlvbkJ1dHRvbjtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBcWZxQiJ9 */"),PromptInput=Object.assign(PromptInputComponent,{SuggestionButton:(0,_react.forwardRef)((props,ref)=>_react.default.createElement(CustomButton,{...props,variant:"secondary",size:"s",ref:ref}))});
|