import { createHotContext as __vite__createHotContext } from "/_nuxt/@vite/client";import.meta.hot = __vite__createHotContext("/components/header/nav/Bar.vue");import { default as __nuxt_component_0 } from "/_nuxt/components/header/WorkspaceSwitcher/WorkspaceSwitcher.vue"; import { default as __nuxt_component_1 } from "/_nuxt/components/header/LogoBlock.vue"; import { default as __nuxt_component_2 } from "/_nuxt/node_modules/nuxt/dist/app/components/client-only.js?v=e4f18c29"; import { default as __nuxt_component_3 } from "/_nuxt/components/header/nav/notifications/Notifications.vue"; import { FormButton as __nuxt_component_4 } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js"; import { default as __nuxt_component_5 } from "/_nuxt/components/header/nav/UserMenu.vue"; import { default as __nuxt_component_6 } from "/_nuxt/components/popups/SignIn.vue"; /* Injection by vite-plugin-vue-inspector Start */ import { createBlock as __createBlock,createElementVNode as __createElementVNode,createVNode as __createVNode,createElementBlock as __createElementBlock } 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 _createBlock(...args) { return _interopVNode(__createBlock(...args)) } function _createElementVNode(...args) { return _interopVNode(__createElementVNode(...args)) } function _createVNode(...args) { return _interopVNode(__createVNode(...args)) } function _createElementBlock(...args) { return _interopVNode(__createElementBlock(...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 { useActiveUser } from "/_nuxt/lib/auth/composables/activeUser.ts"; import { loginRoute } from "/_nuxt/lib/common/helpers/route.ts"; import { useIsWorkspacesEnabled } from "/_nuxt/composables/globals.ts"; import { useRoute, useRouter } from "/_nuxt/node_modules/nuxt/dist/app/composables/router.js?v=e4f18c29"; import { computed } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"; const _sfc_main = /* @__PURE__ */ _defineComponent({ __name: "HeaderNavBar", props: { hideUserNav: { type: Boolean, required: false } }, setup(__props, { expose: __expose }) { __expose(); const isWorkspacesEnabled = useIsWorkspacesEnabled(); const { activeUser, isLoggedIn } = useActiveUser(); const route = useRoute(); const router = useRouter(); const token = computed(() => route.query.token); const loginUrl = computed( () => router.resolve({ path: loginRoute, query: { token: token.value || void 0 } }) ); const __returned__ = { isWorkspacesEnabled, activeUser, isLoggedIn, route, router, token, loginUrl }; Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true }); return __returned__; } }); import { resolveComponent as _resolveComponent, openBlock as _openBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"; const _hoisted_1 = { "data-v-inspector": "components/header/nav/Bar.vue:2:3" }; const _hoisted_2 = { class: "fixed z-40 top-0 h-12 bg-foundation border-b border-outline-2", "data-v-inspector": "components/header/nav/Bar.vue:3:5" }; const _hoisted_3 = { class: "flex gap-4 items-center justify-between h-full w-screen px-2 lg:pl-1.5", "data-v-inspector": "components/header/nav/Bar.vue:4:7" }; const _hoisted_4 = { class: "hidden lg:flex lg:w-52", "data-v-inspector": "components/header/nav/Bar.vue:7:9" }; const _hoisted_5 = { class: "flex items-center truncate", "data-v-inspector": "components/header/nav/Bar.vue:16:9" }; const _hoisted_6 = { class: "flex items-center justify-end gap-2.5 sm:gap-2 lg:w-52", "data-v-inspector": "components/header/nav/Bar.vue:24:9" }; const _hoisted_7 = { key: 1, class: "flex justify-end items-center gap-x-2", "data-v-inspector": "components/header/nav/Bar.vue:30:11" }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_HeaderWorkspaceSwitcher = __nuxt_component_0; const _component_HeaderLogoBlock = __nuxt_component_1; const _component_PortalTarget = _resolveComponent("PortalTarget"); const _component_ClientOnly = __nuxt_component_2; const _component_HeaderNavNotifications = __nuxt_component_3; const _component_FormButton = __nuxt_component_4; const _component_HeaderNavUserMenu = __nuxt_component_5; const _component_PopupsSignIn = __nuxt_component_6; return _openBlock(), _createElementBlock("div", _hoisted_1, [ _createElementVNode("nav", _hoisted_2, [ _createElementVNode("div", _hoisted_3, [ _createElementVNode("div", _hoisted_4, [ $setup.isWorkspacesEnabled && $setup.isLoggedIn ? (_openBlock(), _createBlock(_component_HeaderWorkspaceSwitcher, { key: 0, "data-v-inspector": "components/header/nav/Bar.vue:8:11" })) : (_openBlock(), _createBlock(_component_HeaderLogoBlock, { key: 1, active: false, to: "/", class: "hidden lg:flex lg:min-w-40", "data-v-inspector": "components/header/nav/Bar.vue:9:11" })) ]), _createElementVNode("div", _hoisted_5, [ _createVNode(_component_ClientOnly, { "data-v-inspector": "components/header/nav/Bar.vue:17:11" }, { default: _withCtx(() => [ _createVNode(_component_PortalTarget, { name: "mobile-navigation", "data-v-inspector": "components/header/nav/Bar.vue:18:13" }) ]), _: 1 /* STABLE */ }), _createVNode(_component_ClientOnly, { "data-v-inspector": "components/header/nav/Bar.vue:20:11" }, { default: _withCtx(() => [ _createVNode(_component_PortalTarget, { name: "navigation", "data-v-inspector": "components/header/nav/Bar.vue:21:13" }) ]), _: 1 /* STABLE */ }) ]), _createElementVNode("div", _hoisted_6, [ _createVNode(_component_ClientOnly, { "data-v-inspector": "components/header/nav/Bar.vue:25:11" }, { default: _withCtx(() => [ _createVNode(_component_PortalTarget, { name: "secondary-actions", "data-v-inspector": "components/header/nav/Bar.vue:26:13" }), _createVNode(_component_PortalTarget, { name: "primary-actions", "data-v-inspector": "components/header/nav/Bar.vue:27:13" }) ]), _: 1 /* STABLE */ }), $setup.isLoggedIn ? (_openBlock(), _createBlock(_component_HeaderNavNotifications, { key: 0, "data-v-inspector": "components/header/nav/Bar.vue:29:11" })) : _createCommentVNode("v-if", true), !$props.hideUserNav ? (_openBlock(), _createElementBlock("div", _hoisted_7, [ !$setup.activeUser ? (_openBlock(), _createBlock(_component_FormButton, { key: 0, to: $setup.loginUrl.fullPath, color: "outline", class: "hidden md:flex", "data-v-inspector": "components/header/nav/Bar.vue:31:13" }, { default: _withCtx(() => [..._cache[0] || (_cache[0] = [ _createTextVNode( " Sign in ", -1 /* CACHED */ ) ])]), _: 1 /* STABLE */ }, 8, ["to"])) : _createCommentVNode("v-if", true), _createCommentVNode(" Profile dropdown "), _createVNode(_component_HeaderNavUserMenu, { "login-url": $setup.loginUrl, "data-v-inspector": "components/header/nav/Bar.vue:40:13" }, null, 8, ["login-url"]) ])) : _createCommentVNode("v-if", true) ]) ]) ]), !$setup.activeUser ? (_openBlock(), _createBlock(_component_PopupsSignIn, { key: 0, "data-v-inspector": "components/header/nav/Bar.vue:45:5" })) : _createCommentVNode("v-if", true) ]); } _sfc_main.__hmrId = "0cbfb435"; 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/header/nav/Bar.vue"]]); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnREEsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxrQkFBa0I7Ozs7Ozs7Ozs7OztBQU8zQixVQUFNLHNCQUFzQix1QkFBdUI7QUFDbkQsVUFBTSxFQUFFLFlBQVksV0FBVyxJQUFJLGNBQWM7QUFDakQsVUFBTSxRQUFRLFNBQVM7QUFDdkIsVUFBTSxTQUFTLFVBQVU7QUFFekIsVUFBTSxRQUFRLFNBQVMsTUFBTSxNQUFNLE1BQU0sS0FBeUI7QUFFbEUsVUFBTSxXQUFXO0FBQUEsTUFBUyxNQUN4QixPQUFPLFFBQVE7QUFBQSxRQUNiLE1BQU07QUFBQSxRQUNOLE9BQU87QUFBQSxVQUNMLE9BQU8sTUFBTSxTQUFTO0FBQUEsUUFDeEI7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIOzs7Ozs7O3FCQXJFTyxvQkFBaUIsb0NBQW1DOztFQUNsRCxPQUFNO0FBQUEsRUFBZ0Usb0JBQWlCOzs7RUFFeEYsT0FBTTtBQUFBLEVBQXlFLG9CQUFpQjs7O0VBRTNGLE9BQU07QUFBQSxFQUF5QixvQkFBaUI7OztFQVNoRCxPQUFNO0FBQUEsRUFBNkIsb0JBQWlCOzs7RUFRcEQsT0FBTTtBQUFBLEVBQXlELG9CQUFpQjs7OztFQU0xRCxPQUFNO0FBQUEsRUFBd0Msb0JBQWlCOzs7Ozs7Ozs7Ozt1QkE1QmhHLG9CQTRDTSxPQTVDTixZQTRDTTtBQUFBLElBM0NKLG9CQXlDTSxPQXpDTixZQXlDTTtBQUFBLE1BeENKLG9CQXVDTSxPQXZDTixZQXVDTTtBQUFBLFFBcENKLG9CQVFNLE9BUk4sWUFRTTtBQUFBLFVBUDJCLDhCQUF1QixtQ0FBdEQsYUFBMEg7QUFBQTtZQUF4RCxvQkFBaUI7QUFBQSwrQkFDbkYsYUFLRTtBQUFBO1lBSEMsUUFBUTtBQUFBLFlBQ1QsSUFBRztBQUFBLFlBQ0gsT0FBTTtBQUFBLFlBQTZCLG9CQUFpQjtBQUFBOztRQUd4RCxvQkFPTSxPQVBOLFlBT007QUFBQSxVQU5KLGFBRWEseUJBRkQsb0JBQWlCLHNDQUFxQztBQUFBLDhCQUNoRSxNQUE2RztBQUFBLGNBQTdHLGFBQTZHO0FBQUEsZ0JBQS9GLE1BQUs7QUFBQSxnQkFBb0Isb0JBQWlCO0FBQUE7Ozs7O1VBRTFELGFBRWEseUJBRkQsb0JBQWlCLHNDQUFxQztBQUFBLDhCQUNoRSxNQUFzRztBQUFBLGNBQXRHLGFBQXNHO0FBQUEsZ0JBQXhGLE1BQUs7QUFBQSxnQkFBYSxvQkFBaUI7QUFBQTs7Ozs7O1FBR3JELG9CQWtCTSxPQWxCTixZQWtCTTtBQUFBLFVBakJKLGFBR2EseUJBSEQsb0JBQWlCLHNDQUFxQztBQUFBLDhCQUNoRSxNQUE2RztBQUFBLGNBQTdHLGFBQTZHO0FBQUEsZ0JBQS9GLE1BQUs7QUFBQSxnQkFBb0Isb0JBQWlCO0FBQUE7Y0FDeEQsYUFBMkc7QUFBQSxnQkFBN0YsTUFBSztBQUFBLGdCQUFrQixvQkFBaUI7QUFBQTs7Ozs7VUFFMUIsbUNBQTlCLGFBQW1HO0FBQUE7WUFBekQsb0JBQWlCO0FBQUE7V0FDL0Msb0NBQVosb0JBV00sT0FYTixZQVdNO0FBQUEsYUFUSyxtQ0FEVCxhQU9hO0FBQUE7Y0FMVixJQUFJLGdCQUFTO0FBQUEsY0FDZCxPQUFNO0FBQUEsY0FDTixPQUFNO0FBQUEsY0FBaUIsb0JBQWlCO0FBQUE7Z0NBQ3pDLE1BRUQ7QUFBQTtrQkFGQztBQUFBLGtCQUVEO0FBQUE7QUFBQTtBQUFBOzs7O1lBQ0E7QUFBQSxZQUNBLGFBQWtHO0FBQUEsY0FBOUUsYUFBVztBQUFBLGNBQVUsb0JBQWlCO0FBQUE7Ozs7O0tBSzdDLG1DQUFyQixhQUF5RjtBQUFBO01BQXhELG9CQUFpQjtBQUFBIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJCYXIudnVlIl0sInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToyOjNcIj5cclxuICAgIDxuYXYgY2xhc3M9XCJmaXhlZCB6LTQwIHRvcC0wIGgtMTIgYmctZm91bmRhdGlvbiBib3JkZXItYiBib3JkZXItb3V0bGluZS0yXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjM6NVwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC00IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC1mdWxsIHctc2NyZWVuIHB4LTIgbGc6cGwtMS41XCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjQ6N1wiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIGxnOmZsZXggbGc6dy01MlwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZTo3OjlcIj5cclxuICAgICAgICAgIDxIZWFkZXJXb3Jrc3BhY2VTd2l0Y2hlciB2LWlmPVwiaXNXb3Jrc3BhY2VzRW5hYmxlZCAmJiBpc0xvZ2dlZEluXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjg6MTFcIiAvPlxyXG4gICAgICAgICAgPEhlYWRlckxvZ29CbG9ja1xyXG4gICAgICAgICAgICB2LWVsc2VcclxuICAgICAgICAgICAgOmFjdGl2ZT1cImZhbHNlXCJcclxuICAgICAgICAgICAgdG89XCIvXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW4gbGc6ZmxleCBsZzptaW4tdy00MFwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZTo5OjExXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHRydW5jYXRlXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjE2OjlcIj5cclxuICAgICAgICAgIDxDbGllbnRPbmx5IGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToxNzoxMVwiPlxyXG4gICAgICAgICAgICA8UG9ydGFsVGFyZ2V0IG5hbWU9XCJtb2JpbGUtbmF2aWdhdGlvblwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToxODoxM1wiPjwvUG9ydGFsVGFyZ2V0PlxyXG4gICAgICAgICAgPC9DbGllbnRPbmx5PlxyXG4gICAgICAgICAgPENsaWVudE9ubHkgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjIwOjExXCI+XHJcbiAgICAgICAgICAgIDxQb3J0YWxUYXJnZXQgbmFtZT1cIm5hdmlnYXRpb25cIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L0Jhci52dWU6MjE6MTNcIj48L1BvcnRhbFRhcmdldD5cclxuICAgICAgICAgIDwvQ2xpZW50T25seT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1lbmQgZ2FwLTIuNSBzbTpnYXAtMiBsZzp3LTUyXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjI0OjlcIj5cclxuICAgICAgICAgIDxDbGllbnRPbmx5IGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToyNToxMVwiPlxyXG4gICAgICAgICAgICA8UG9ydGFsVGFyZ2V0IG5hbWU9XCJzZWNvbmRhcnktYWN0aW9uc1wiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToyNjoxM1wiPjwvUG9ydGFsVGFyZ2V0PlxyXG4gICAgICAgICAgICA8UG9ydGFsVGFyZ2V0IG5hbWU9XCJwcmltYXJ5LWFjdGlvbnNcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L0Jhci52dWU6Mjc6MTNcIj48L1BvcnRhbFRhcmdldD5cclxuICAgICAgICAgIDwvQ2xpZW50T25seT5cclxuICAgICAgICAgIDxIZWFkZXJOYXZOb3RpZmljYXRpb25zIHYtaWY9XCJpc0xvZ2dlZEluXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjI5OjExXCIgLz5cclxuICAgICAgICAgIDxkaXYgdi1pZj1cIiFoaWRlVXNlck5hdlwiIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLXgtMlwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZTozMDoxMVwiPlxyXG4gICAgICAgICAgICA8Rm9ybUJ1dHRvblxyXG4gICAgICAgICAgICAgIHYtaWY9XCIhYWN0aXZlVXNlclwiXHJcbiAgICAgICAgICAgICAgOnRvPVwibG9naW5VcmwuZnVsbFBhdGhcIlxyXG4gICAgICAgICAgICAgIGNvbG9yPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW4gbWQ6ZmxleFwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZTozMToxM1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICBTaWduIGluXHJcbiAgICAgICAgICAgIDwvRm9ybUJ1dHRvbj5cclxuICAgICAgICAgICAgPCEtLSBQcm9maWxlIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICA8SGVhZGVyTmF2VXNlck1lbnUgOmxvZ2luLXVybD1cImxvZ2luVXJsXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjQwOjEzXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmF2PlxyXG4gICAgPFBvcHVwc1NpZ25JbiB2LWlmPVwiIWFjdGl2ZVVzZXJcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L0Jhci52dWU6NDU6NVwiIC8+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQgc2V0dXAgbGFuZz1cInRzXCI+XHJcbmltcG9ydCB7IHVzZUFjdGl2ZVVzZXIgfSBmcm9tICd+fi9saWIvYXV0aC9jb21wb3NhYmxlcy9hY3RpdmVVc2VyJ1xyXG5pbXBvcnQgeyBsb2dpblJvdXRlIH0gZnJvbSAnfn4vbGliL2NvbW1vbi9oZWxwZXJzL3JvdXRlJ1xyXG5pbXBvcnQgdHlwZSB7IE9wdGlvbmFsIH0gZnJvbSAnQHNwZWNrbGUvc2hhcmVkJ1xyXG5cclxuZGVmaW5lUHJvcHM8e1xyXG4gIGhpZGVVc2VyTmF2PzogYm9vbGVhblxyXG59PigpXHJcblxyXG5jb25zdCBpc1dvcmtzcGFjZXNFbmFibGVkID0gdXNlSXNXb3Jrc3BhY2VzRW5hYmxlZCgpXHJcbmNvbnN0IHsgYWN0aXZlVXNlciwgaXNMb2dnZWRJbiB9ID0gdXNlQWN0aXZlVXNlcigpXHJcbmNvbnN0IHJvdXRlID0gdXNlUm91dGUoKVxyXG5jb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxyXG5cclxuY29uc3QgdG9rZW4gPSBjb21wdXRlZCgoKSA9PiByb3V0ZS5xdWVyeS50b2tlbiBhcyBPcHRpb25hbDxzdHJpbmc+KVxyXG5cclxuY29uc3QgbG9naW5VcmwgPSBjb21wdXRlZCgoKSA9PlxyXG4gIHJvdXRlci5yZXNvbHZlKHtcclxuICAgIHBhdGg6IGxvZ2luUm91dGUsXHJcbiAgICBxdWVyeToge1xyXG4gICAgICB0b2tlbjogdG9rZW4udmFsdWUgfHwgdW5kZWZpbmVkXHJcbiAgICB9XHJcbiAgfSlcclxuKVxyXG48L3NjcmlwdD5cclxuIl0sImZpbGUiOiJEOi9zcGVja2xlLXNlcnZlci9wYWNrYWdlcy9mcm9udGVuZC0yL2NvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlIn0=