182 lines
16 KiB
Plaintext
182 lines
16 KiB
Plaintext
import { createHotContext as __vite__createHotContext } from "/_nuxt/@vite/client";import.meta.hot = __vite__createHotContext("/components/integrations/acc/FileSelector.vue");import { default as __nuxt_component_0 } from "/_nuxt/components/integrations/acc/FolderNode.vue";
|
|
import { default as __nuxt_component_1 } from "/_nuxt/components/integrations/acc/FolderContents.vue";
|
|
/* Injection by vite-plugin-vue-inspector Start */
|
|
import { createElementVNode as __createElementVNode,createElementBlock as __createElementBlock,createBlock as __createBlock } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"
|
|
function _interopVNode(vnode) {
|
|
if (vnode && vnode.props && 'data-v-inspector' in vnode.props) {
|
|
const data = vnode.props['data-v-inspector']
|
|
delete vnode.props['data-v-inspector']
|
|
Object.defineProperty(vnode.props, '__v_inspector', { value: data, enumerable: false })
|
|
}
|
|
return vnode
|
|
}
|
|
function _createElementVNode(...args) { return _interopVNode(__createElementVNode(...args)) }
|
|
function _createElementBlock(...args) { return _interopVNode(__createElementBlock(...args)) }
|
|
function _createBlock(...args) { return _interopVNode(__createBlock(...args)) }
|
|
/* Injection by vite-plugin-vue-inspector End */
|
|
import { defineComponent as _defineComponent } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
import { ref, watch } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
import { useAcc } from "/_nuxt/lib/acc/composables/useAccFiles.ts";
|
|
import { useAccFolder } from "/_nuxt/lib/acc/composables/useAccFolderData.ts";
|
|
|
|
import { computed } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
const _sfc_main = /* @__PURE__ */ _defineComponent({
|
|
__name: "IntegrationsAccFileSelector",
|
|
props: {
|
|
hubId: { type: String, required: true },
|
|
projectId: { type: String, required: true },
|
|
tokens: { type: null, required: true }
|
|
},
|
|
emits: ["file-selected"],
|
|
setup(__props, { expose: __expose, emit: __emit }) {
|
|
__expose();
|
|
const props = __props;
|
|
const emit = __emit;
|
|
const { init, rootProjectFolderId } = useAcc();
|
|
const rootFolder = useAccFolder(props.projectId, rootProjectFolderId, props.tokens);
|
|
const rootFolderChildren = computed(
|
|
() => rootFolder.value?.children?.items?.filter(
|
|
(child) => child.name === "Project Files"
|
|
) ?? []
|
|
);
|
|
const selectedFolderId = ref();
|
|
const selectedFileId = ref();
|
|
const onFolderClick = async (folderId) => {
|
|
selectedFolderId.value = folderId;
|
|
selectedFileId.value = void 0;
|
|
};
|
|
const onFileSelected = (fileId, fileVersion) => {
|
|
selectedFileId.value = fileId;
|
|
emit("file-selected", fileId, fileVersion);
|
|
};
|
|
watch(
|
|
() => props.projectId,
|
|
async (newProjectId) => {
|
|
selectedFolderId.value = void 0;
|
|
selectedFileId.value = void 0;
|
|
if (newProjectId && props.tokens) {
|
|
await init(props.hubId, newProjectId, props.tokens.access_token);
|
|
}
|
|
},
|
|
{ immediate: true }
|
|
);
|
|
watch(rootFolderChildren, (newValue) => {
|
|
selectedFolderId.value = newValue.at(0)?.id;
|
|
});
|
|
const __returned__ = { props, emit, init, rootProjectFolderId, rootFolder, rootFolderChildren, selectedFolderId, selectedFileId, onFolderClick, onFileSelected };
|
|
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
return __returned__;
|
|
}
|
|
});
|
|
import { createCommentVNode as _createCommentVNode, openBlock as _openBlock, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
const _hoisted_1 = {
|
|
class: "flex flex-row h-full overflow-hidden border rounded-lg bg-foundation",
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:2:3"
|
|
};
|
|
const _hoisted_2 = {
|
|
class: "w-1/4 p-2 pt-0 h-80 overflow-y-auto border-r",
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:4:5"
|
|
};
|
|
const _hoisted_3 = {
|
|
key: 0,
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:10:7"
|
|
};
|
|
const _hoisted_4 = {
|
|
key: 1,
|
|
class: "space-y-1 pt-1",
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:11:7"
|
|
};
|
|
const _hoisted_5 = {
|
|
class: "w-3/4 h-80 p-2 pt-0 overflow-y-auto",
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:27:5"
|
|
};
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
const _component_IntegrationsAccFolderNode = __nuxt_component_0;
|
|
const _component_IntegrationsAccFolderContents = __nuxt_component_1;
|
|
return _openBlock(), _createElementBlock("div", _hoisted_1, [
|
|
_createCommentVNode(" Left Pane for tree "),
|
|
_createElementVNode("div", _hoisted_2, [
|
|
_cache[0] || (_cache[0] = _createElementVNode(
|
|
"div",
|
|
{
|
|
class: "z-10 sticky top-0 bg-foundation pb-1",
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:5:7"
|
|
},
|
|
[
|
|
_createElementVNode("h3", {
|
|
class: "font-semibold pt-2 text-lg text-center",
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:6:9"
|
|
}, "Folders"),
|
|
_createElementVNode("hr", { "data-v-inspector": "components/integrations/acc/FileSelector.vue:7:9" })
|
|
],
|
|
-1
|
|
/* CACHED */
|
|
)),
|
|
!$setup.rootFolder ? (_openBlock(), _createElementBlock("div", _hoisted_3)) : $setup.rootFolder && $setup.rootFolder.children?.items.length ? (_openBlock(), _createElementBlock("ul", _hoisted_4, [
|
|
(_openBlock(true), _createElementBlock(
|
|
_Fragment,
|
|
null,
|
|
_renderList($setup.rootFolderChildren, (folder) => {
|
|
return _openBlock(), _createBlock(_component_IntegrationsAccFolderNode, {
|
|
key: folder.id,
|
|
"project-id": $props.projectId,
|
|
"folder-id": folder.id,
|
|
tokens: $props.tokens,
|
|
"selected-folder-id": $setup.selectedFolderId,
|
|
onSelect: $setup.onFolderClick,
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:15:9"
|
|
}, null, 8, ["project-id", "folder-id", "tokens", "selected-folder-id"]);
|
|
}),
|
|
128
|
|
/* KEYED_FRAGMENT */
|
|
))
|
|
])) : _createCommentVNode("v-if", true)
|
|
]),
|
|
_createCommentVNode(" Right Pane for content "),
|
|
_createElementVNode("div", _hoisted_5, [
|
|
_cache[1] || (_cache[1] = _createElementVNode(
|
|
"div",
|
|
{
|
|
class: "z-10 sticky top-0 bg-foundation pb-1",
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:28:7"
|
|
},
|
|
[
|
|
_createElementVNode("h3", {
|
|
class: "pt-2 font-semibold text-lg text-center",
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:29:9"
|
|
}, "Files"),
|
|
_createElementVNode("hr", { "data-v-inspector": "components/integrations/acc/FileSelector.vue:30:9" })
|
|
],
|
|
-1
|
|
/* CACHED */
|
|
)),
|
|
!!$setup.selectedFolderId ? (_openBlock(), _createBlock(_component_IntegrationsAccFolderContents, {
|
|
key: `contents-${$setup.selectedFolderId}`,
|
|
"project-id": $props.projectId,
|
|
"folder-id": $setup.selectedFolderId,
|
|
tokens: $props.tokens,
|
|
"selected-file-id": $setup.selectedFileId,
|
|
onSelect: $setup.onFileSelected,
|
|
"data-v-inspector": "components/integrations/acc/FileSelector.vue:33:7"
|
|
}, null, 8, ["project-id", "folder-id", "tokens", "selected-file-id"])) : _createCommentVNode("v-if", true)
|
|
])
|
|
]);
|
|
}
|
|
_sfc_main.__hmrId = "85ba6d90";
|
|
typeof __VUE_HMR_RUNTIME__ !== "undefined" && __VUE_HMR_RUNTIME__.createRecord(_sfc_main.__hmrId, _sfc_main);
|
|
import.meta.hot.on("file-changed", ({ file }) => {
|
|
__VUE_HMR_RUNTIME__.CHANGED_FILE = file;
|
|
});
|
|
import.meta.hot.accept((mod) => {
|
|
if (!mod) return;
|
|
const { default: updated, _rerender_only } = mod;
|
|
if (_rerender_only) {
|
|
__VUE_HMR_RUNTIME__.rerender(updated.__hmrId, updated.render);
|
|
} else {
|
|
__VUE_HMR_RUNTIME__.reload(updated.__hmrId, updated);
|
|
}
|
|
});
|
|
import _export_sfc from "/_nuxt/@id/__x00__plugin-vue:export-helper";
|
|
export default /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/speckle-server/packages/frontend-2/components/integrations/acc/FileSelector.vue"]]);
|
|
|
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUErQ0EsU0FBUyxLQUFLLGFBQWE7QUFDM0IsU0FBUyxjQUFtQztBQUM1QyxTQUFTLG9CQUFvQjs7Ozs7Ozs7Ozs7OztBQUU3QixVQUFNLFFBQVE7QUFNZCxVQUFNLE9BQU87QUFJYixVQUFNLEVBQUUsTUFBTSxvQkFBb0IsSUFBSSxPQUFPO0FBRTdDLFVBQU0sYUFBYSxhQUFhLE1BQU0sV0FBVyxxQkFBcUIsTUFBTSxNQUFNO0FBQ2xGLFVBQU0scUJBQXFCO0FBQUEsTUFDekIsTUFDRSxXQUFXLE9BQU8sVUFBVSxPQUFPO0FBQUEsUUFDakMsQ0FBQyxVQUFVLE1BQU0sU0FBUztBQUFBLE1BQzVCLEtBQUssQ0FBQztBQUFBLElBQ1Y7QUFFQSxVQUFNLG1CQUFtQixJQUF3QjtBQUNqRCxVQUFNLGlCQUFpQixJQUF3QjtBQUUvQyxVQUFNLGdCQUFnQixPQUFPLGFBQXFCO0FBQ2hELHVCQUFpQixRQUFRO0FBQ3pCLHFCQUFlLFFBQVE7QUFBQSxJQUN6QjtBQUVBLFVBQU0saUJBQWlCLENBQUMsUUFBZ0IsZ0JBQWdDO0FBQ3RFLHFCQUFlLFFBQVE7QUFDdkIsV0FBSyxpQkFBaUIsUUFBUSxXQUFXO0FBQUEsSUFDM0M7QUFHQTtBQUFBLE1BQ0UsTUFBTSxNQUFNO0FBQUEsTUFDWixPQUFPLGlCQUFpQjtBQUN0Qix5QkFBaUIsUUFBUTtBQUN6Qix1QkFBZSxRQUFRO0FBQ3ZCLFlBQUksZ0JBQWdCLE1BQU0sUUFBUTtBQUNoQyxnQkFBTSxLQUFLLE1BQU0sT0FBTyxjQUFjLE1BQU0sT0FBTyxZQUFZO0FBQUEsUUFDakU7QUFBQSxNQUNGO0FBQUEsTUFDQSxFQUFFLFdBQVcsS0FBSztBQUFBLElBQ3BCO0FBRUEsVUFBTSxvQkFBb0IsQ0FBQyxhQUFhO0FBQ3RDLHVCQUFpQixRQUFRLFNBQVMsR0FBRyxDQUFDLEdBQUc7QUFBQSxJQUMzQyxDQUFDOzs7Ozs7OztFQWxHTSxPQUFNO0FBQUEsRUFBdUUsb0JBQWlCOzs7RUFFNUYsT0FBTTtBQUFBLEVBQStDLG9CQUFpQjs7OztFQU1qRCxvQkFBaUI7Ozs7RUFHdkMsT0FBTTtBQUFBLEVBQWlCLG9CQUFpQjs7O0VBY3ZDLE9BQU07QUFBQSxFQUFzQyxvQkFBaUI7Ozs7O3VCQXpCcEUsb0JBeUNNLE9BekNOLFlBeUNNO0FBQUEsSUF4Q0o7QUFBQSxJQUNBLG9CQXFCTSxPQXJCTixZQXFCTTtBQUFBLGdDQXBCSjtBQUFBLFFBR007QUFBQTtBQUFBLFVBSEQsT0FBTTtBQUFBLFVBQXVDLG9CQUFpQjtBQUFBOztVQUNqRSxvQkFBbUk7QUFBQSxZQUEvSCxPQUFNO0FBQUEsWUFBeUMsb0JBQWlCO0FBQUEsYUFBbUQsU0FBTztBQUFBLFVBQzlILG9CQUEwRSxRQUF0RSxvQkFBaUIsbURBQWtEO0FBQUE7Ozs7T0FHN0QsbUNBQVosb0JBQW1HLE9BQW5HLFVBQW1HLEtBRXRGLHFCQUFjLGtCQUFXLFVBQVUsTUFBTSx3QkFEdEQsb0JBYUssTUFiTCxZQWFLO0FBQUEsMkJBVEg7QUFBQSxVQVFFO0FBQUE7QUFBQSxzQkFQaUIsMkJBQWtCLENBQTVCLFdBQU07aUNBRGYsYUFRRTtBQUFBLGNBTkMsS0FBSyxPQUFPO0FBQUEsY0FDWixjQUFZO0FBQUEsY0FDWixhQUFXLE9BQU87QUFBQSxjQUNsQixRQUFRO0FBQUEsY0FDUixzQkFBb0I7QUFBQSxjQUNwQixVQUFRO0FBQUEsY0FBZSxvQkFBaUI7QUFBQTs7Ozs7OztJQUkvQztBQUFBLElBQ0Esb0JBZU0sT0FmTixZQWVNO0FBQUEsZ0NBZEo7QUFBQSxRQUdNO0FBQUE7QUFBQSxVQUhELE9BQU07QUFBQSxVQUF1QyxvQkFBaUI7QUFBQTs7VUFDakUsb0JBQWtJO0FBQUEsWUFBOUgsT0FBTTtBQUFBLFlBQXlDLG9CQUFpQjtBQUFBLGFBQW9ELE9BQUs7QUFBQSxVQUM3SCxvQkFBMkUsUUFBdkUsb0JBQWlCLG9EQUFtRDtBQUFBOzs7O1FBSWhFLHlDQURWLGFBUUU7QUFBQSxRQU5DLEtBQUcsWUFBYyx1QkFBZ0I7QUFBQSxRQUNqQyxjQUFZO0FBQUEsUUFDWixhQUFXO0FBQUEsUUFDWCxRQUFRO0FBQUEsUUFDUixvQkFBa0I7QUFBQSxRQUNsQixVQUFRO0FBQUEsUUFBZ0Isb0JBQWlCO0FBQUEiLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VzIjpbIkZpbGVTZWxlY3Rvci52dWUiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtcm93IGgtZnVsbCBvdmVyZmxvdy1oaWRkZW4gYm9yZGVyIHJvdW5kZWQtbGcgYmctZm91bmRhdGlvblwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2ludGVncmF0aW9ucy9hY2MvRmlsZVNlbGVjdG9yLnZ1ZToyOjNcIj5cclxuICAgIDwhLS0gTGVmdCBQYW5lIGZvciB0cmVlIC0tPlxyXG4gICAgPGRpdiBjbGFzcz1cInctMS80IHAtMiBwdC0wIGgtODAgb3ZlcmZsb3cteS1hdXRvIGJvcmRlci1yXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaW50ZWdyYXRpb25zL2FjYy9GaWxlU2VsZWN0b3IudnVlOjQ6NVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiei0xMCBzdGlja3kgdG9wLTAgYmctZm91bmRhdGlvbiBwYi0xXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaW50ZWdyYXRpb25zL2FjYy9GaWxlU2VsZWN0b3IudnVlOjU6N1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImZvbnQtc2VtaWJvbGQgcHQtMiB0ZXh0LWxnIHRleHQtY2VudGVyXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaW50ZWdyYXRpb25zL2FjYy9GaWxlU2VsZWN0b3IudnVlOjY6OVwiPkZvbGRlcnM8L2gzPlxyXG4gICAgICAgIDxociBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9pbnRlZ3JhdGlvbnMvYWNjL0ZpbGVTZWxlY3Rvci52dWU6Nzo5XCIgLz5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8ZGl2IHYtaWY9XCIhcm9vdEZvbGRlclwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2ludGVncmF0aW9ucy9hY2MvRmlsZVNlbGVjdG9yLnZ1ZToxMDo3XCI+PC9kaXY+XHJcbiAgICAgIDx1bFxyXG4gICAgICAgIHYtZWxzZS1pZj1cInJvb3RGb2xkZXIgJiYgcm9vdEZvbGRlci5jaGlsZHJlbj8uaXRlbXMubGVuZ3RoXCJcclxuICAgICAgICBjbGFzcz1cInNwYWNlLXktMSBwdC0xXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaW50ZWdyYXRpb25zL2FjYy9GaWxlU2VsZWN0b3IudnVlOjExOjdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPEludGVncmF0aW9uc0FjY0ZvbGRlck5vZGVcclxuICAgICAgICAgIHYtZm9yPVwiZm9sZGVyIGluIHJvb3RGb2xkZXJDaGlsZHJlblwiXHJcbiAgICAgICAgICA6a2V5PVwiZm9sZGVyLmlkXCJcclxuICAgICAgICAgIDpwcm9qZWN0LWlkPVwicHJvamVjdElkXCJcclxuICAgICAgICAgIDpmb2xkZXItaWQ9XCJmb2xkZXIuaWRcIlxyXG4gICAgICAgICAgOnRva2Vucz1cInRva2Vuc1wiXHJcbiAgICAgICAgICA6c2VsZWN0ZWQtZm9sZGVyLWlkPVwic2VsZWN0ZWRGb2xkZXJJZFwiXHJcbiAgICAgICAgICBAc2VsZWN0PVwib25Gb2xkZXJDbGlja1wiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2ludGVncmF0aW9ucy9hY2MvRmlsZVNlbGVjdG9yLnZ1ZToxNTo5XCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIFJpZ2h0IFBhbmUgZm9yIGNvbnRlbnQgLS0+XHJcbiAgICA8ZGl2IGNsYXNzPVwidy0zLzQgaC04MCBwLTIgcHQtMCBvdmVyZmxvdy15LWF1dG9cIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9pbnRlZ3JhdGlvbnMvYWNjL0ZpbGVTZWxlY3Rvci52dWU6Mjc6NVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiei0xMCBzdGlja3kgdG9wLTAgYmctZm91bmRhdGlvbiBwYi0xXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaW50ZWdyYXRpb25zL2FjYy9GaWxlU2VsZWN0b3IudnVlOjI4OjdcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJwdC0yIGZvbnQtc2VtaWJvbGQgdGV4dC1sZyB0ZXh0LWNlbnRlclwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2ludGVncmF0aW9ucy9hY2MvRmlsZVNlbGVjdG9yLnZ1ZToyOTo5XCI+RmlsZXM8L2gzPlxyXG4gICAgICAgIDxociBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9pbnRlZ3JhdGlvbnMvYWNjL0ZpbGVTZWxlY3Rvci52dWU6MzA6OVwiIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPEludGVncmF0aW9uc0FjY0ZvbGRlckNvbnRlbnRzXHJcbiAgICAgICAgdi1pZj1cIiEhc2VsZWN0ZWRGb2xkZXJJZFwiXHJcbiAgICAgICAgOmtleT1cImBjb250ZW50cy0ke3NlbGVjdGVkRm9sZGVySWR9YFwiXHJcbiAgICAgICAgOnByb2plY3QtaWQ9XCJwcm9qZWN0SWRcIlxyXG4gICAgICAgIDpmb2xkZXItaWQ9XCJzZWxlY3RlZEZvbGRlcklkXCJcclxuICAgICAgICA6dG9rZW5zPVwidG9rZW5zXCJcclxuICAgICAgICA6c2VsZWN0ZWQtZmlsZS1pZD1cInNlbGVjdGVkRmlsZUlkXCJcclxuICAgICAgICBAc2VsZWN0PVwib25GaWxlU2VsZWN0ZWRcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9pbnRlZ3JhdGlvbnMvYWNjL0ZpbGVTZWxlY3Rvci52dWU6MzM6N1wiXHJcbiAgICAgIC8+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQgc2V0dXAgbGFuZz1cInRzXCI+XHJcbmltcG9ydCB0eXBlIHsgQWNjVG9rZW5zIH0gZnJvbSAnQHNwZWNrbGUvc2hhcmVkL2FjYydcclxuaW1wb3J0IHsgcmVmLCB3YXRjaCB9IGZyb20gJ3Z1ZSdcclxuaW1wb3J0IHsgdXNlQWNjLCB0eXBlIEFjY0l0ZW1WZXJzaW9uIH0gZnJvbSAnfi9saWIvYWNjL2NvbXBvc2FibGVzL3VzZUFjY0ZpbGVzJ1xyXG5pbXBvcnQgeyB1c2VBY2NGb2xkZXIgfSBmcm9tICd+L2xpYi9hY2MvY29tcG9zYWJsZXMvdXNlQWNjRm9sZGVyRGF0YSdcclxuXHJcbmNvbnN0IHByb3BzID0gZGVmaW5lUHJvcHM8e1xyXG4gIGh1YklkOiBzdHJpbmdcclxuICBwcm9qZWN0SWQ6IHN0cmluZ1xyXG4gIHRva2VuczogQWNjVG9rZW5zIHwgdW5kZWZpbmVkXHJcbn0+KClcclxuXHJcbmNvbnN0IGVtaXQgPSBkZWZpbmVFbWl0czx7XHJcbiAgJ2ZpbGUtc2VsZWN0ZWQnOiBbZmlsZUlkOiBzdHJpbmcsIGZpbGVWZXJzaW9uOiBBY2NJdGVtVmVyc2lvbl1cclxufT4oKVxyXG5cclxuY29uc3QgeyBpbml0LCByb290UHJvamVjdEZvbGRlcklkIH0gPSB1c2VBY2MoKVxyXG5cclxuY29uc3Qgcm9vdEZvbGRlciA9IHVzZUFjY0ZvbGRlcihwcm9wcy5wcm9qZWN0SWQsIHJvb3RQcm9qZWN0Rm9sZGVySWQsIHByb3BzLnRva2VucylcclxuY29uc3Qgcm9vdEZvbGRlckNoaWxkcmVuID0gY29tcHV0ZWQoXHJcbiAgKCkgPT5cclxuICAgIHJvb3RGb2xkZXIudmFsdWU/LmNoaWxkcmVuPy5pdGVtcz8uZmlsdGVyKFxyXG4gICAgICAoY2hpbGQpID0+IGNoaWxkLm5hbWUgPT09ICdQcm9qZWN0IEZpbGVzJ1xyXG4gICAgKSA/PyBbXVxyXG4pXHJcblxyXG5jb25zdCBzZWxlY3RlZEZvbGRlcklkID0gcmVmPHN0cmluZyB8IHVuZGVmaW5lZD4oKVxyXG5jb25zdCBzZWxlY3RlZEZpbGVJZCA9IHJlZjxzdHJpbmcgfCB1bmRlZmluZWQ+KClcclxuXHJcbmNvbnN0IG9uRm9sZGVyQ2xpY2sgPSBhc3luYyAoZm9sZGVySWQ6IHN0cmluZykgPT4ge1xyXG4gIHNlbGVjdGVkRm9sZGVySWQudmFsdWUgPSBmb2xkZXJJZFxyXG4gIHNlbGVjdGVkRmlsZUlkLnZhbHVlID0gdW5kZWZpbmVkXHJcbn1cclxuXHJcbmNvbnN0IG9uRmlsZVNlbGVjdGVkID0gKGZpbGVJZDogc3RyaW5nLCBmaWxlVmVyc2lvbjogQWNjSXRlbVZlcnNpb24pID0+IHtcclxuICBzZWxlY3RlZEZpbGVJZC52YWx1ZSA9IGZpbGVJZFxyXG4gIGVtaXQoJ2ZpbGUtc2VsZWN0ZWQnLCBmaWxlSWQsIGZpbGVWZXJzaW9uKVxyXG59XHJcblxyXG4vLyBXYXRjaCBmb3IgY2hhbmdlcyBpbiBwcm9qZWN0SWQgdG8gcmUtaW5pdGlhbGl6ZSB0aGUgZm9sZGVyIHRyZWVcclxud2F0Y2goXHJcbiAgKCkgPT4gcHJvcHMucHJvamVjdElkLFxyXG4gIGFzeW5jIChuZXdQcm9qZWN0SWQpID0+IHtcclxuICAgIHNlbGVjdGVkRm9sZGVySWQudmFsdWUgPSB1bmRlZmluZWRcclxuICAgIHNlbGVjdGVkRmlsZUlkLnZhbHVlID0gdW5kZWZpbmVkXHJcbiAgICBpZiAobmV3UHJvamVjdElkICYmIHByb3BzLnRva2Vucykge1xyXG4gICAgICBhd2FpdCBpbml0KHByb3BzLmh1YklkLCBuZXdQcm9qZWN0SWQsIHByb3BzLnRva2Vucy5hY2Nlc3NfdG9rZW4pXHJcbiAgICB9XHJcbiAgfSxcclxuICB7IGltbWVkaWF0ZTogdHJ1ZSB9XHJcbilcclxuXHJcbndhdGNoKHJvb3RGb2xkZXJDaGlsZHJlbiwgKG5ld1ZhbHVlKSA9PiB7XHJcbiAgc2VsZWN0ZWRGb2xkZXJJZC52YWx1ZSA9IG5ld1ZhbHVlLmF0KDApPy5pZFxyXG59KVxyXG48L3NjcmlwdD5cclxuIl0sImZpbGUiOiJEOi9zcGVja2xlLXNlcnZlci9wYWNrYWdlcy9mcm9udGVuZC0yL2NvbXBvbmVudHMvaW50ZWdyYXRpb25zL2FjYy9GaWxlU2VsZWN0b3IudnVlIn0= |