diff --git a/packages/bootstrap-components/dist/generators.js b/packages/bootstrap-components/dist/generators.js index e20030f953..c5edf509a7 100644 --- a/packages/bootstrap-components/dist/generators.js +++ b/packages/bootstrap-components/dist/generators.js @@ -27,7 +27,7 @@ const formName = record => `${record.name}/${record.name} Form`; const root = record => ({ name: formName(record), description: `Control for creating/updating '${record.nodeKey()}' `, - inherits: "@budibase/standard-components/div", + inherits: "@budibase/standard-components/container", props: { className: "p-1", children: [ @@ -134,7 +134,7 @@ const saveCancelButtons = record => ({ const paddedPanelForButton = button => ({ control: { - _component: "@budibase/standard-components/div", + _component: "@budibase/standard-components/container", className: "btn-group", children: [ { @@ -236,7 +236,7 @@ const homepageComponentName = record => `${record.name}/${record.name} homepage`; const component = ({ record, index }) => ({ - inherits: "@budibase/standard-components/div", + inherits: "@budibase/standard-components/container", name: homepageComponentName(record), props: { className: "d-flex flex-column h-100", @@ -273,14 +273,14 @@ const component = ({ record, index }) => ({ }); const homePageButtons = ({ index, record }) => ({ - inherits: "@budibase/standard-components/div", + inherits: "@budibase/standard-components/container", name: `${record.name}/homepage buttons`, props: { className: "btn-toolbar mt-4 mb-2", children: [ { component: { - _component: "@budibase/standard-components/div", + _component: "@budibase/standard-components/container", className: "btn-group mr-3", children: [ { @@ -329,7 +329,7 @@ const homePageButtons = ({ index, record }) => ({ _component: "@budibase/standard-components/if", condition: `$store.selectedrow_${index.name} && $store.selectedrow_${index.name}.length > 0`, thenComponent: { - _component: "@budibase/standard-components/div", + _component: "@budibase/standard-components/container", className: "btn-group", children: [ { @@ -442,4 +442,4 @@ const navItem = ({ record }) => ({ }); export { app, forms, indexTables, recordHomePageComponents as recordHomepages }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9ycy5qcyIsInNvdXJjZXMiOlsiLi4vc3JjL2dlbmVyYXRvcnMvYnV0dG9uR2VuZXJhdG9ycy5qcyIsIi4uL3NyYy9nZW5lcmF0b3JzL2Zvcm1zR2VuZXJhdG9yLmpzIiwiLi4vc3JjL2dlbmVyYXRvcnMvZ2V0UmVjb3JkUGF0aC5qcyIsIi4uL3NyYy9nZW5lcmF0b3JzL2luZGV4VGFibGVzR2VuZXJhdG9yLmpzIiwiLi4vc3JjL2dlbmVyYXRvcnMvcmVjb3JkSG9tZVBhZ2VHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9zZWxlY3RlZE5hdkNvbnRlbnRHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9hcHBHZW5lcmF0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGJ1dHRvbnMgPSAoKSA9PiBbXG4gIHtcbiAgICBuYW1lOiBcImNvbW1vbi9QcmltYXJ5IEJ1dHRvblwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkJvb3RzdHJhcCBwcmltYXJ5IGJ1dHRvbiBcIixcbiAgICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9idXR0b25cIixcbiAgICBwcm9wczoge1xuICAgICAgY2xhc3NOYW1lOiBcImJ0biBidG4tcHJpbWFyeVwiLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcImNvbW1vbi9EZWZhdWx0IEJ1dHRvblwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkJvb3RzdHJhcCBkZWZhdWx0IGJ1dHRvblwiLFxuICAgIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2J1dHRvblwiLFxuICAgIHByb3BzOiB7XG4gICAgICBjbGFzc05hbWU6IFwiYnRuIGJ0bi1zZWNvbmRhcnlcIixcbiAgICB9LFxuICB9LFxuXVxuIiwiaW1wb3J0IHsgYnV0dG9ucyB9IGZyb20gXCIuL2J1dHRvbkdlbmVyYXRvcnNcIlxuXG5leHBvcnQgY29uc3QgZm9ybXMgPSAoeyByZWNvcmRzLCBpbmRleGVzLCBoZWxwZXJzIH0pID0+IFtcbiAgLi4ucmVjb3Jkcy5tYXAocm9vdCksXG4gIC4uLmJ1dHRvbnMoeyByZWNvcmRzLCBpbmRleGVzLCBoZWxwZXJzIH0pLFxuXVxuXG5leHBvcnQgY29uc3QgZm9ybU5hbWUgPSByZWNvcmQgPT4gYCR7cmVjb3JkLm5hbWV9LyR7cmVjb3JkLm5hbWV9IEZvcm1gXG5cbmNvbnN0IHJvb3QgPSByZWNvcmQgPT4gKHtcbiAgbmFtZTogZm9ybU5hbWUocmVjb3JkKSxcbiAgZGVzY3JpcHRpb246IGBDb250cm9sIGZvciBjcmVhdGluZy91cGRhdGluZyAnJHtyZWNvcmQubm9kZUtleSgpfScgYCxcbiAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvZGl2XCIsXG4gIHByb3BzOiB7XG4gICAgY2xhc3NOYW1lOiBcInAtMVwiLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvaDNcIixcbiAgICAgICAgICB0ZXh0OiBgRWRpdCAke3JlY29yZC5uYW1lfWAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZm9ybShyZWNvcmQpLFxuICAgICAgc2F2ZUNhbmNlbEJ1dHRvbnMocmVjb3JkKSxcbiAgICBdLFxuICB9LFxufSlcblxuY29uc3QgZm9ybSA9IHJlY29yZCA9PiAoe1xuICBjb21wb25lbnQ6IHtcbiAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2Zvcm1cIixcbiAgICBmb3JtQ29udHJvbHM6IHJlY29yZC5maWVsZHMubWFwKGYgPT4gZm9ybUNvbnRyb2wocmVjb3JkLCBmKSksXG4gIH0sXG59KVxuXG5jb25zdCBmb3JtQ29udHJvbCA9IChyZWNvcmQsIGZpZWxkKSA9PiB7XG4gIGlmIChcbiAgICBmaWVsZC50eXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgZmllbGQudHlwZU9wdGlvbnMudmFsdWVzICYmXG4gICAgZmllbGQudHlwZU9wdGlvbnMudmFsdWVzLmxlbmd0aCA+IDBcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRyb2w6IHtcbiAgICAgICAgX2NvbXBvbmVudDogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9zZWxlY3RcIixcbiAgICAgICAgb3B0aW9uczogZmllbGQudHlwZU9wdGlvbnMudmFsdWVzLm1hcCh2ID0+ICh7IGlkOiB2LCB2YWx1ZTogdiB9KSksXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgXCIjI2Jic3RhdGVcIjogYCR7cmVjb3JkLm5hbWV9LiR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgIFwiIyNiYnNvdXJjZVwiOiBcInN0b3JlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZTogXCJmb3JtLWNvbnRyb2xcIixcbiAgICAgIH0sXG4gICAgICBsYWJlbDogZmllbGQubGFiZWwsXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBjb250cm9sOiB7XG4gICAgICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvaW5wdXRcIixcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICBcIiMjYmJzdGF0ZVwiOiBgJHtyZWNvcmQubmFtZX0uJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lOiBcImZvcm0tY29udHJvbFwiLFxuICAgICAgICB0eXBlOlxuICAgICAgICAgIGZpZWxkLnR5cGUgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgID8gXCJ0ZXh0XCJcbiAgICAgICAgICAgIDogZmllbGQudHlwZSA9PT0gXCJkYXRldGltZVwiXG4gICAgICAgICAgICA/IFwiZGF0ZVwiXG4gICAgICAgICAgICA6IGZpZWxkLnR5cGUgPT09IFwibnVtYmVyXCJcbiAgICAgICAgICAgID8gXCJudW1iZXJcIlxuICAgICAgICAgICAgOiBcInRleHRcIixcbiAgICAgIH0sXG4gICAgICBsYWJlbDogZmllbGQubGFiZWwsXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHNhdmVDYW5jZWxCdXR0b25zID0gcmVjb3JkID0+ICh7XG4gIGNvbXBvbmVudDoge1xuICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvc3RhY2twYW5lbFwiLFxuICAgIGRpcmVjdGlvbjogXCJob3Jpem9udGFsXCIsXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHBhZGRlZFBhbmVsRm9yQnV0dG9uKHtcbiAgICAgICAgX2NvbXBvbmVudDogXCJjb21tb24vUHJpbWFyeSBCdXR0b25cIixcbiAgICAgICAgY29udGVudFRleHQ6IGBTYXZlICR7cmVjb3JkLm5hbWV9YCxcbiAgICAgICAgb25DbGljazogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2F2ZSBSZWNvcmRcIixcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgc3RhdGVQYXRoOiBgJHtyZWNvcmQubmFtZX1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2V0IFN0YXRlXCIsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGBpc0VkaXRpbmcke3JlY29yZC5uYW1lfWAsXG4gICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgICBwYWRkZWRQYW5lbEZvckJ1dHRvbih7XG4gICAgICAgIF9jb21wb25lbnQ6IFwiY29tbW9uL0RlZmF1bHQgQnV0dG9uXCIsXG4gICAgICAgIGNvbnRlbnRUZXh0OiBgQ2FuY2VsYCxcbiAgICAgICAgb25DbGljazogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2V0IFN0YXRlXCIsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGBpc0VkaXRpbmcke3JlY29yZC5uYW1lfWAsXG4gICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgXSxcbiAgfSxcbn0pXG5cbmNvbnN0IHBhZGRlZFBhbmVsRm9yQnV0dG9uID0gYnV0dG9uID0+ICh7XG4gIGNvbnRyb2w6IHtcbiAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2RpdlwiLFxuICAgIGNsYXNzTmFtZTogXCJidG4tZ3JvdXBcIixcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IGJ1dHRvbixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn0pXG4iLCJleHBvcnQgY29uc3QgZ2V0UmVjb3JkUGF0aCA9ICgpID0+IHtcbiAgY29uc3QgcGFydHMgPSBbXVxuXG4gIGNvbnN0IGFkZCA9IGN1cnJlbnQgPT4ge1xuICAgIHBhcnRzLnB1c2goY3VycmVudC5uYW1lKVxuICAgIGlmIChjdXJyZW50LnBhcmVudCgpLnR5cGUgPT09IFwicm9vdFwiKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBhZGQoY3VycmVudC5wYXJlbnQoKSlcbiAgfVxuXG4gIHJldHVybiBwYXJ0cy5yZXZlcnNlKCkuam9pbihcIi9cIilcbn1cbiIsImltcG9ydCB7IGdldFJlY29yZFBhdGggfSBmcm9tIFwiLi9nZXRSZWNvcmRQYXRoXCJcblxuZXhwb3J0IGNvbnN0IGluZGV4VGFibGVzID0gKHsgaW5kZXhlcywgaGVscGVycyB9KSA9PlxuICBpbmRleGVzLm1hcChpID0+IGluZGV4VGFibGUoaSwgaGVscGVycykpXG5cbmNvbnN0IGV4Y2x1ZGVkQ29sdW1ucyA9IFtcImlkXCIsIFwiaXNOZXdcIiwgXCJrZXlcIiwgXCJ0eXBlXCIsIFwic29ydEtleVwiXVxuXG5leHBvcnQgY29uc3QgaW5kZXhUYWJsZVByb3BzID0gKGluZGV4LCBoZWxwZXJzKSA9PiAoe1xuICBkYXRhOiB7XG4gICAgXCIjI2Jic3RhdGVcIjogaW5kZXgubm9kZUtleSgpLFxuICAgIFwiIyNiYnNvdXJjZVwiOiBcInN0b3JlXCIsXG4gIH0sXG4gIHRhYmxlQ2xhc3M6IFwidGFibGUgdGFibGUtaG92ZXJcIixcbiAgdGhlYWRDbGFzczogXCJ0aGVhZC1kYXJrXCIsXG4gIGNvbHVtbnM6IGhlbHBlcnNcbiAgICAuaW5kZXhTY2hlbWEoaW5kZXgpXG4gICAgLmZpbHRlcihjID0+ICFleGNsdWRlZENvbHVtbnMuaW5jbHVkZXMoYy5uYW1lKSlcbiAgICAubWFwKGNvbHVtbiksXG4gIG9uUm93Q2xpY2s6IFtcbiAgICB7XG4gICAgICBcIiMjZXZlbnRIYW5kbGVyVHlwZVwiOiBcIlNldCBTdGF0ZVwiLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBwYXRoOiBgc2VsZWN0ZWRyb3dfJHtpbmRleC5uYW1lfWAsXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgXCIjI2Jic3RhdGVcIjogXCJrZXlcIixcbiAgICAgICAgICBcIiMjYmJzb3VyY2VcIjogXCJldmVudFwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICBdLFxufSlcblxuZXhwb3J0IGNvbnN0IGdldEluZGV4VGFibGVOYW1lID0gKGluZGV4LCByZWNvcmQpID0+IHtcbiAgcmVjb3JkID0gcmVjb3JkIHx8IGluZGV4LnBhcmVudCgpLnR5cGUgPT09IFwicmVjb3JkXCIgPyBpbmRleC5wYXJlbnQoKSA6IG51bGxcblxuICByZXR1cm4gcmVjb3JkXG4gICAgPyBgJHtnZXRSZWNvcmRQYXRoKHJlY29yZCl9LyR7aW5kZXgubmFtZX0gVGFibGVgXG4gICAgOiBgJHtpbmRleC5uYW1lfSBUYWJsZWBcbn1cblxuY29uc3QgaW5kZXhUYWJsZSA9IChpbmRleCwgaGVscGVycykgPT4gKHtcbiAgbmFtZTogZ2V0SW5kZXhUYWJsZU5hbWUoaW5kZXgpLFxuICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy90YWJsZVwiLFxuICBwcm9wczogaW5kZXhUYWJsZVByb3BzKGluZGV4LCBoZWxwZXJzKSxcbn0pXG5cbmNvbnN0IGNvbHVtbiA9IGNvbCA9PiAoe1xuICB0aXRsZTogY29sLm5hbWUsXG4gIHZhbHVlOiB7XG4gICAgXCIjI2Jic3RhdGVcIjogY29sLm5hbWUsXG4gICAgXCIjI2Jic291cmNlXCI6IFwiY29udGV4dFwiLFxuICB9LFxufSlcbiIsImltcG9ydCB7IGdldEluZGV4VGFibGVOYW1lLCBpbmRleFRhYmxlcyB9IGZyb20gXCIuL2luZGV4VGFibGVzR2VuZXJhdG9yXCJcblxuaW1wb3J0IHsgYnV0dG9ucyB9IGZyb20gXCIuL2J1dHRvbkdlbmVyYXRvcnNcIlxuXG5leHBvcnQgY29uc3QgcmVjb3JkSG9tZVBhZ2VDb21wb25lbnRzID0gKHsgaW5kZXhlcywgcmVjb3JkcywgaGVscGVycyB9KSA9PiBbXG4gIC4uLnJlY29yZEhvbWVwYWdlcyh7IGluZGV4ZXMsIHJlY29yZHMgfSkubWFwKGNvbXBvbmVudCksXG5cbiAgLi4ucmVjb3JkSG9tZXBhZ2VzKHsgaW5kZXhlcywgcmVjb3JkcyB9KS5tYXAoaG9tZVBhZ2VCdXR0b25zKSxcblxuICAuLi5pbmRleFRhYmxlcyh7IGluZGV4ZXMsIHJlY29yZHMsIGhlbHBlcnMgfSksXG5cbiAgLi4uYnV0dG9ucyh7IGluZGV4ZXMsIGJ1dHRvbnMsIGhlbHBlcnMgfSksXG5dXG5cbmNvbnN0IGZpbmRJbmRleEZvclJlY29yZCA9IChpbmRleGVzLCByZWNvcmQpID0+IHtcbiAgY29uc3QgZm9yUmVjb3JkID0gaW5kZXhlcy5maWx0ZXIoaSA9PlxuICAgIGkuYWxsb3dlZFJlY29yZE5vZGVJZHMuaW5jbHVkZXMocmVjb3JkLm5vZGVJZClcbiAgKVxuICBpZiAoZm9yUmVjb3JkLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG4gIGlmIChmb3JSZWNvcmQubGVuZ3RoID09PSAxKSByZXR1cm4gZm9yUmVjb3JkWzBdXG4gIGNvbnN0IG5vTWFwID0gZm9yUmVjb3JkLmZpbHRlcihpID0+ICFpLmZpbHRlciB8fCAhaS5maWx0ZXIudHJpbSgpKVxuICBpZiAobm9NYXAubGVuZ3RoID09PSAwKSBmb3JSZWNvcmRbMF1cbiAgcmV0dXJuIG5vTWFwWzBdXG59XG5cbmV4cG9ydCBjb25zdCByZWNvcmRIb21lcGFnZXMgPSAoeyBpbmRleGVzLCByZWNvcmRzIH0pID0+XG4gIHJlY29yZHNcbiAgICAuZmlsdGVyKHIgPT4gci5wYXJlbnQoKS50eXBlID09PSBcInJvb3RcIilcbiAgICAubWFwKHIgPT4gKHtcbiAgICAgIHJlY29yZDogcixcbiAgICAgIGluZGV4OiBmaW5kSW5kZXhGb3JSZWNvcmQoaW5kZXhlcywgciksXG4gICAgfSkpXG4gICAgLmZpbHRlcihyID0+IHIuaW5kZXgpXG5cbmV4cG9ydCBjb25zdCBob21lcGFnZUNvbXBvbmVudE5hbWUgPSByZWNvcmQgPT5cbiAgYCR7cmVjb3JkLm5hbWV9LyR7cmVjb3JkLm5hbWV9IGhvbWVwYWdlYFxuXG5jb25zdCBjb21wb25lbnQgPSAoeyByZWNvcmQsIGluZGV4IH0pID0+ICh7XG4gIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2RpdlwiLFxuICBuYW1lOiBob21lcGFnZUNvbXBvbmVudE5hbWUocmVjb3JkKSxcbiAgcHJvcHM6IHtcbiAgICBjbGFzc05hbWU6IFwiZC1mbGV4IGZsZXgtY29sdW1uIGgtMTAwXCIsXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgX2NvbXBvbmVudDogYCR7cmVjb3JkLm5hbWV9L2hvbWVwYWdlIGJ1dHRvbnNgLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgX2NvbXBvbmVudDogZ2V0SW5kZXhUYWJsZU5hbWUoaW5kZXgpLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWU6IFwiZmxleC1nb3ctMSBvdmVyZmxvdy1hdXRvXCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgb25Mb2FkOiBbXG4gICAgICB7XG4gICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2V0IFN0YXRlXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBwYXRoOiBgaXNFZGl0aW5nJHtyZWNvcmQubmFtZX1gLFxuICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJMaXN0IFJlY29yZHNcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIHN0YXRlUGF0aDogaW5kZXgubm9kZUtleSgpLFxuICAgICAgICAgIGluZGV4S2V5OiBpbmRleC5ub2RlS2V5KCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59KVxuXG5jb25zdCBob21lUGFnZUJ1dHRvbnMgPSAoeyBpbmRleCwgcmVjb3JkIH0pID0+ICh7XG4gIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2RpdlwiLFxuICBuYW1lOiBgJHtyZWNvcmQubmFtZX0vaG9tZXBhZ2UgYnV0dG9uc2AsXG4gIHByb3BzOiB7XG4gICAgY2xhc3NOYW1lOiBcImJ0bi10b29sYmFyIG10LTQgbWItMlwiLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvZGl2XCIsXG4gICAgICAgICAgY2xhc3NOYW1lOiBcImJ0bi1ncm91cCBtci0zXCIsXG4gICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgX2NvbXBvbmVudDogXCJjb21tb24vRGVmYXVsdCBCdXR0b25cIixcbiAgICAgICAgICAgICAgICBjb250ZW50VGV4dDogYENyZWF0ZSAke3JlY29yZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgb25DbGljazogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcIiMjZXZlbnRIYW5kbGVyVHlwZVwiOiBcIkdldCBOZXcgUmVjb3JkXCIsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZVBhdGg6IHJlY29yZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25LZXk6IGAvJHtyZWNvcmQuY29sbGVjdGlvbk5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICBjaGlsZFJlY29yZFR5cGU6IHJlY29yZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJTZXQgU3RhdGVcIixcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGBpc0VkaXRpbmcke3JlY29yZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgX2NvbXBvbmVudDogXCJjb21tb24vRGVmYXVsdCBCdXR0b25cIixcbiAgICAgICAgICAgICAgICBjb250ZW50VGV4dDogYFJlZnJlc2hgLFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJMaXN0IFJlY29yZHNcIixcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRlUGF0aDogaW5kZXgubm9kZUtleSgpLFxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4S2V5OiBpbmRleC5ub2RlS2V5KCksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2lmXCIsXG4gICAgICAgICAgY29uZGl0aW9uOiBgJHN0b3JlLnNlbGVjdGVkcm93XyR7aW5kZXgubmFtZX0gJiYgJHN0b3JlLnNlbGVjdGVkcm93XyR7aW5kZXgubmFtZX0ubGVuZ3RoID4gMGAsXG4gICAgICAgICAgdGhlbkNvbXBvbmVudDoge1xuICAgICAgICAgICAgX2NvbXBvbmVudDogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9kaXZcIixcbiAgICAgICAgICAgIGNsYXNzTmFtZTogXCJidG4tZ3JvdXBcIixcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgICAgICAgICAgIF9jb21wb25lbnQ6IFwiY29tbW9uL0RlZmF1bHQgQnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICBjb250ZW50VGV4dDogYEVkaXQgJHtyZWNvcmQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJMb2FkIFJlY29yZFwiLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlUGF0aDogcmVjb3JkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmRLZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCIjI2Jic3RhdGVcIjogYHNlbGVjdGVkcm93XyR7aW5kZXgubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIiMjc291cmNlXCI6IFwic3RvcmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2V0IFN0YXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogYGlzRWRpdGluZyR7cmVjb3JkLm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcInRydWVcIixcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgICBfY29tcG9uZW50OiBcImNvbW1vbi9EZWZhdWx0IEJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgY29udGVudFRleHQ6IGBEZWxldGUgJHtyZWNvcmQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJEZWxldGUgUmVjb3JkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkS2V5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiIyNiYnN0YXRlXCI6IGBzZWxlY3RlZHJvd18ke2luZGV4Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCIjI3NvdXJjZVwiOiBcInN0b3JlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59KVxuIiwiaW1wb3J0IHtcbiAgcmVjb3JkSG9tZXBhZ2VzLFxuICBob21lcGFnZUNvbXBvbmVudE5hbWUsXG4gIHJlY29yZEhvbWVQYWdlQ29tcG9uZW50cyxcbn0gZnJvbSBcIi4vcmVjb3JkSG9tZVBhZ2VHZW5lcmF0b3JcIlxuaW1wb3J0IHsgZm9ybU5hbWUsIGZvcm1zIH0gZnJvbSBcIi4vZm9ybXNHZW5lcmF0b3JcIlxuXG5leHBvcnQgY29uc3Qgc2VsZWN0TmF2Q29udGVudCA9ICh7IGluZGV4ZXMsIHJlY29yZHMsIGhlbHBlcnMgfSkgPT4gW1xuICAuLi5yZWNvcmRIb21lcGFnZXMoeyBpbmRleGVzLCByZWNvcmRzIH0pLm1hcChjb21wb25lbnQpLFxuXG4gIC4uLnJlY29yZEhvbWVQYWdlQ29tcG9uZW50cyh7IGluZGV4ZXMsIHJlY29yZHMsIGhlbHBlcnMgfSksXG5cbiAgLi4uZm9ybXMoeyBpbmRleGVzLCByZWNvcmRzLCBoZWxwZXJzIH0pLFxuXVxuXG5leHBvcnQgY29uc3QgbmF2Q29udGVudENvbXBvbmVudE5hbWUgPSByZWNvcmQgPT5cbiAgYCR7cmVjb3JkLm5hbWV9LyR7cmVjb3JkLm5hbWV9IE5hdiBDb250ZW50YFxuXG5jb25zdCBjb21wb25lbnQgPSAoeyByZWNvcmQgfSkgPT4gKHtcbiAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvaWZcIixcbiAgZGVzY3JpcHRpb246IGB0aGUgY29tcG9uZW50IHRoYXQgZ2V0cyBkaXNwbGF5ZWQgd2hlbiB0aGUgJHtyZWNvcmQuY29sbGVjdGlvbk5hbWV9IG5hdiBpcyBzZWxlY3RlZGAsXG4gIG5hbWU6IG5hdkNvbnRlbnRDb21wb25lbnROYW1lKHJlY29yZCksXG4gIHByb3BzOiB7XG4gICAgY29uZGl0aW9uOiBgJHN0b3JlLmlzRWRpdGluZyR7cmVjb3JkLm5hbWV9YCxcbiAgICB0aGVuQ29tcG9uZW50OiB7XG4gICAgICBfY29tcG9uZW50OiBmb3JtTmFtZShyZWNvcmQpLFxuICAgIH0sXG4gICAgZWxzZUNvbXBvbmVudDoge1xuICAgICAgX2NvbXBvbmVudDogaG9tZXBhZ2VDb21wb25lbnROYW1lKHJlY29yZCksXG4gICAgfSxcbiAgfSxcbn0pXG4iLCJpbXBvcnQge1xuICBuYXZDb250ZW50Q29tcG9uZW50TmFtZSxcbiAgc2VsZWN0TmF2Q29udGVudCxcbn0gZnJvbSBcIi4vc2VsZWN0ZWROYXZDb250ZW50R2VuZXJhdG9yXCJcbmltcG9ydCB7IHJlY29yZEhvbWVwYWdlcyB9IGZyb20gXCIuL3JlY29yZEhvbWVQYWdlR2VuZXJhdG9yXCJcbmV4cG9ydCBjb25zdCBhcHAgPSAoeyByZWNvcmRzLCBpbmRleGVzLCBoZWxwZXJzIH0pID0+IFtcbiAge1xuICAgIG5hbWU6IFwiQXBwbGljYXRpb24gUm9vdFwiLFxuICAgIGluaGVyaXRzOiBcIkBidWRpYmFzZS9ib290c3RyYXAtY29tcG9uZW50cy9uYXZcIixcbiAgICBwcm9wczoge1xuICAgICAgaXRlbXM6IHJlY29yZEhvbWVwYWdlcyh7IGluZGV4ZXMsIHJlY29yZHMgfSkubWFwKG5hdkl0ZW0pLFxuICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgYWxpZ25tZW50OiBcInN0YXJ0XCIsXG4gICAgICBmaWxsOiBmYWxzZSxcbiAgICAgIHBpbGxzOiB0cnVlLFxuICAgICAgc2VsZWN0ZWRJdGVtOiB7XG4gICAgICAgIFwiIyNiYnN0YXRlXCI6IFwic2VsZWN0ZWROYXZcIixcbiAgICAgICAgXCIjI2Jic3RhdGVmYWxsYmFja1wiOiBgJHtyZWNvcmRzWzBdLm5hbWV9YCxcbiAgICAgICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcbiAgICAgIH0sXG4gICAgICBjbGFzc05hbWU6IFwicC0zXCIsXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTG9naW5cIixcbiAgICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9sb2dpblwiLFxuICAgIHByb3BzOiB7fSxcbiAgfSxcbiAgLi4uc2VsZWN0TmF2Q29udGVudCh7IHJlY29yZHMsIGluZGV4ZXMsIGhlbHBlcnMgfSksXG5dXG5cbmV4cG9ydCBjb25zdCBuYXZJdGVtID0gKHsgcmVjb3JkIH0pID0+ICh7XG4gIHRpdGxlOiByZWNvcmQuY29sbGVjdGlvbk5hbWUsXG4gIGNvbXBvbmVudDoge1xuICAgIF9jb21wb25lbnQ6IG5hdkNvbnRlbnRDb21wb25lbnROYW1lKHJlY29yZCksXG4gIH0sXG59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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9ycy5qcyIsInNvdXJjZXMiOlsiLi4vc3JjL2dlbmVyYXRvcnMvYnV0dG9uR2VuZXJhdG9ycy5qcyIsIi4uL3NyYy9nZW5lcmF0b3JzL2Zvcm1zR2VuZXJhdG9yLmpzIiwiLi4vc3JjL2dlbmVyYXRvcnMvZ2V0UmVjb3JkUGF0aC5qcyIsIi4uL3NyYy9nZW5lcmF0b3JzL2luZGV4VGFibGVzR2VuZXJhdG9yLmpzIiwiLi4vc3JjL2dlbmVyYXRvcnMvcmVjb3JkSG9tZVBhZ2VHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9zZWxlY3RlZE5hdkNvbnRlbnRHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9hcHBHZW5lcmF0b3IuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGJ1dHRvbnMgPSAoKSA9PiBbXG4gIHtcbiAgICBuYW1lOiBcImNvbW1vbi9QcmltYXJ5IEJ1dHRvblwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkJvb3RzdHJhcCBwcmltYXJ5IGJ1dHRvbiBcIixcbiAgICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9idXR0b25cIixcbiAgICBwcm9wczoge1xuICAgICAgY2xhc3NOYW1lOiBcImJ0biBidG4tcHJpbWFyeVwiLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcImNvbW1vbi9EZWZhdWx0IEJ1dHRvblwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkJvb3RzdHJhcCBkZWZhdWx0IGJ1dHRvblwiLFxuICAgIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2J1dHRvblwiLFxuICAgIHByb3BzOiB7XG4gICAgICBjbGFzc05hbWU6IFwiYnRuIGJ0bi1zZWNvbmRhcnlcIixcbiAgICB9LFxuICB9LFxuXVxuIiwiaW1wb3J0IHsgYnV0dG9ucyB9IGZyb20gXCIuL2J1dHRvbkdlbmVyYXRvcnNcIlxuXG5leHBvcnQgY29uc3QgZm9ybXMgPSAoeyByZWNvcmRzLCBpbmRleGVzLCBoZWxwZXJzIH0pID0+IFtcbiAgLi4ucmVjb3Jkcy5tYXAocm9vdCksXG4gIC4uLmJ1dHRvbnMoeyByZWNvcmRzLCBpbmRleGVzLCBoZWxwZXJzIH0pLFxuXVxuXG5leHBvcnQgY29uc3QgZm9ybU5hbWUgPSByZWNvcmQgPT4gYCR7cmVjb3JkLm5hbWV9LyR7cmVjb3JkLm5hbWV9IEZvcm1gXG5cbmNvbnN0IHJvb3QgPSByZWNvcmQgPT4gKHtcbiAgbmFtZTogZm9ybU5hbWUocmVjb3JkKSxcbiAgZGVzY3JpcHRpb246IGBDb250cm9sIGZvciBjcmVhdGluZy91cGRhdGluZyAnJHtyZWNvcmQubm9kZUtleSgpfScgYCxcbiAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvY29udGFpbmVyXCIsXG4gIHByb3BzOiB7XG4gICAgY2xhc3NOYW1lOiBcInAtMVwiLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvaDNcIixcbiAgICAgICAgICB0ZXh0OiBgRWRpdCAke3JlY29yZC5uYW1lfWAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgZm9ybShyZWNvcmQpLFxuICAgICAgc2F2ZUNhbmNlbEJ1dHRvbnMocmVjb3JkKSxcbiAgICBdLFxuICB9LFxufSlcblxuY29uc3QgZm9ybSA9IHJlY29yZCA9PiAoe1xuICBjb21wb25lbnQ6IHtcbiAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2Zvcm1cIixcbiAgICBmb3JtQ29udHJvbHM6IHJlY29yZC5maWVsZHMubWFwKGYgPT4gZm9ybUNvbnRyb2wocmVjb3JkLCBmKSksXG4gIH0sXG59KVxuXG5jb25zdCBmb3JtQ29udHJvbCA9IChyZWNvcmQsIGZpZWxkKSA9PiB7XG4gIGlmIChcbiAgICBmaWVsZC50eXBlID09PSBcInN0cmluZ1wiICYmXG4gICAgZmllbGQudHlwZU9wdGlvbnMudmFsdWVzICYmXG4gICAgZmllbGQudHlwZU9wdGlvbnMudmFsdWVzLmxlbmd0aCA+IDBcbiAgKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRyb2w6IHtcbiAgICAgICAgX2NvbXBvbmVudDogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9zZWxlY3RcIixcbiAgICAgICAgb3B0aW9uczogZmllbGQudHlwZU9wdGlvbnMudmFsdWVzLm1hcCh2ID0+ICh7IGlkOiB2LCB2YWx1ZTogdiB9KSksXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgXCIjI2Jic3RhdGVcIjogYCR7cmVjb3JkLm5hbWV9LiR7ZmllbGQubmFtZX1gLFxuICAgICAgICAgIFwiIyNiYnNvdXJjZVwiOiBcInN0b3JlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIGNsYXNzTmFtZTogXCJmb3JtLWNvbnRyb2xcIixcbiAgICAgIH0sXG4gICAgICBsYWJlbDogZmllbGQubGFiZWwsXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHJldHVybiB7XG4gICAgICBjb250cm9sOiB7XG4gICAgICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvaW5wdXRcIixcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICBcIiMjYmJzdGF0ZVwiOiBgJHtyZWNvcmQubmFtZX0uJHtmaWVsZC5uYW1lfWAsXG4gICAgICAgICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NOYW1lOiBcImZvcm0tY29udHJvbFwiLFxuICAgICAgICB0eXBlOlxuICAgICAgICAgIGZpZWxkLnR5cGUgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgID8gXCJ0ZXh0XCJcbiAgICAgICAgICAgIDogZmllbGQudHlwZSA9PT0gXCJkYXRldGltZVwiXG4gICAgICAgICAgICA/IFwiZGF0ZVwiXG4gICAgICAgICAgICA6IGZpZWxkLnR5cGUgPT09IFwibnVtYmVyXCJcbiAgICAgICAgICAgID8gXCJudW1iZXJcIlxuICAgICAgICAgICAgOiBcInRleHRcIixcbiAgICAgIH0sXG4gICAgICBsYWJlbDogZmllbGQubGFiZWwsXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHNhdmVDYW5jZWxCdXR0b25zID0gcmVjb3JkID0+ICh7XG4gIGNvbXBvbmVudDoge1xuICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvc3RhY2twYW5lbFwiLFxuICAgIGRpcmVjdGlvbjogXCJob3Jpem9udGFsXCIsXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHBhZGRlZFBhbmVsRm9yQnV0dG9uKHtcbiAgICAgICAgX2NvbXBvbmVudDogXCJjb21tb24vUHJpbWFyeSBCdXR0b25cIixcbiAgICAgICAgY29udGVudFRleHQ6IGBTYXZlICR7cmVjb3JkLm5hbWV9YCxcbiAgICAgICAgb25DbGljazogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2F2ZSBSZWNvcmRcIixcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgc3RhdGVQYXRoOiBgJHtyZWNvcmQubmFtZX1gLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2V0IFN0YXRlXCIsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGBpc0VkaXRpbmcke3JlY29yZC5uYW1lfWAsXG4gICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgICBwYWRkZWRQYW5lbEZvckJ1dHRvbih7XG4gICAgICAgIF9jb21wb25lbnQ6IFwiY29tbW9uL0RlZmF1bHQgQnV0dG9uXCIsXG4gICAgICAgIGNvbnRlbnRUZXh0OiBgQ2FuY2VsYCxcbiAgICAgICAgb25DbGljazogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2V0IFN0YXRlXCIsXG4gICAgICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgIHBhdGg6IGBpc0VkaXRpbmcke3JlY29yZC5uYW1lfWAsXG4gICAgICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgXSxcbiAgfSxcbn0pXG5cbmNvbnN0IHBhZGRlZFBhbmVsRm9yQnV0dG9uID0gYnV0dG9uID0+ICh7XG4gIGNvbnRyb2w6IHtcbiAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2NvbnRhaW5lclwiLFxuICAgIGNsYXNzTmFtZTogXCJidG4tZ3JvdXBcIixcbiAgICBjaGlsZHJlbjogW1xuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IGJ1dHRvbixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn0pXG4iLCJleHBvcnQgY29uc3QgZ2V0UmVjb3JkUGF0aCA9ICgpID0+IHtcbiAgY29uc3QgcGFydHMgPSBbXVxuXG4gIGNvbnN0IGFkZCA9IGN1cnJlbnQgPT4ge1xuICAgIHBhcnRzLnB1c2goY3VycmVudC5uYW1lKVxuICAgIGlmIChjdXJyZW50LnBhcmVudCgpLnR5cGUgPT09IFwicm9vdFwiKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBhZGQoY3VycmVudC5wYXJlbnQoKSlcbiAgfVxuXG4gIHJldHVybiBwYXJ0cy5yZXZlcnNlKCkuam9pbihcIi9cIilcbn1cbiIsImltcG9ydCB7IGdldFJlY29yZFBhdGggfSBmcm9tIFwiLi9nZXRSZWNvcmRQYXRoXCJcblxuZXhwb3J0IGNvbnN0IGluZGV4VGFibGVzID0gKHsgaW5kZXhlcywgaGVscGVycyB9KSA9PlxuICBpbmRleGVzLm1hcChpID0+IGluZGV4VGFibGUoaSwgaGVscGVycykpXG5cbmNvbnN0IGV4Y2x1ZGVkQ29sdW1ucyA9IFtcImlkXCIsIFwiaXNOZXdcIiwgXCJrZXlcIiwgXCJ0eXBlXCIsIFwic29ydEtleVwiXVxuXG5leHBvcnQgY29uc3QgaW5kZXhUYWJsZVByb3BzID0gKGluZGV4LCBoZWxwZXJzKSA9PiAoe1xuICBkYXRhOiB7XG4gICAgXCIjI2Jic3RhdGVcIjogaW5kZXgubm9kZUtleSgpLFxuICAgIFwiIyNiYnNvdXJjZVwiOiBcInN0b3JlXCIsXG4gIH0sXG4gIHRhYmxlQ2xhc3M6IFwidGFibGUgdGFibGUtaG92ZXJcIixcbiAgdGhlYWRDbGFzczogXCJ0aGVhZC1kYXJrXCIsXG4gIGNvbHVtbnM6IGhlbHBlcnNcbiAgICAuaW5kZXhTY2hlbWEoaW5kZXgpXG4gICAgLmZpbHRlcihjID0+ICFleGNsdWRlZENvbHVtbnMuaW5jbHVkZXMoYy5uYW1lKSlcbiAgICAubWFwKGNvbHVtbiksXG4gIG9uUm93Q2xpY2s6IFtcbiAgICB7XG4gICAgICBcIiMjZXZlbnRIYW5kbGVyVHlwZVwiOiBcIlNldCBTdGF0ZVwiLFxuICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICBwYXRoOiBgc2VsZWN0ZWRyb3dfJHtpbmRleC5uYW1lfWAsXG4gICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgXCIjI2Jic3RhdGVcIjogXCJrZXlcIixcbiAgICAgICAgICBcIiMjYmJzb3VyY2VcIjogXCJldmVudFwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICBdLFxufSlcblxuZXhwb3J0IGNvbnN0IGdldEluZGV4VGFibGVOYW1lID0gKGluZGV4LCByZWNvcmQpID0+IHtcbiAgcmVjb3JkID0gcmVjb3JkIHx8IGluZGV4LnBhcmVudCgpLnR5cGUgPT09IFwicmVjb3JkXCIgPyBpbmRleC5wYXJlbnQoKSA6IG51bGxcblxuICByZXR1cm4gcmVjb3JkXG4gICAgPyBgJHtnZXRSZWNvcmRQYXRoKHJlY29yZCl9LyR7aW5kZXgubmFtZX0gVGFibGVgXG4gICAgOiBgJHtpbmRleC5uYW1lfSBUYWJsZWBcbn1cblxuY29uc3QgaW5kZXhUYWJsZSA9IChpbmRleCwgaGVscGVycykgPT4gKHtcbiAgbmFtZTogZ2V0SW5kZXhUYWJsZU5hbWUoaW5kZXgpLFxuICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy90YWJsZVwiLFxuICBwcm9wczogaW5kZXhUYWJsZVByb3BzKGluZGV4LCBoZWxwZXJzKSxcbn0pXG5cbmNvbnN0IGNvbHVtbiA9IGNvbCA9PiAoe1xuICB0aXRsZTogY29sLm5hbWUsXG4gIHZhbHVlOiB7XG4gICAgXCIjI2Jic3RhdGVcIjogY29sLm5hbWUsXG4gICAgXCIjI2Jic291cmNlXCI6IFwiY29udGV4dFwiLFxuICB9LFxufSlcbiIsImltcG9ydCB7IGdldEluZGV4VGFibGVOYW1lLCBpbmRleFRhYmxlcyB9IGZyb20gXCIuL2luZGV4VGFibGVzR2VuZXJhdG9yXCJcblxuaW1wb3J0IHsgYnV0dG9ucyB9IGZyb20gXCIuL2J1dHRvbkdlbmVyYXRvcnNcIlxuXG5leHBvcnQgY29uc3QgcmVjb3JkSG9tZVBhZ2VDb21wb25lbnRzID0gKHsgaW5kZXhlcywgcmVjb3JkcywgaGVscGVycyB9KSA9PiBbXG4gIC4uLnJlY29yZEhvbWVwYWdlcyh7IGluZGV4ZXMsIHJlY29yZHMgfSkubWFwKGNvbXBvbmVudCksXG5cbiAgLi4ucmVjb3JkSG9tZXBhZ2VzKHsgaW5kZXhlcywgcmVjb3JkcyB9KS5tYXAoaG9tZVBhZ2VCdXR0b25zKSxcblxuICAuLi5pbmRleFRhYmxlcyh7IGluZGV4ZXMsIHJlY29yZHMsIGhlbHBlcnMgfSksXG5cbiAgLi4uYnV0dG9ucyh7IGluZGV4ZXMsIGJ1dHRvbnMsIGhlbHBlcnMgfSksXG5dXG5cbmNvbnN0IGZpbmRJbmRleEZvclJlY29yZCA9IChpbmRleGVzLCByZWNvcmQpID0+IHtcbiAgY29uc3QgZm9yUmVjb3JkID0gaW5kZXhlcy5maWx0ZXIoaSA9PlxuICAgIGkuYWxsb3dlZFJlY29yZE5vZGVJZHMuaW5jbHVkZXMocmVjb3JkLm5vZGVJZClcbiAgKVxuICBpZiAoZm9yUmVjb3JkLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG4gIGlmIChmb3JSZWNvcmQubGVuZ3RoID09PSAxKSByZXR1cm4gZm9yUmVjb3JkWzBdXG4gIGNvbnN0IG5vTWFwID0gZm9yUmVjb3JkLmZpbHRlcihpID0+ICFpLmZpbHRlciB8fCAhaS5maWx0ZXIudHJpbSgpKVxuICBpZiAobm9NYXAubGVuZ3RoID09PSAwKSBmb3JSZWNvcmRbMF1cbiAgcmV0dXJuIG5vTWFwWzBdXG59XG5cbmV4cG9ydCBjb25zdCByZWNvcmRIb21lcGFnZXMgPSAoeyBpbmRleGVzLCByZWNvcmRzIH0pID0+XG4gIHJlY29yZHNcbiAgICAuZmlsdGVyKHIgPT4gci5wYXJlbnQoKS50eXBlID09PSBcInJvb3RcIilcbiAgICAubWFwKHIgPT4gKHtcbiAgICAgIHJlY29yZDogcixcbiAgICAgIGluZGV4OiBmaW5kSW5kZXhGb3JSZWNvcmQoaW5kZXhlcywgciksXG4gICAgfSkpXG4gICAgLmZpbHRlcihyID0+IHIuaW5kZXgpXG5cbmV4cG9ydCBjb25zdCBob21lcGFnZUNvbXBvbmVudE5hbWUgPSByZWNvcmQgPT5cbiAgYCR7cmVjb3JkLm5hbWV9LyR7cmVjb3JkLm5hbWV9IGhvbWVwYWdlYFxuXG5jb25zdCBjb21wb25lbnQgPSAoeyByZWNvcmQsIGluZGV4IH0pID0+ICh7XG4gIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2NvbnRhaW5lclwiLFxuICBuYW1lOiBob21lcGFnZUNvbXBvbmVudE5hbWUocmVjb3JkKSxcbiAgcHJvcHM6IHtcbiAgICBjbGFzc05hbWU6IFwiZC1mbGV4IGZsZXgtY29sdW1uIGgtMTAwXCIsXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgX2NvbXBvbmVudDogYCR7cmVjb3JkLm5hbWV9L2hvbWVwYWdlIGJ1dHRvbnNgLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgX2NvbXBvbmVudDogZ2V0SW5kZXhUYWJsZU5hbWUoaW5kZXgpLFxuICAgICAgICB9LFxuICAgICAgICBjbGFzc05hbWU6IFwiZmxleC1nb3ctMSBvdmVyZmxvdy1hdXRvXCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgb25Mb2FkOiBbXG4gICAgICB7XG4gICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2V0IFN0YXRlXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBwYXRoOiBgaXNFZGl0aW5nJHtyZWNvcmQubmFtZX1gLFxuICAgICAgICAgIHZhbHVlOiBcIlwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJMaXN0IFJlY29yZHNcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIHN0YXRlUGF0aDogaW5kZXgubm9kZUtleSgpLFxuICAgICAgICAgIGluZGV4S2V5OiBpbmRleC5ub2RlS2V5KCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59KVxuXG5jb25zdCBob21lUGFnZUJ1dHRvbnMgPSAoeyBpbmRleCwgcmVjb3JkIH0pID0+ICh7XG4gIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2NvbnRhaW5lclwiLFxuICBuYW1lOiBgJHtyZWNvcmQubmFtZX0vaG9tZXBhZ2UgYnV0dG9uc2AsXG4gIHByb3BzOiB7XG4gICAgY2xhc3NOYW1lOiBcImJ0bi10b29sYmFyIG10LTQgbWItMlwiLFxuICAgIGNoaWxkcmVuOiBbXG4gICAgICB7XG4gICAgICAgIGNvbXBvbmVudDoge1xuICAgICAgICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvY29udGFpbmVyXCIsXG4gICAgICAgICAgY2xhc3NOYW1lOiBcImJ0bi1ncm91cCBtci0zXCIsXG4gICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgX2NvbXBvbmVudDogXCJjb21tb24vRGVmYXVsdCBCdXR0b25cIixcbiAgICAgICAgICAgICAgICBjb250ZW50VGV4dDogYENyZWF0ZSAke3JlY29yZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgb25DbGljazogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcIiMjZXZlbnRIYW5kbGVyVHlwZVwiOiBcIkdldCBOZXcgUmVjb3JkXCIsXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0ZVBhdGg6IHJlY29yZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25LZXk6IGAvJHtyZWNvcmQuY29sbGVjdGlvbk5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICBjaGlsZFJlY29yZFR5cGU6IHJlY29yZC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJTZXQgU3RhdGVcIixcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHBhdGg6IGBpc0VkaXRpbmcke3JlY29yZC5uYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IFwidHJ1ZVwiLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgX2NvbXBvbmVudDogXCJjb21tb24vRGVmYXVsdCBCdXR0b25cIixcbiAgICAgICAgICAgICAgICBjb250ZW50VGV4dDogYFJlZnJlc2hgLFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJMaXN0IFJlY29yZHNcIixcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRlUGF0aDogaW5kZXgubm9kZUtleSgpLFxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4S2V5OiBpbmRleC5ub2RlS2V5KCksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2lmXCIsXG4gICAgICAgICAgY29uZGl0aW9uOiBgJHN0b3JlLnNlbGVjdGVkcm93XyR7aW5kZXgubmFtZX0gJiYgJHN0b3JlLnNlbGVjdGVkcm93XyR7aW5kZXgubmFtZX0ubGVuZ3RoID4gMGAsXG4gICAgICAgICAgdGhlbkNvbXBvbmVudDoge1xuICAgICAgICAgICAgX2NvbXBvbmVudDogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9jb250YWluZXJcIixcbiAgICAgICAgICAgIGNsYXNzTmFtZTogXCJidG4tZ3JvdXBcIixcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IHtcbiAgICAgICAgICAgICAgICAgIF9jb21wb25lbnQ6IFwiY29tbW9uL0RlZmF1bHQgQnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICBjb250ZW50VGV4dDogYEVkaXQgJHtyZWNvcmQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJMb2FkIFJlY29yZFwiLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlUGF0aDogcmVjb3JkLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWNvcmRLZXk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCIjI2Jic3RhdGVcIjogYHNlbGVjdGVkcm93XyR7aW5kZXgubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBcIiMjc291cmNlXCI6IFwic3RvcmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2V0IFN0YXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aDogYGlzRWRpdGluZyR7cmVjb3JkLm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcInRydWVcIixcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiB7XG4gICAgICAgICAgICAgICAgICBfY29tcG9uZW50OiBcImNvbW1vbi9EZWZhdWx0IEJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgY29udGVudFRleHQ6IGBEZWxldGUgJHtyZWNvcmQubmFtZX1gLFxuICAgICAgICAgICAgICAgICAgb25DbGljazogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgXCIjI2V2ZW50SGFuZGxlclR5cGVcIjogXCJEZWxldGUgUmVjb3JkXCIsXG4gICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVjb3JkS2V5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiIyNiYnN0YXRlXCI6IGBzZWxlY3RlZHJvd18ke2luZGV4Lm5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXCIjI3NvdXJjZVwiOiBcInN0b3JlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59KVxuIiwiaW1wb3J0IHtcbiAgcmVjb3JkSG9tZXBhZ2VzLFxuICBob21lcGFnZUNvbXBvbmVudE5hbWUsXG4gIHJlY29yZEhvbWVQYWdlQ29tcG9uZW50cyxcbn0gZnJvbSBcIi4vcmVjb3JkSG9tZVBhZ2VHZW5lcmF0b3JcIlxuaW1wb3J0IHsgZm9ybU5hbWUsIGZvcm1zIH0gZnJvbSBcIi4vZm9ybXNHZW5lcmF0b3JcIlxuXG5leHBvcnQgY29uc3Qgc2VsZWN0TmF2Q29udGVudCA9ICh7IGluZGV4ZXMsIHJlY29yZHMsIGhlbHBlcnMgfSkgPT4gW1xuICAuLi5yZWNvcmRIb21lcGFnZXMoeyBpbmRleGVzLCByZWNvcmRzIH0pLm1hcChjb21wb25lbnQpLFxuXG4gIC4uLnJlY29yZEhvbWVQYWdlQ29tcG9uZW50cyh7IGluZGV4ZXMsIHJlY29yZHMsIGhlbHBlcnMgfSksXG5cbiAgLi4uZm9ybXMoeyBpbmRleGVzLCByZWNvcmRzLCBoZWxwZXJzIH0pLFxuXVxuXG5leHBvcnQgY29uc3QgbmF2Q29udGVudENvbXBvbmVudE5hbWUgPSByZWNvcmQgPT5cbiAgYCR7cmVjb3JkLm5hbWV9LyR7cmVjb3JkLm5hbWV9IE5hdiBDb250ZW50YFxuXG5jb25zdCBjb21wb25lbnQgPSAoeyByZWNvcmQgfSkgPT4gKHtcbiAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvaWZcIixcbiAgZGVzY3JpcHRpb246IGB0aGUgY29tcG9uZW50IHRoYXQgZ2V0cyBkaXNwbGF5ZWQgd2hlbiB0aGUgJHtyZWNvcmQuY29sbGVjdGlvbk5hbWV9IG5hdiBpcyBzZWxlY3RlZGAsXG4gIG5hbWU6IG5hdkNvbnRlbnRDb21wb25lbnROYW1lKHJlY29yZCksXG4gIHByb3BzOiB7XG4gICAgY29uZGl0aW9uOiBgJHN0b3JlLmlzRWRpdGluZyR7cmVjb3JkLm5hbWV9YCxcbiAgICB0aGVuQ29tcG9uZW50OiB7XG4gICAgICBfY29tcG9uZW50OiBmb3JtTmFtZShyZWNvcmQpLFxuICAgIH0sXG4gICAgZWxzZUNvbXBvbmVudDoge1xuICAgICAgX2NvbXBvbmVudDogaG9tZXBhZ2VDb21wb25lbnROYW1lKHJlY29yZCksXG4gICAgfSxcbiAgfSxcbn0pXG4iLCJpbXBvcnQge1xuICBuYXZDb250ZW50Q29tcG9uZW50TmFtZSxcbiAgc2VsZWN0TmF2Q29udGVudCxcbn0gZnJvbSBcIi4vc2VsZWN0ZWROYXZDb250ZW50R2VuZXJhdG9yXCJcbmltcG9ydCB7IHJlY29yZEhvbWVwYWdlcyB9IGZyb20gXCIuL3JlY29yZEhvbWVQYWdlR2VuZXJhdG9yXCJcbmV4cG9ydCBjb25zdCBhcHAgPSAoeyByZWNvcmRzLCBpbmRleGVzLCBoZWxwZXJzIH0pID0+IFtcbiAge1xuICAgIG5hbWU6IFwiQXBwbGljYXRpb24gUm9vdFwiLFxuICAgIGluaGVyaXRzOiBcIkBidWRpYmFzZS9ib290c3RyYXAtY29tcG9uZW50cy9uYXZcIixcbiAgICBwcm9wczoge1xuICAgICAgaXRlbXM6IHJlY29yZEhvbWVwYWdlcyh7IGluZGV4ZXMsIHJlY29yZHMgfSkubWFwKG5hdkl0ZW0pLFxuICAgICAgb3JpZW50YXRpb246IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgYWxpZ25tZW50OiBcInN0YXJ0XCIsXG4gICAgICBmaWxsOiBmYWxzZSxcbiAgICAgIHBpbGxzOiB0cnVlLFxuICAgICAgc2VsZWN0ZWRJdGVtOiB7XG4gICAgICAgIFwiIyNiYnN0YXRlXCI6IFwic2VsZWN0ZWROYXZcIixcbiAgICAgICAgXCIjI2Jic3RhdGVmYWxsYmFja1wiOiBgJHtyZWNvcmRzWzBdLm5hbWV9YCxcbiAgICAgICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcbiAgICAgIH0sXG4gICAgICBjbGFzc05hbWU6IFwicC0zXCIsXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiTG9naW5cIixcbiAgICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9sb2dpblwiLFxuICAgIHByb3BzOiB7fSxcbiAgfSxcbiAgLi4uc2VsZWN0TmF2Q29udGVudCh7IHJlY29yZHMsIGluZGV4ZXMsIGhlbHBlcnMgfSksXG5dXG5cbmV4cG9ydCBjb25zdCBuYXZJdGVtID0gKHsgcmVjb3JkIH0pID0+ICh7XG4gIHRpdGxlOiByZWNvcmQuY29sbGVjdGlvbk5hbWUsXG4gIGNvbXBvbmVudDoge1xuICAgIF9jb21wb25lbnQ6IG5hdkNvbnRlbnRDb21wb25lbnROYW1lKHJlY29yZCksXG4gIH0sXG59KVxuIl0sIm5hbWVzIjpbImNvbXBvbmVudCJdLCJtYXBwaW5ncyI6IkFBQU8sTUFBTSxPQUFPLEdBQUcsTUFBTTtBQUM3QixFQUFFO0FBQ0YsSUFBSSxJQUFJLEVBQUUsdUJBQXVCO0FBQ2pDLElBQUksV0FBVyxFQUFFLDJCQUEyQjtBQUM1QyxJQUFJLFFBQVEsRUFBRSxzQ0FBc0M7QUFDcEQsSUFBSSxLQUFLLEVBQUU7QUFDWCxNQUFNLFNBQVMsRUFBRSxpQkFBaUI7QUFDbEMsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFO0FBQ0YsSUFBSSxJQUFJLEVBQUUsdUJBQXVCO0FBQ2pDLElBQUksV0FBVyxFQUFFLDBCQUEwQjtBQUMzQyxJQUFJLFFBQVEsRUFBRSxzQ0FBc0M7QUFDcEQsSUFBSSxLQUFLLEVBQUU7QUFDWCxNQUFNLFNBQVMsRUFBRSxtQkFBbUI7QUFDcEMsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUNmWSxNQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSztBQUN4RCxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUM7QUFDdEIsRUFBRSxHQUFHLE9BQU8sQ0FBQyxBQUE2QixDQUFDO0FBQzNDLEVBQUM7QUFDRDtBQUNBLEFBQU8sTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBQztBQUN0RTtBQUNBLE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSztBQUN4QixFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDO0FBQ3hCLEVBQUUsV0FBVyxFQUFFLENBQUMsK0JBQStCLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUNyRSxFQUFFLFFBQVEsRUFBRSx5Q0FBeUM7QUFDckQsRUFBRSxLQUFLLEVBQUU7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 diff --git a/packages/builder/src/builderStore/store.js b/packages/builder/src/builderStore/store.js index b0bcaf31f9..8b163649f9 100644 --- a/packages/builder/src/builderStore/store.js +++ b/packages/builder/src/builderStore/store.js @@ -30,6 +30,7 @@ import { getNewScreen, createProps, makePropsSafe, + getBuiltin, } from "../userInterface/pagesParsing/createProps" import { expandComponentDefinition } from "../userInterface/pagesParsing/types" import { @@ -156,6 +157,7 @@ const initialise = (store, initial) => async () => { } initial.libraries = await loadLibs(appname, pkg) + initial.generatorLibraries = await loadGeneratorLibs(appname, pkg) initial.loadLibraryUrls = () => loadLibUrls(appname, pkg) initial.appname = appname @@ -168,6 +170,7 @@ const initialise = (store, initial) => async () => { initial.components = values(pkg.components.components).map( expandComponentDefinition ) + initial.builtins = [getBuiltin("##builtin/screenslot")] initial.actions = values(pkg.appDefinition.actions) initial.triggers = pkg.appDefinition.triggers @@ -179,7 +182,6 @@ const initialise = (store, initial) => async () => { } store.set(initial) - return initial } @@ -746,7 +748,9 @@ const getContainerComponent = components => const addChildComponent = store => componentName => { store.update(s => { - const component = s.components.find(c => c.name === componentName) + const component = componentName.startsWith("##") + ? getBuiltin(componentName) + : s.components.find(c => c.name === componentName) const newComponent = createProps(component) s.currentComponentInfo._children = s.currentComponentInfo._children.concat( diff --git a/packages/builder/src/userInterface/ComponentsList.svelte b/packages/builder/src/userInterface/ComponentsList.svelte index 0fa88a5da3..fb00d3e4aa 100644 --- a/packages/builder/src/userInterface/ComponentsList.svelte +++ b/packages/builder/src/userInterface/ComponentsList.svelte @@ -66,7 +66,7 @@ - {#each lib.components.filter(_ => true) as component} + {#each $store.builtins.concat(lib.components.filter(_ => true)) as component}
onComponentChosen(component.name)}> diff --git a/packages/builder/src/userInterface/pagesParsing/createProps.js b/packages/builder/src/userInterface/pagesParsing/createProps.js index d5dfc34814..4b17284a4f 100644 --- a/packages/builder/src/userInterface/pagesParsing/createProps.js +++ b/packages/builder/src/userInterface/pagesParsing/createProps.js @@ -3,6 +3,15 @@ import { types } from "./types" import { assign } from "lodash" import { uuid } from "../../builderStore/uuid" +export const getBuiltin = name => { + const { props } = createProps({ name }) + + return { + name, + props, + } +} + export const getNewScreen = (components, rootComponentName, name) => { const rootComponent = components.find(c => c.name === rootComponentName) return { diff --git a/packages/standard-components/dist/generators.js b/packages/standard-components/dist/generators.js index 90acaa8ace..e193155ad0 100644 --- a/packages/standard-components/dist/generators.js +++ b/packages/standard-components/dist/generators.js @@ -198,4 +198,4 @@ const buttons = () => [ ]; export { app, buttons, forms, headers, indexTables, nav }; -//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9ycy5qcyIsInNvdXJjZXMiOlsiLi4vc3JjL2dlbmVyYXRvcnMvaGVhZGVyc0dlbmVyYXRvci5qcyIsIi4uL3NyYy9nZW5lcmF0b3JzL2Zvcm1zR2VuZXJhdG9yLmpzIiwiLi4vc3JjL2dlbmVyYXRvcnMvaW5kZXhUYWJsZXNHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9uYXZHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9hcHBHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9idXR0b25zR2VuZXJhdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBoZWFkZXJzID0gKCkgPT4gW1xyXG4gIHtcclxuICAgIG5hbWU6IFwiY29tbW9uL0gxXCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCJIZWFkZXIgMVwiLFxyXG4gICAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvdGV4dFwiLFxyXG4gICAgcHJvcHM6IHtcclxuICAgICAgZm9udDogXCIyMHB0XCIsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogXCJjb21tb24vSDJcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIkhlYWRlciAyXCIsXHJcbiAgICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy90ZXh0XCIsXHJcbiAgICBwcm9wczoge1xyXG4gICAgICBmb250OiBcIjE1cHRcIixcclxuICAgIH0sXHJcbiAgfSxcclxuICB7XHJcbiAgICBuYW1lOiBcImNvbW1vbi9IM1wiLFxyXG4gICAgZGVzY3JpcHRpb246IFwiSGVhZGVyIDNcIixcclxuICAgIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL3RleHRcIixcclxuICAgIHByb3BzOiB7XHJcbiAgICAgIGZvbnQ6IFwiMTJwdCBib2xkXCIsXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAge1xyXG4gICAgbmFtZTogXCJjb21tb24vSDRcIixcclxuICAgIGRlc2NyaXB0aW9uOiBcIkhlYWRlciA0XCIsXHJcbiAgICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy90ZXh0XCIsXHJcbiAgICBwcm9wczoge1xyXG4gICAgICBmb250OiBcIjEwcHQgYm9sZFwiLFxyXG4gICAgfSxcclxuICB9LFxyXG5dXHJcbiIsImltcG9ydCB7IGhlYWRlcnMgfSBmcm9tIFwiLi9oZWFkZXJzR2VuZXJhdG9yXCJcclxuXHJcbmV4cG9ydCBjb25zdCBmb3JtcyA9ICh7IHJlY29yZHMsIGluZGV4ZXMgfSkgPT4gW1xyXG4gIC4uLmhlYWRlcnMoeyByZWNvcmRzLCBpbmRleGVzIH0pLFxyXG4gIC4uLnJlY29yZHMubWFwKHJvb3QpLFxyXG5dXHJcblxyXG5jb25zdCByb290ID0gcmVjb3JkID0+ICh7XHJcbiAgbmFtZTogYCR7cmVjb3JkLm5hbWV9IEZvcm1gLFxyXG4gIGRlc2NyaXB0aW9uOiBgQWxsIGZpZWxkcyBvbiByZWNvcmQgJyR7cmVjb3JkLm5vZGVLZXkoKX0nIGAsXHJcbiAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvc3RhY2twYW5lbFwiLFxyXG4gIHByb3BzOiB7XHJcbiAgICBkaXJlY3Rpb246IFwidmVydGljYWxcIixcclxuICAgIGNoaWxkcmVuOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBjb250cm9sOiB7XHJcbiAgICAgICAgICBfY29tcG9uZW50OiBcImNvbW1vbi9IMVwiLFxyXG4gICAgICAgICAgdmFsdWU6IGBFZGl0ICR7cmVjb3JkLm5hbWV9YCxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBmb3JtKHJlY29yZCksXHJcbiAgICAgIHNhdmVDYW5jZWxCdXR0b25zKHJlY29yZCksXHJcbiAgICBdLFxyXG4gIH0sXHJcbn0pXHJcblxyXG5jb25zdCBmb3JtID0gcmVjb3JkID0+ICh7XHJcbiAgY29udHJvbDoge1xyXG4gICAgX2NvbXBvbmVudDogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9mb3JtXCIsXHJcbiAgICBmb3JtQ29udHJvbHM6IHJlY29yZC5maWVsZHMubWFwKGYgPT4gKHtcclxuICAgICAgbGFiZWw6IGYubGFiZWwsXHJcbiAgICAgIGNvbnRyb2w6IHtcclxuICAgICAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL3RleHRib3hcIixcclxuICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgXCIjI2Jic3RhdGVcIjogYGN1cnJlbnQke3JlY29yZC5uYW1lfS4ke2YubmFtZX1gLFxyXG4gICAgICAgICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgfSkpLFxyXG4gIH0sXHJcbn0pXHJcblxyXG5jb25zdCBzYXZlQ2FuY2VsQnV0dG9ucyA9IHJlY29yZCA9PiAoe1xyXG4gIGNvbnRyb2w6IHtcclxuICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvc3RhY2twYW5lbFwiLFxyXG4gICAgZGlyZWN0aW9uOiBcImhvcml6b250YWxcIixcclxuICAgIGNoaWxkcmVuOiBbXHJcbiAgICAgIHBhZGRlZFBhbmVsRm9yQnV0dG9uKHtcclxuICAgICAgICBfY29tcG9uZW50OiBcImNvbW1vbi9QcmltYXJ5IEJ1dHRvblwiLFxyXG4gICAgICAgIGNvbnRlbnRUZXh0OiBgU2F2ZSAke3JlY29yZC5uYW1lfWAsXHJcbiAgICAgICAgb25DbGljazogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcIiMjZXZlbnRIYW5kbGVyVHlwZVwiOiBcIlNhdmUgUmVjb3JkXCIsXHJcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcclxuICAgICAgICAgICAgICBzdGF0ZVBhdGg6IGBjdXJyZW50JHtyZWNvcmQubmFtZX1gLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9KSxcclxuICAgICAgcGFkZGVkUGFuZWxGb3JCdXR0b24oe1xyXG4gICAgICAgIF9jb21wb25lbnQ6IFwiY29tbW9uL1NlY29uZGFyeSBCdXR0b25cIixcclxuICAgICAgICBjb250ZW50VGV4dDogYENhbmNlbGAsXHJcbiAgICAgICAgb25DbGljazogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBcIiMjZXZlbnRIYW5kbGVyVHlwZVwiOiBcIlNhdmUgUmVjb3JkXCIsXHJcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcclxuICAgICAgICAgICAgICBzdGF0ZVBhdGg6IGBjdXJyZW50JHtyZWNvcmQubmFtZX1gLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9KSxcclxuICAgIF0sXHJcbiAgfSxcclxufSlcclxuXHJcbmNvbnN0IHBhZGRlZFBhbmVsRm9yQnV0dG9uID0gYnV0dG9uID0+ICh7XHJcbiAgY29udHJvbDoge1xyXG4gICAgX2NvbXBvbmVudDogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9wYW5lbFwiLFxyXG4gICAgcGFkZGluZzogXCIyMHB4XCIsXHJcbiAgICBjb21wb25lbnQ6IGJ1dHRvbixcclxuICB9LFxyXG59KVxyXG4iLCJleHBvcnQgY29uc3QgaW5kZXhUYWJsZXMgPSAoeyBpbmRleGVzLCBoZWxwZXJzIH0pID0+XHJcbiAgaW5kZXhlc1xyXG4gICAgLmZpbHRlcihpID0+IGkucGFyZW50KCkudHlwZSA9PT0gXCJyb290XCIpXHJcbiAgICAubWFwKGkgPT4gaW5kZXhUYWJsZShpLCBoZWxwZXJzKSlcclxuXHJcbmV4cG9ydCBjb25zdCBpbmRleFRhYmxlUHJvcHMgPSAoaW5kZXgsIGhlbHBlcnMpID0+ICh7XHJcbiAgZGF0YToge1xyXG4gICAgXCIjI2Jic3RhdGVcIjogaW5kZXgubm9kZUtleSgpLFxyXG4gICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcclxuICB9LFxyXG4gIGNvbHVtbnM6IGhlbHBlcnMuaW5kZXhTY2hlbWEoaW5kZXgpLm1hcChjb2x1bW4pLFxyXG59KVxyXG5cclxuY29uc3QgaW5kZXhUYWJsZSA9IChpbmRleCwgaGVscGVycykgPT4gKHtcclxuICBuYW1lOiBgdGFibGVzLyR7aW5kZXgubmFtZX0gVGFibGVgLFxyXG4gIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL3RhYmxlXCIsXHJcbiAgcHJvcHM6IGluZGV4VGFibGVQcm9wcyhpbmRleCwgaGVscGVycyksXHJcbn0pXHJcblxyXG5jb25zdCBjb2x1bW4gPSBjb2wgPT4gKHtcclxuICB0aXRsZTogY29sLm5hbWUsXHJcbiAgdmFsdWU6IHtcclxuICAgIFwiIyNiYnN0YXRlXCI6IGNvbC5uYW1lLFxyXG4gICAgXCIjI2Jic291cmNlXCI6IFwiY29udGV4dFwiLFxyXG4gIH0sXHJcbn0pXHJcbiIsImltcG9ydCB7IGluZGV4VGFibGVzIH0gZnJvbSBcIi4vaW5kZXhUYWJsZXNHZW5lcmF0b3JcIlxyXG5cclxuZXhwb3J0IGNvbnN0IG5hdiA9ICh7IHJlY29yZHMsIGluZGV4ZXMsIGhlbHBlcnMgfSkgPT4gW1xyXG4gIHtcclxuICAgIG5hbWU6IFwiQXBwbGljYXRpb24gUm9vdFwiLFxyXG4gICAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvbmF2XCIsXHJcbiAgICBwcm9wczoge1xyXG4gICAgICBpdGVtczogaW5kZXhlcy5maWx0ZXIoaSA9PiBpLnBhcmVudCgpLnR5cGUgPT09IFwicm9vdFwiKS5tYXAobmF2SXRlbSksXHJcbiAgICAgIHNlbGVjdGVkSXRlbToge1xyXG4gICAgICAgIFwiIyNiYnN0YXRlXCI6IFwic2VsZWN0ZWROYXZcIixcclxuICAgICAgICBcIiMjYmJzdGF0ZWZhbGxiYWNrXCI6IHJlY29yZHNbMF0uY29sbGVjdGlvbk5hbWUsXHJcbiAgICAgICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgfSxcclxuICAuLi5pbmRleFRhYmxlcyh7IHJlY29yZHMsIGluZGV4ZXMsIGhlbHBlcnMgfSksXHJcbl1cclxuXHJcbmV4cG9ydCBjb25zdCBuYXZJdGVtID0gaW5kZXggPT4gKHtcclxuICB0aXRsZTogaW5kZXgubmFtZSxcclxuICBjb21wb25lbnQ6IHtcclxuICAgIF9jb21wb25lbnQ6IGB0YWJsZXMvJHtpbmRleC5uYW1lfSBUYWJsZWAsXHJcbiAgfSxcclxufSlcclxuIiwiaW1wb3J0IHsgZm9ybXMgfSBmcm9tIFwiLi9mb3Jtc0dlbmVyYXRvclwiXHJcbmltcG9ydCB7IG5hdiB9IGZyb20gXCIuL25hdkdlbmVyYXRvclwiXHJcblxyXG5leHBvcnQgY29uc3QgYXBwID0gcGFyYW1zID0+IHtcclxuICByZXR1cm4gWy4uLm5hdihwYXJhbXMpLCAuLi5mb3JtcyhwYXJhbXMpXVxyXG59XHJcbiIsImV4cG9ydCBjb25zdCBidXR0b25zID0gKCkgPT4gW1xyXG4gIHtcclxuICAgIG5hbWU6IFwiY29tbW9uL1ByaW1hcnkgQnV0dG9uXCIsXHJcbiAgICBkZXNjcmlwdGlvbjogXCJhIHN0eWxlZCBidXR0b25cIixcclxuICAgIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2J1dHRvblwiLFxyXG4gICAgcHJvcHM6IHtcclxuICAgICAgcGFkZGluZzogXCI1cHggN3B4XCIsXHJcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgI0VFRVwiLFxyXG4gICAgICBjb2xvcjogXCIjNUY2MzY4XCIsXHJcbiAgICAgIGJhY2tncm91bmQ6IFwiIyNmMmYyZjJcIixcclxuICAgICAgaG92ZXJDb2xvcjogXCJibGFja1wiLFxyXG4gICAgICBob3ZlckJhY2tncm91bmQ6IFwiI2NjY2NjY1wiLFxyXG4gICAgfSxcclxuICB9LFxyXG4gIHtcclxuICAgIG5hbWU6IFwiY29tbW9uL1NlY29uZGFyeSBCdXR0b25cIixcclxuICAgIGRlc2NyaXB0aW9uOiBcImEgc3R5bGVkIGJ1dHRvblwiLFxyXG4gICAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvYnV0dG9uXCIsXHJcbiAgICBwcm9wczoge1xyXG4gICAgICBwYWRkaW5nOiBcIjVweCA3cHhcIixcclxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCAjRUVFXCIsXHJcbiAgICAgIGNvbG9yOiBcIiM1RjYzNjhcIixcclxuICAgICAgYmFja2dyb3VuZDogXCIjI2YyZjJmMlwiLFxyXG4gICAgICBob3ZlckNvbG9yOiBcImJsYWNrXCIsXHJcbiAgICAgIGhvdmVyQmFja2dyb3VuZDogXCIjY2NjY2NjXCIsXHJcbiAgICB9LFxyXG4gIH0sXHJcbl1cclxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFZLE1BQUMsT0FBTyxHQUFHLE1BQU07RUFDM0I7SUFDRSxJQUFJLEVBQUUsV0FBVztJQUNqQixXQUFXLEVBQUUsVUFBVTtJQUN2QixRQUFRLEVBQUUsb0NBQW9DO0lBQzlDLEtBQUssRUFBRTtNQUNMLElBQUksRUFBRSxNQUFNO0tBQ2I7R0FDRjtFQUNEO0lBQ0UsSUFBSSxFQUFFLFdBQVc7SUFDakIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsUUFBUSxFQUFFLG9DQUFvQztJQUM5QyxLQUFLLEVBQUU7TUFDTCxJQUFJLEVBQUUsTUFBTTtLQUNiO0dBQ0Y7RUFDRDtJQUNFLElBQUksRUFBRSxXQUFXO0lBQ2pCLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLFFBQVEsRUFBRSxvQ0FBb0M7SUFDOUMsS0FBSyxFQUFFO01BQ0wsSUFBSSxFQUFFLFdBQVc7S0FDbEI7R0FDRjtFQUNEO0lBQ0UsSUFBSSxFQUFFLFdBQVc7SUFDakIsV0FBVyxFQUFFLFVBQVU7SUFDdkIsUUFBUSxFQUFFLG9DQUFvQztJQUM5QyxLQUFLLEVBQUU7TUFDTCxJQUFJLEVBQUUsV0FBVztLQUNsQjtHQUNGO0NBQ0Y7O0FDL0JXLE1BQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxPQUFP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 +//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdG9ycy5qcyIsInNvdXJjZXMiOlsiLi4vc3JjL2dlbmVyYXRvcnMvaGVhZGVyc0dlbmVyYXRvci5qcyIsIi4uL3NyYy9nZW5lcmF0b3JzL2Zvcm1zR2VuZXJhdG9yLmpzIiwiLi4vc3JjL2dlbmVyYXRvcnMvaW5kZXhUYWJsZXNHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9uYXZHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9hcHBHZW5lcmF0b3IuanMiLCIuLi9zcmMvZ2VuZXJhdG9ycy9idXR0b25zR2VuZXJhdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBoZWFkZXJzID0gKCkgPT4gW1xuICB7XG4gICAgbmFtZTogXCJjb21tb24vSDFcIixcbiAgICBkZXNjcmlwdGlvbjogXCJIZWFkZXIgMVwiLFxuICAgIGluaGVyaXRzOiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL3RleHRcIixcbiAgICBwcm9wczoge1xuICAgICAgZm9udDogXCIyMHB0XCIsXG4gICAgfSxcbiAgfSxcbiAge1xuICAgIG5hbWU6IFwiY29tbW9uL0gyXCIsXG4gICAgZGVzY3JpcHRpb246IFwiSGVhZGVyIDJcIixcbiAgICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy90ZXh0XCIsXG4gICAgcHJvcHM6IHtcbiAgICAgIGZvbnQ6IFwiMTVwdFwiLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcImNvbW1vbi9IM1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkhlYWRlciAzXCIsXG4gICAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvdGV4dFwiLFxuICAgIHByb3BzOiB7XG4gICAgICBmb250OiBcIjEycHQgYm9sZFwiLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcImNvbW1vbi9INFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkhlYWRlciA0XCIsXG4gICAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvdGV4dFwiLFxuICAgIHByb3BzOiB7XG4gICAgICBmb250OiBcIjEwcHQgYm9sZFwiLFxuICAgIH0sXG4gIH0sXG5dXG4iLCJpbXBvcnQgeyBoZWFkZXJzIH0gZnJvbSBcIi4vaGVhZGVyc0dlbmVyYXRvclwiXG5cbmV4cG9ydCBjb25zdCBmb3JtcyA9ICh7IHJlY29yZHMsIGluZGV4ZXMgfSkgPT4gW1xuICAuLi5oZWFkZXJzKHsgcmVjb3JkcywgaW5kZXhlcyB9KSxcbiAgLi4ucmVjb3Jkcy5tYXAocm9vdCksXG5dXG5cbmNvbnN0IHJvb3QgPSByZWNvcmQgPT4gKHtcbiAgbmFtZTogYCR7cmVjb3JkLm5hbWV9IEZvcm1gLFxuICBkZXNjcmlwdGlvbjogYEFsbCBmaWVsZHMgb24gcmVjb3JkICcke3JlY29yZC5ub2RlS2V5KCl9JyBgLFxuICBpbmhlcml0czogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9zdGFja3BhbmVsXCIsXG4gIHByb3BzOiB7XG4gICAgZGlyZWN0aW9uOiBcInZlcnRpY2FsXCIsXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHtcbiAgICAgICAgY29udHJvbDoge1xuICAgICAgICAgIF9jb21wb25lbnQ6IFwiY29tbW9uL0gxXCIsXG4gICAgICAgICAgdmFsdWU6IGBFZGl0ICR7cmVjb3JkLm5hbWV9YCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmb3JtKHJlY29yZCksXG4gICAgICBzYXZlQ2FuY2VsQnV0dG9ucyhyZWNvcmQpLFxuICAgIF0sXG4gIH0sXG59KVxuXG5jb25zdCBmb3JtID0gcmVjb3JkID0+ICh7XG4gIGNvbnRyb2w6IHtcbiAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL2Zvcm1cIixcbiAgICBmb3JtQ29udHJvbHM6IHJlY29yZC5maWVsZHMubWFwKGYgPT4gKHtcbiAgICAgIGxhYmVsOiBmLmxhYmVsLFxuICAgICAgY29udHJvbDoge1xuICAgICAgICBfY29tcG9uZW50OiBcIkBidWRpYmFzZS9zdGFuZGFyZC1jb21wb25lbnRzL3RleHRib3hcIixcbiAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICBcIiMjYmJzdGF0ZVwiOiBgY3VycmVudCR7cmVjb3JkLm5hbWV9LiR7Zi5uYW1lfWAsXG4gICAgICAgICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSkpLFxuICB9LFxufSlcblxuY29uc3Qgc2F2ZUNhbmNlbEJ1dHRvbnMgPSByZWNvcmQgPT4gKHtcbiAgY29udHJvbDoge1xuICAgIF9jb21wb25lbnQ6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvc3RhY2twYW5lbFwiLFxuICAgIGRpcmVjdGlvbjogXCJob3Jpem9udGFsXCIsXG4gICAgY2hpbGRyZW46IFtcbiAgICAgIHBhZGRlZFBhbmVsRm9yQnV0dG9uKHtcbiAgICAgICAgX2NvbXBvbmVudDogXCJjb21tb24vUHJpbWFyeSBCdXR0b25cIixcbiAgICAgICAgY29udGVudFRleHQ6IGBTYXZlICR7cmVjb3JkLm5hbWV9YCxcbiAgICAgICAgb25DbGljazogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2F2ZSBSZWNvcmRcIixcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgc3RhdGVQYXRoOiBgY3VycmVudCR7cmVjb3JkLm5hbWV9YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgICAgcGFkZGVkUGFuZWxGb3JCdXR0b24oe1xuICAgICAgICBfY29tcG9uZW50OiBcImNvbW1vbi9TZWNvbmRhcnkgQnV0dG9uXCIsXG4gICAgICAgIGNvbnRlbnRUZXh0OiBgQ2FuY2VsYCxcbiAgICAgICAgb25DbGljazogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIFwiIyNldmVudEhhbmRsZXJUeXBlXCI6IFwiU2F2ZSBSZWNvcmRcIixcbiAgICAgICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICAgICAgc3RhdGVQYXRoOiBgY3VycmVudCR7cmVjb3JkLm5hbWV9YCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pLFxuICAgIF0sXG4gIH0sXG59KVxuXG5jb25zdCBwYWRkZWRQYW5lbEZvckJ1dHRvbiA9IGJ1dHRvbiA9PiAoe1xuICBjb250cm9sOiB7XG4gICAgX2NvbXBvbmVudDogXCJAYnVkaWJhc2Uvc3RhbmRhcmQtY29tcG9uZW50cy9wYW5lbFwiLFxuICAgIHBhZGRpbmc6IFwiMjBweFwiLFxuICAgIGNvbXBvbmVudDogYnV0dG9uLFxuICB9LFxufSlcbiIsImV4cG9ydCBjb25zdCBpbmRleFRhYmxlcyA9ICh7IGluZGV4ZXMsIGhlbHBlcnMgfSkgPT5cbiAgaW5kZXhlc1xuICAgIC5maWx0ZXIoaSA9PiBpLnBhcmVudCgpLnR5cGUgPT09IFwicm9vdFwiKVxuICAgIC5tYXAoaSA9PiBpbmRleFRhYmxlKGksIGhlbHBlcnMpKVxuXG5leHBvcnQgY29uc3QgaW5kZXhUYWJsZVByb3BzID0gKGluZGV4LCBoZWxwZXJzKSA9PiAoe1xuICBkYXRhOiB7XG4gICAgXCIjI2Jic3RhdGVcIjogaW5kZXgubm9kZUtleSgpLFxuICAgIFwiIyNiYnNvdXJjZVwiOiBcInN0b3JlXCIsXG4gIH0sXG4gIGNvbHVtbnM6IGhlbHBlcnMuaW5kZXhTY2hlbWEoaW5kZXgpLm1hcChjb2x1bW4pLFxufSlcblxuY29uc3QgaW5kZXhUYWJsZSA9IChpbmRleCwgaGVscGVycykgPT4gKHtcbiAgbmFtZTogYHRhYmxlcy8ke2luZGV4Lm5hbWV9IFRhYmxlYCxcbiAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvdGFibGVcIixcbiAgcHJvcHM6IGluZGV4VGFibGVQcm9wcyhpbmRleCwgaGVscGVycyksXG59KVxuXG5jb25zdCBjb2x1bW4gPSBjb2wgPT4gKHtcbiAgdGl0bGU6IGNvbC5uYW1lLFxuICB2YWx1ZToge1xuICAgIFwiIyNiYnN0YXRlXCI6IGNvbC5uYW1lLFxuICAgIFwiIyNiYnNvdXJjZVwiOiBcImNvbnRleHRcIixcbiAgfSxcbn0pXG4iLCJpbXBvcnQgeyBpbmRleFRhYmxlcyB9IGZyb20gXCIuL2luZGV4VGFibGVzR2VuZXJhdG9yXCJcblxuZXhwb3J0IGNvbnN0IG5hdiA9ICh7IHJlY29yZHMsIGluZGV4ZXMsIGhlbHBlcnMgfSkgPT4gW1xuICB7XG4gICAgbmFtZTogXCJBcHBsaWNhdGlvbiBSb290XCIsXG4gICAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvbmF2XCIsXG4gICAgcHJvcHM6IHtcbiAgICAgIGl0ZW1zOiBpbmRleGVzLmZpbHRlcihpID0+IGkucGFyZW50KCkudHlwZSA9PT0gXCJyb290XCIpLm1hcChuYXZJdGVtKSxcbiAgICAgIHNlbGVjdGVkSXRlbToge1xuICAgICAgICBcIiMjYmJzdGF0ZVwiOiBcInNlbGVjdGVkTmF2XCIsXG4gICAgICAgIFwiIyNiYnN0YXRlZmFsbGJhY2tcIjogcmVjb3Jkc1swXS5jb2xsZWN0aW9uTmFtZSxcbiAgICAgICAgXCIjI2Jic291cmNlXCI6IFwic3RvcmVcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbiAgLi4uaW5kZXhUYWJsZXMoeyByZWNvcmRzLCBpbmRleGVzLCBoZWxwZXJzIH0pLFxuXVxuXG5leHBvcnQgY29uc3QgbmF2SXRlbSA9IGluZGV4ID0+ICh7XG4gIHRpdGxlOiBpbmRleC5uYW1lLFxuICBjb21wb25lbnQ6IHtcbiAgICBfY29tcG9uZW50OiBgdGFibGVzLyR7aW5kZXgubmFtZX0gVGFibGVgLFxuICB9LFxufSlcbiIsImltcG9ydCB7IGZvcm1zIH0gZnJvbSBcIi4vZm9ybXNHZW5lcmF0b3JcIlxuaW1wb3J0IHsgbmF2IH0gZnJvbSBcIi4vbmF2R2VuZXJhdG9yXCJcblxuZXhwb3J0IGNvbnN0IGFwcCA9IHBhcmFtcyA9PiB7XG4gIHJldHVybiBbLi4ubmF2KHBhcmFtcyksIC4uLmZvcm1zKHBhcmFtcyldXG59XG4iLCJleHBvcnQgY29uc3QgYnV0dG9ucyA9ICgpID0+IFtcbiAge1xuICAgIG5hbWU6IFwiY29tbW9uL1ByaW1hcnkgQnV0dG9uXCIsXG4gICAgZGVzY3JpcHRpb246IFwiYSBzdHlsZWQgYnV0dG9uXCIsXG4gICAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvYnV0dG9uXCIsXG4gICAgcHJvcHM6IHtcbiAgICAgIHBhZGRpbmc6IFwiNXB4IDdweFwiLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCAjRUVFXCIsXG4gICAgICBjb2xvcjogXCIjNUY2MzY4XCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiMjZjJmMmYyXCIsXG4gICAgICBob3ZlckNvbG9yOiBcImJsYWNrXCIsXG4gICAgICBob3ZlckJhY2tncm91bmQ6IFwiI2NjY2NjY1wiLFxuICAgIH0sXG4gIH0sXG4gIHtcbiAgICBuYW1lOiBcImNvbW1vbi9TZWNvbmRhcnkgQnV0dG9uXCIsXG4gICAgZGVzY3JpcHRpb246IFwiYSBzdHlsZWQgYnV0dG9uXCIsXG4gICAgaW5oZXJpdHM6IFwiQGJ1ZGliYXNlL3N0YW5kYXJkLWNvbXBvbmVudHMvYnV0dG9uXCIsXG4gICAgcHJvcHM6IHtcbiAgICAgIHBhZGRpbmc6IFwiNXB4IDdweFwiLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCAjRUVFXCIsXG4gICAgICBjb2xvcjogXCIjNUY2MzY4XCIsXG4gICAgICBiYWNrZ3JvdW5kOiBcIiMjZjJmMmYyXCIsXG4gICAgICBob3ZlckNvbG9yOiBcImJsYWNrXCIsXG4gICAgICBob3ZlckJhY2tncm91bmQ6IFwiI2NjY2NjY1wiLFxuICAgIH0sXG4gIH0sXG5dXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQVksTUFBQyxPQUFPLEdBQUcsTUFBTTtBQUM3QixFQUFFO0FBQ0YsSUFBSSxJQUFJLEVBQUUsV0FBVztBQUNyQixJQUFJLFdBQVcsRUFBRSxVQUFVO0FBQzNCLElBQUksUUFBUSxFQUFFLG9DQUFvQztBQUNsRCxJQUFJLEtBQUssRUFBRTtBQUNYLE1BQU0sSUFBSSxFQUFFLE1BQU07QUFDbEIsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFO0FBQ0YsSUFBSSxJQUFJLEVBQUUsV0FBVztBQUNyQixJQUFJLFdBQVcsRUFBRSxVQUFVO0FBQzNCLElBQUksUUFBUSxFQUFFLG9DQUFvQztBQUNsRCxJQUFJLEtBQUssRUFBRTtBQUNYLE1BQU0sSUFBSSxFQUFFLE1BQU07QUFDbEIsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFO0FBQ0YsSUFBSSxJQUFJLEVBQUUsV0FBVztBQUNyQixJQUFJLFdBQVcsRUFBRSxVQUFVO0FBQzNCLElBQUksUUFBUSxFQUFFLG9DQUFvQztBQUNsRCxJQUFJLEtBQUssRUFBRTtBQUNYLE1BQU0sSUFBSSxFQUFFLFdBQVc7QUFDdkIsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFO0FBQ0YsSUFBSSxJQUFJLEVBQUUsV0FBVztBQUNyQixJQUFJLFdBQVcsRUFBRSxVQUFVO0FBQzNCLElBQUksUUFBUSxFQUFFLG9DQUFvQztBQUNsRCxJQUFJLEtBQUssRUFBRTtBQUNYLE1BQU0sSUFBSSxFQUFFLFdBQVc7QUFDdkIsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUMvQlksTUFBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSztBQUMvQyxFQUFFLEdBQUcsT0FBTyxDQUFDLEFBQW9CLENBQUM7QUFDbEMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO0FBQ3RCLEVBQUM7QUFDRDtBQUNBLE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSztBQUN4QixFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDN0IsRUFBRSxXQUFXLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzVELEVBQUUsUUFBUSxFQUFFLDBDQUEwQztBQUN0RCxFQUFFLEtBQUssRUFBRTtBQUNULElBQUksU0FBUyxFQUFFLFVBQVU7QUFDekIsSUFBSSxRQUFRLEVBQUU7QUFDZCxNQUFNO0FBQ04sUUFBUSxPQUFPLEVBQUU7QUFDakIsVUFBVSxVQUFVLEVBQUUsV0FBVztBQUNqQyxVQUFVLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDdEMsU0FBUztBQUNULE9BQU87QUFDUCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDbEIsTUFBTSxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7QUFDL0IsS0FBSztBQUNMLEdBQUc7QUFDSCxDQUFDLEVBQUM7QUFDRjtBQUNBLE1BQU0sSUFBSSxHQUFHLE1BQU0sS0FBSztBQUN4QixFQUFFLE9BQU8sRUFBRTtBQUNYLElBQUksVUFBVSxFQUFFLG9DQUFvQztBQUNwRCxJQUFJLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUs7QUFDMUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7QUFDcEIsTUFBTSxPQUFPLEVBQUU7QUFDZixRQUFRLFVBQVUsRUFBRSx1Q0FBdUM7QUFDM0QsUUFBUSxLQUFLLEVBQUU7QUFDZixVQUFVLFdBQVcsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDeEQsVUFBVSxZQUFZLEVBQUUsT0FBTztBQUMvQixTQUFTO0FBQ1QsT0FBTztBQUNQLEtBQUssQ0FBQyxDQUFDO0FBQ1AsR0FBRztBQUNILENBQUMsRUFBQztBQUNGO0FBQ0EsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLEtBQUs7QUFDckMsRUFBRSxPQUFPLEVBQUU7QUFDWCxJQUFJLFVBQVUsRUFBRSwwQ0FBMEM7QUFDMUQsSUFBSSxTQUFTLEVBQUUsWUFBWTtBQUMzQixJQUFJLFFBQVEsRUFBRTtBQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFDM0IsUUFBUSxVQUFVLEVBQUUsdUJBQXVCO0FBQzNDLFFBQVEsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMxQyxRQUFRLE9BQU8sRUFBRTtBQUNqQixVQUFVO0FBQ1YsWUFBWSxvQkFBb0IsRUFBRSxhQUFhO0FBQy9DLFlBQVksVUFBVSxFQUFFO0FBQ3hCLGNBQWMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoRCxhQUFhO0FBQ2IsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPLENBQUM7QUFDUixNQUFNLG9CQUFvQixDQUFDO0FBQzNCLFFBQVEsVUFBVSxFQUFFLHlCQUF5QjtBQUM3QyxRQUFRLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQztBQUM3QixRQUFRLE9BQU8sRUFBRTtBQUNqQixVQUFVO0FBQ1YsWUFBWSxvQkFBb0IsRUFBRSxhQUFhO0FBQy9DLFlBQVksVUFBVSxFQUFFO0FBQ3hCLGNBQWMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoRCxhQUFhO0FBQ2IsV0FBVztBQUNYLFNBQVM7QUFDVCxPQUFPLENBQUM7QUFDUixLQUFLO0FBQ0wsR0FBRztBQUNILENBQUMsRUFBQztBQUNGO0FBQ0EsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLEtBQUs7QUFDeEMsRUFBRSxPQUFPLEVBQUU7QUFDWCxJQUFJLFVBQVUsRUFBRSxxQ0FBcUM7QUFDckQsSUFBSSxPQUFPLEVBQUUsTUFBTTtBQUNuQixJQUFJLFNBQVMsRUFBRSxNQUFNO0FBQ3JCLEdBQUc7QUFDSCxDQUFDLENBQUM7O0FDakZVLE1BQUMsV0FBVyxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ2hELEVBQUUsT0FBTztBQUNULEtBQUssTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQztBQUM1QyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBQztBQUNyQztBQUNBLEFBQU8sTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxNQUFNO0FBQ3BELEVBQUUsSUFBSSxFQUFFO0FBQ1IsSUFBSSxXQUFXLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRTtBQUNoQyxJQUFJLFlBQVksRUFBRSxPQUFPO0FBQ3pCLEdBQUc7QUFDSCxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7QUFDakQsQ0FBQyxFQUFDO0FBQ0Y7QUFDQSxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQUssRUFBRSxPQUFPLE1BQU07QUFDeEMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7QUFDcEMsRUFBRSxRQUFRLEVBQUUscUNBQXFDO0FBQ2pELEVBQUUsS0FBSyxFQUFFLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO0FBQ3hDLENBQUMsRUFBQztBQUNGO0FBQ0EsTUFBTSxNQUFNLEdBQUcsR0FBRyxLQUFLO0FBQ3ZCLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJO0FBQ2pCLEVBQUUsS0FBSyxFQUFFO0FBQ1QsSUFBSSxXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUk7QUFDekIsSUFBSSxZQUFZLEVBQUUsU0FBUztBQUMzQixHQUFHO0FBQ0gsQ0FBQyxDQUFDOztBQ3ZCVSxNQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSztBQUN0RCxFQUFFO0FBQ0YsSUFBSSxJQUFJLEVBQUUsa0JBQWtCO0FBQzVCLElBQUksUUFBUSxFQUFFLG1DQUFtQztBQUNqRCxJQUFJLEtBQUssRUFBRTtBQUNYLE1BQU0sS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztBQUN6RSxNQUFNLFlBQVksRUFBRTtBQUNwQixRQUFRLFdBQVcsRUFBRSxhQUFhO0FBQ2xDLFFBQVEsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWM7QUFDdEQsUUFBUSxZQUFZLEVBQUUsT0FBTztBQUM3QixPQUFPO0FBQ1AsS0FBSztBQUNMLEdBQUc7QUFDSCxFQUFFLEdBQUcsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUMvQyxFQUFDO0FBQ0Q7QUFDQSxBQUFPLE1BQU0sT0FBTyxHQUFHLEtBQUssS0FBSztBQUNqQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSTtBQUNuQixFQUFFLFNBQVMsRUFBRTtBQUNiLElBQUksVUFBVSxFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0FBQzVDLEdBQUc7QUFDSCxDQUFDLENBQUM7O0FDcEJVLE1BQUMsR0FBRyxHQUFHLE1BQU0sSUFBSTtBQUM3QixFQUFFLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUMzQyxDQUFDOztBQ0xXLE1BQUMsT0FBTyxHQUFHLE1BQU07QUFDN0IsRUFBRTtBQUNGLElBQUksSUFBSSxFQUFFLHVCQUF1QjtBQUNqQyxJQUFJLFdBQVcsRUFBRSxpQkFBaUI7QUFDbEMsSUFBSSxRQUFRLEVBQUUsc0NBQXNDO0FBQ3BELElBQUksS0FBSyxFQUFFO0FBQ1gsTUFBTSxPQUFPLEVBQUUsU0FBUztBQUN4QixNQUFNLE1BQU0sRUFBRSxnQkFBZ0I7QUFDOUIsTUFBTSxLQUFLLEVBQUUsU0FBUztBQUN0QixNQUFNLFVBQVUsRUFBRSxVQUFVO0FBQzVCLE1BQU0sVUFBVSxFQUFFLE9BQU87QUFDekIsTUFBTSxlQUFlLEVBQUUsU0FBUztBQUNoQyxLQUFLO0FBQ0wsR0FBRztBQUNILEVBQUU7QUFDRixJQUFJLElBQUksRUFBRSx5QkFBeUI7QUFDbkMsSUFBSSxXQUFXLEVBQUUsaUJBQWlCO0FBQ2xDLElBQUksUUFBUSxFQUFFLHNDQUFzQztBQUNwRCxJQUFJLEtBQUssRUFBRTtBQUNYLE1BQU0sT0FBTyxFQUFFLFNBQVM7QUFDeEIsTUFBTSxNQUFNLEVBQUUsZ0JBQWdCO0FBQzlCLE1BQU0sS0FBSyxFQUFFLFNBQVM7QUFDdEIsTUFBTSxVQUFVLEVBQUUsVUFBVTtBQUM1QixNQUFNLFVBQVUsRUFBRSxPQUFPO0FBQ3pCLE1BQU0sZUFBZSxFQUFFLFNBQVM7QUFDaEMsS0FBSztBQUNMLEdBQUc7QUFDSCxDQUFDOzs7OyJ9